В этой статье
Что такое HTTP-заголовки безопасности?
HTTP-заголовки безопасности — это заголовки ответа, указывающие браузерам, как обрабатывать контент вашего сайта. Они формируют критический уровень защиты от атак XSS, кликджекинга и даунгрейда протокола.
Это часть HTTP-ответа сервера. Они ничего не стоят, не требуют изменений кода и защищают всех посетителей. OWASP рекомендует их для каждого продакшн-сайта.
Как работают HTTP-заголовки безопасности
Каждый заголовок контролирует определённый аспект поведения браузера, создавая множество уровней защиты.
- Content-Security-Policy (CSP) — определяет доверенные источники скриптов, стилей и изображений, предотвращая XSS
- Strict-Transport-Security (HSTS) — принуждает браузеры использовать HTTPS, предотвращая атаки даунгрейда
- X-Frame-Options и X-Content-Type-Options — предотвращают кликджекинг и MIME-сниффинг
Попробуйте бесплатно — без регистрации
Сгенерировать заголовки безопасности →Когда настраивать заголовки безопасности
Заголовки безопасности должны быть настроены на каждом продакшн-сайте.
- Предотвращение XSS-атак — CSP — наиболее эффективная защита на уровне браузера
- Принудительный HTTPS — HSTS с preload гарантирует HTTPS даже при первом посещении
- Требования соответствия — PCI DSS, SOC 2 и HIPAA требуют заголовки безопасности
Часто задаваемые вопросы
Что такое режим report-only CSP?
Content-Security-Policy-Report-Only отправляет отчёты о нарушениях без блокировки ресурсов. Позволяет тестировать новую политику CSP в продакшне.
Как работает HSTS preload?
HSTS preload — это список производителей браузеров, принудительно использующий HTTPS для указанных доменов. Требования: HSTS-заголовок с max-age минимум год, includeSubDomains и директива preload.
Как проверить мои заголовки безопасности?
Используйте инструменты securityheaders.com или Mozilla Observatory. Также можно проверить заголовки в DevTools браузера на вкладке Network.