Главная Статьи Оптимизация

Заголовки безопасности сайта: HSTS, CSP и другие

Заголовки безопасности — это служебные HTTP-заголовки, которые сервер отдаёт вместе со страницей и которые защищают посетителей от части атак. Их наличие — признак ухоженного сайта и сигнал доверия для поисковиков. Разберём главные заголовки простым языком и как их добавить.

Что это и зачем

Когда браузер открывает страницу, сервер вместе с HTML присылает набор HTTP-заголовков. Часть из них управляет безопасностью: запрещают встраивать сайт в чужой фрейм, заставляют использовать HTTPS, ограничивают, какие скрипты можно выполнять. Они не заменяют защиту на стороне сервера, но закрывают целый класс клиентских атак (XSS, кликджекинг, перехват соединения) и поднимают общий уровень доверия к сайту.

Главные заголовки

Strict-Transport-Security (HSTS)
Заставляет браузер всегда открывать сайт по HTTPS, даже если ввели http. Защита от подмены соединения. Требует рабочего SSL.
Content-Security-Policy (CSP)
Ограничивает, откуда можно грузить скрипты, стили и ресурсы. Главная защита от XSS. Самый мощный, но требует аккуратной настройки.
X-Frame-Options
Запрещает встраивать ваш сайт в iframe на чужих ресурсах — защита от кликджекинга (обмана кликами).
X-Content-Type-Options
Значение nosniff запрещает браузеру «угадывать» тип файла — защита от подмены контента.
Referrer-Policy
Управляет тем, какой адрес страницы передаётся при переходах по ссылкам — приватность пользователей.
Permissions-Policy
Ограничивает доступ страницы к камере, микрофону, геолокации и другим возможностям браузера.

Как добавить

Заголовки настраиваются на сервере. Для Apache — в .htaccess:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Referrer-Policy "strict-origin-when-cross-origin"

Для nginx (внутри блока server) — директива add_header:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always;
🛠
Проверить, какие заголовки уже отдаёт ваш сайт, и что добавить, поможет проверка заголовков безопасности. Сгенерировать строки для сервера — генератор .htaccess и конвертер в nginx.

С чего начать

Не обязательно внедрять всё сразу. Безопасный порядок: сначала HSTS (если сайт уже на HTTPS), X-Frame-Options и X-Content-Type-Options — они почти не ломают сайт. Content-Security-Policy добавляйте последним и осторожно: слишком строгая политика может заблокировать ваши же скрипты и аналитику. Сначала протестируйте CSP в режиме Report-Only.

🔒
HSTS не имеет смысла без рабочего HTTPS — проверьте сертификат в проверке SSL, а зачем сайту HTTPS — в статье SSL и HTTPS. Полный технический разбор сайта — анализ сайта.

Влияют ли на SEO

Напрямую заголовки безопасности — не фактор ранжирования, но они работают на него косвенно: повышают доверие и безопасность (часть E-E-A-T), а HSTS закрепляет HTTPS, который фактором уже является. Современные SEO-аудиты (в том числе наш анализатор) проверяют эти заголовки, и их наличие отличает профессионально сделанный сайт.

Коротко

Заголовки безопасности защищают посетителей от XSS, кликджекинга и перехвата соединения. Главные: HSTS (всегда HTTPS), CSP (ограничение скриптов), X-Frame-Options (запрет фреймов), X-Content-Type-Options (nosniff), Referrer-Policy и Permissions-Policy. Настраиваются в .htaccess или nginx. Начните с простых (HSTS, X-Frame-Options, nosniff), CSP добавляйте осторожно. На SEO влияют косвенно — через доверие и HTTPS.

Частые вопросы

Что такое заголовки безопасности сайта?
Это служебные HTTP-заголовки, которые сервер присылает вместе со страницей и которые указывают браузеру, как защищать пользователя: всегда использовать HTTPS, не встраивать сайт в чужой фрейм, ограничивать выполнение скриптов и т. д. Защищают от XSS, кликджекинга и перехвата соединения.
Какие заголовки безопасности самые важные?
HSTS (Strict-Transport-Security) — всегда HTTPS; Content-Security-Policy — ограничение скриптов (защита от XSS); X-Frame-Options — запрет встраивания в iframe; X-Content-Type-Options: nosniff. Дополнительно — Referrer-Policy и Permissions-Policy.
Как добавить заголовки безопасности?
Они настраиваются на сервере: в Apache — директивой Header set в .htaccess, в nginx — add_header внутри блока server. Сгенерировать нужные строки помогают генератор .htaccess и конвертер в nginx.
С какого заголовка начать?
С простых, которые почти не ломают сайт: HSTS (если уже на HTTPS), X-Frame-Options и X-Content-Type-Options. Content-Security-Policy внедряйте последним и осторожно — сначала в режиме Report-Only, чтобы не заблокировать собственные скрипты и аналитику.
Влияют ли заголовки безопасности на позиции?
Напрямую — нет, это не фактор ранжирования. Но косвенно они помогают: повышают доверие и безопасность (часть E-E-A-T), а HSTS закрепляет HTTPS, который уже является фактором. SEO-аудиты проверяют эти заголовки.