Проверка заголовков безопасности
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.
Как добавить заголовки
- Начните с безопасных: HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy. Они почти никогда ничего не ломают.
- В nginx это директивы add_header в блоке server, в Apache строки Header set в конфиге или .htaccess. На большинстве хостингов .htaccess доступен из файлового менеджера.
- CSP включайте последней и сначала в режиме Content-Security-Policy-Report-Only: он ничего не блокирует, а только показывает в консоли браузера, что было бы заблокировано.
- После правок повторите проверку и откройте сайт в браузере: все картинки, шрифты и скрипты должны грузиться.
Связанные проверки
Заголовки защищают посетителя, но не проверяют, что сайт уже не взломан. Для этого в 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 с версиями подсказывают злоумышленнику, какие уязвимости пробовать. Их лучше скрыть.