Проверка заголовков безопасности

HSTS, Content-Security-Policy, X-Frame-Options и другие security-заголовки, плюс раскрытие версий сервера. Показываем, чего не хватает.

Что проверяет инструмент

Мы запрашиваем страницу и смотрим не на содержимое, а на HTTP-заголовки, которые сервер отдаёт вместе с ней. Шесть из них отвечают за безопасность посетителей: они говорят браузеру, что можно и что нельзя делать с вашим сайтом. Заодно проверяем, не раскрывает ли сервер лишнее о себе.

Что означает каждый заголовок

  • Strict-Transport-Security (HSTS) — браузер запоминает, что сайт работает только по https, и больше никогда не ходит по http. Защищает от перехвата в открытых Wi-Fi.
  • Content-Security-Policy (CSP) — список источников, откуда разрешено грузить скрипты, стили и картинки. Главная защита от внедрённого чужого кода. Настраивать нужно аккуратно: слишком строгая политика ломает сайт.
  • X-Frame-Options — запрещает показывать сайт во фрейме на чужих страницах. Защита от кликджекинга, когда поверх вашей кнопки кладут невидимую чужую.
  • X-Content-Type-Options: nosniff — запрещает браузеру «угадывать» тип файла. Без него картинку могут выполнить как скрипт.
  • Referrer-Policy — сколько информации о вашей странице уходит другим сайтам при переходе по ссылке.
  • Permissions-Policy — какие возможности браузера доступны странице: камера, микрофон, геолокация.
  • Server и X-Powered-By — если здесь видно «Apache/2.4.41» или «PHP/7.4.3», сервер сам сообщает злоумышленнику, под какие уязвимости его проверять. Версии лучше скрыть.

Как читать результат

Четыре и больше заголовка из шести — хороший уровень для обычного сайта. Два и меньше — сервер отдаёт страницы «как есть», без защиты. Отсутствие HSTS и nosniff при этом важнее, чем отсутствие Permissions-Policy.

Как добавить заголовки

  1. Начните с безопасных: HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy. Они почти никогда ничего не ломают.
  2. В nginx это директивы add_header в блоке server, в Apache строки Header set в конфиге или .htaccess. На большинстве хостингов .htaccess доступен из файлового менеджера.
  3. CSP включайте последней и сначала в режиме Content-Security-Policy-Report-Only: он ничего не блокирует, а только показывает в консоли браузера, что было бы заблокировано.
  4. После правок повторите проверку и откройте сайт в браузере: все картинки, шрифты и скрипты должны грузиться.

Связанные проверки

Заголовки защищают посетителя, но не проверяют, что сайт уже не взломан. Для этого в SiteFalcon есть агент безопасности, который ищет бэкдоры, чужие PHP-файлы в папках загрузок и изменения ключевых файлов. А SSL-проверка покажет, работает ли https, на который опирается HSTS.

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

Как проверить заголовки безопасности сайта?

Введите адрес — покажем наличие HSTS, Content-Security-Policy, X-Frame-Options и других заголовков, а также раскрытие версий сервера.

Какие заголовки безопасности важны?

HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy и Permissions-Policy — они защищают от популярных атак.

Что такое HSTS?

HSTS заставляет браузер всегда открывать сайт по https, даже если ввели http, и защищает от подмены соединения.

Зачем нужен Content-Security-Policy (CSP)?

CSP ограничивает, откуда грузятся скрипты и стили, и сильно снижает риск XSS-атак — внедрения чужого кода на страницу.

Опасно ли раскрывать версию сервера?

Заголовки Server и X-Powered-By с версиями подсказывают злоумышленнику, какие уязвимости пробовать. Их лучше скрыть.

Проверять это постоянно?Заведите сайт в SiteFalcon — мы будем следить за ним 24/7 и предупредим о проблеме.
Начать бесплатно