01Безопасность
Content Security Policy и security headers
CSP, HSTS, X-Frame, Permissions-Policy — закрыть основные классы атак за один проход.
Настрой security headers для {{site_url}}.
Минимальный набор
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://js.stripe.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self' https://api.example.com; frame-ancestors 'none'
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
Шаги
1. CSP — самый сложный
- Запусти сначала в
Content-Security-Policy-Report-Onlyрежиме - Собирай нарушения через
report-uri - Постепенно ужесточай
- НЕ используй
unsafe-eval.unsafe-inline— только для критичных кейсов
2. HSTS
max-age≥ 1 годincludeSubDomainsесли все поддомены HTTPSpreload— только когда полностью готов (не откатишь)
3. X-Frame-Options / frame-ancestors
DENYесли iframe не нуженSAMEORIGINесли используется внутри своего сайта
4. Permissions-Policy
- Запрети всё что не используешь
- Камера / микрофон / геолокация / payment
Проверка
- securityheaders.com — оценка
- observatory.mozilla.org — углублённый анализ
- CSP Evaluator от Google
Анти-паттерны
- ❌ CSP с
*— бесполезно - ❌ Включить и забыть про reports
- ❌
unsafe-evalв продакшене
Похожие промты
site / security
Управление секретами
Где хранить, как ротировать, как обнаружить утечку.
securitysecrets
Открыть
Средний30-60 мин
site / security
Аутентификация и rate limiting
Защита логина, реги, восстановления пароля от brute force.
securityauthrate-limit
Открыть
Продвинутый30-60 мин
site / security
Дизайн 2FA
TOTP / SMS / passkey: enrollment UX, recovery codes, lost-device flow, обязательность по ролям.
security2faauth
Открыть
Продвинутый1-2 часа