Инфраструктура

Заголовки безопасности HTTP

Краткое определение

Заголовки безопасности HTTP это небольшие инструкции сервера браузеру, которые заранее блокируют определённые виды атак.

При загрузке страницы сервер отправляет вместе с содержимым набор невидимых заголовков. Заголовки безопасности HTTP это та их часть, которая говорит браузеру, что не следует разрешать на этой странице.

Content-Security-Policy блокирует выполнение вредоносных скриптов, Strict-Transport-Security не даёт соединению откатиться на незашифрованное, X-Frame-Options не позволяет незаметно встроить сайт в другую страницу. Каждый заголовок закрывает свой тип атаки.

SSL-сертификат шифрует данные, но без этих заголовков через поведение браузера остаются открытыми другие двери, они дополняют друг друга, ни один не заменяет другой.

Проверить, какие заголовки безопасности реально отправляет страница, можно без изменения кода, открыв инструменты разработчика в браузере, перейдя на вкладку Сеть и посмотрев заголовки ответа любого запроса. Это быстрый способ проверки, не требующий глубоких технических знаний, если нужный заголовок там ни разу не появляется, значит на сервере он просто не задан.

Почему это важно

Отсутствие заголовков безопасности даёт злоумышленникам возможность внедрить код или подделать сайт, и это обычно остаётся незамеченным месяцами. Правильно настроенные заголовки закрывают эти двери без дополнительных затрат на сервер.

Условный пример

Платёжный провайдер обнаружил при аудите безопасности, что заголовок Content-Security-Policy никогда не был задан, его добавление заняло час и полностью изменило результат аудита.

Связанные термины

Статья по теме

Если не знаете, с чего начать, — вы там, где нужно.

Проект в вашей голове может быть уже чётким или пока в виде идеи. Подходит и то, и другое. Коротким разговором обсудим вместе, где вы сейчас и куда можете прийти.

Запланируем встречу
Обсудить проект