Security Headers: полный гид по настройке в 2025 году
Зачем нужны Security Headers
HTTP Security Headers — это инструкции, которые сервер отправляет браузеру для усиления защиты веб-приложения. Они не требуют изменений в коде и работают на уровне веб-сервера, что делает их одним из самых эффективных и простых методов защиты.
Правильно настроенные заголовки могут предотвратить XSS, clickjacking, MITM-атаки, сниффинг MIME-типов и многие другие угрозы. При этом они практически не влияют на производительность.
Топ-5 обязательных заголовков
Content-Security-Policy (CSP) — самый мощный заголовок. Он определяет, откуда браузер может загружать скрипты, стили, изображения и другие ресурсы. Начните с директивы default-src 'self' и постепенно расширяйте.
Strict-Transport-Security (HSTS) — заставляет браузер всегда использовать HTTPS для вашего домена. Настройте max-age не менее 31536000 секунд (1 год) и добавьте includeSubDomains.
X-Frame-Options или frame-ancestors в CSP — предотвращает встраивание вашего сайта во фреймы на сторонних ресурсах, блокируя clickjacking. Значение DENY или SAMEORIGIN.
X-Content-Type-Options: nosniff — запрещает браузеру угадывать MIME-тип содержимого. Это защищает от атак, основанных на сниффинге MIME-типов.
Referrer-Policy — контролирует, какую информацию о реферере отправлять при переходах со страниц вашего сайта. Рекомендуется strict-origin-when-cross-origin.