Проверка security-заголовков сайта
Security-заголовки защищают посетителей от кликджекинга, перехвата трафика и других атак. Введите адрес сайта и получите оценку от A+ до F с объяснением, чего не хватает.
Какие заголовки безопасности проверяются
Проверка запрашивает страницу и читает шесть заголовков HTTP-ответа, которыми браузеры защищают посетителей: Strict-Transport-Security (принудительный HTTPS), Content-Security-Policy (ограничивает, откуда можно загружать скрипты и другие ресурсы), X-Frame-Options или директива CSP frame-ancestors (не дает встроить сайт во фрейм для кликджекинга), X-Content-Type-Options (не дает браузеру угадывать тип файла), Referrer-Policy (управляет тем, какой адрес передается другим сайтам) и Permissions-Policy (ограничивает доступ к камере, микрофону, геолокации и похожим функциям).
Оценка считает, сколько из них есть: все шесть дают A+, пять дают A, четыре дают B и так далее до F. В результате также виден полный текст CSP с директивами и детали HSTS: max-age, includeSubDomains и подходит ли сайт под требования списка preload.
Как читать оценку
- A+ или A: основа настроена. Дальше стоит посмотреть саму CSP, потому что политика, которая разрешает все, тоже считается присутствующей.
- B или C: не хватает от одного до трех заголовков; каждая подсказка под результатом объясняет, что делает отсутствующий заголовок.
- От D до F: сервер почти не отправляет защитных заголовков. В Apache большинство из них добавляются несколькими строками в .htaccess.
- Подходит для HSTS preload: есть max-age не меньше года, includeSubDomains и флаг preload.
Подробнее по теме
- Как добавить заголовки безопасности в .htaccess, на английском
- Что такое Content-Security-Policy, на английском
- Что такое HSTS, на английском
- Refused to display во фрейме: X-Frame-Options, на английском
- Заявку в HSTS preload отклонили, на английском
Частые вопросы
- Могут ли заголовки сломать сайт?
- HSTS и CSP могут. HSTS заставляет браузеры пользоваться только HTTPS на весь срок max-age, поэтому сначала убедитесь, что каждый поддомен работает по HTTPS. Строгая CSP блокирует скрипты, которых нет в ее списке, поэтому начните с Content-Security-Policy-Report-Only и ужесточайте постепенно.
- Проверяет ли оценка, что моя CSP хорошая?
- Нет, оценка считает присутствующие заголовки. Полный текст CSP показан, чтобы вы могли его просмотреть, а достаточно ли строгая политика, решать вам.
- Почему на другой странице другая оценка?
- Заголовки могут отличаться в зависимости от пути или типа файла, особенно когда их ставит приложение, а не веб-сервер. Проверка тестирует именно тот адрес, который вы ввели.