Skip to content
PПромтбук
RUEN
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 если все поддомены HTTPS
  • preload — только когда полностью готов (не откатишь)

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 в продакшене
К подразделу «Безопасность»
Похожие промты