через сервер
Security-заголовки
Отчёт с оценкой по HSTS, CSP, защите от кликджекинга, флагам cookies и раскрытию версий.
мы отправляем один GET-запрос с нашего сервера и читаем только заголовки ответа
Введите URL выше, чтобы получить его заголовки.
Как формируется оценка
Тот же анонимный запрос, что и у инспектора заголовков, с оценкой по девяти проверкам: HTTPS, HSTS, Content-Security-Policy, защита от кликджекинга, MIME-сниффинг, Referrer-Policy, Permissions-Policy, флаги cookie и раскрытие версий. Любой провал ограничивает оценку сверху: одна открытая дверь обесценивает запертые.
Правила соответствуют тому, что браузеры действительно применяют сегодня, а не чеклисту десятилетней давности. CSP frame-ancestors имеет приоритет над X-Frame-Options, а unsafe-inline рядом с nonce допускается, поскольку современные браузеры его игнорируют.
Я выставил все заголовки, но оценка не A. Почему?
Наличие не равно эффекту. HSTS с max-age в две минуты, CSP, разрешающий unsafe-eval, или X-Frame-Options со значением, которое браузеры перестали учитывать, считаются присутствующими и всё равно оставляют дыру. В строке каждой проверки написано, что именно не так.
Какой заголовок добавлять первым?
В таком порядке: HTTPS везде, затем HSTS, затем frame-ancestors, затем Content-Security-Policy. Первые три — правки в одну строку на сервере без влияния на приложение. CSP требует реальной работы, поэтому идёт последним.
Строгий CSP не сломает сайт?
Может, поэтому начинают с Content-Security-Policy-Report-Only: нарушения приходят отчётами, но ничего не блокируется. Когда отчёты затихают, ту же политику переносят в применяющий заголовок. Инструмент показывает, какой из двух вы сейчас отдаёте.
Почему заголовок Server помечается не всегда?
Голое название продукта почти ничего не даёт атакующему. Номер версии сообщает ему, какие эксплойты пробовать. Проверка помечает версию, а не баннер.
Смежные инструменты: CSP-анализатор, HTTP-заголовки и Аудит SSL / TLS.