Аудит защитных HTTP-заголовков
Проверьте CSP, HSTS, защиту от встраивания, cookies, политики браузера и межсайтовую изоляцию.
Не удалось проверить заголовки безопасности
Оценка ещё не рассчитана
—- Пройдено
- 0
- Внимание
- 0
- Не пройдено
- 0
- HTTP-ответ
- —
- Протокол
- —
- IP сервера
- —
- HTTPS
- —
- Критичных замечаний
- 0
- Всего HTTP-заголовков
- 0
Результаты по заголовкам
Фильтруйте проверки по состоянию или найдите нужную политику по названию.
По выбранному фильтру проверок нет.
Что исправить в первую очередь
Список сформирован из отсутствующих или недостаточно строгих политик.
История проверок
Последние результаты хранятся только в памяти текущей вкладки.
| Адрес | Оценка | Баллы | Замечания | Время | Повторить |
|---|---|---|---|---|---|
|
Проверено:
URL отправляется на сервер Terabita.by. Проверяются только публичные HTTP/HTTPS-адреса на портах 80 и 443; тело страницы, пароли и значения cookies не сохраняются.
Об инструменте
Инструмент проверяет защитные HTTP-заголовки публичного сайта, рассчитывает понятную оценку, объясняет каждую политику и формирует приоритетные рекомендации. Анализируются CSP, HSTS, защита от встраивания, MIME-sniffing, Referer, браузерные API, cookies и межсайтовая изоляция.
Как пользоваться
- Введите полный URL сайта или домен — HTTPS будет выбран автоматически.
- Нажмите «Проверить защиту» и дождитесь анализа HEAD-ответа.
- Изучите итоговую оценку, критичные замечания и подробности каждой политики.
- Исправьте рекомендации с высоким приоритетом и повторите проверку.
- При необходимости скопируйте отчёт или скачайте JSON/CSV.
Примеры
- https://example.com — базовая проверка публичной страницы.
- https://github.com — пример сайта с несколькими защитными политиками.
- https://www.cloudflare.com — анализ ответа сайта за CDN.
Как настроить защитные HTTP-заголовки сайта
Защитные HTTP-заголовки сообщают браузеру, как обращаться со страницей, внешними ресурсами, cookies и доступом к возможностям устройства. Они уменьшают последствия XSS, clickjacking, MIME-sniffing, утечки Referer и некоторых межсайтовых атак, но работают только как один слой защиты.
Как рассчитывается оценка
Баллы начисляются за базовые политики, которые подходят большинству публичных сайтов: Content-Security-Policy, HSTS, X-Content-Type-Options, защиту от встраивания, Referrer-Policy, Permissions-Policy и безопасные атрибуты cookies. Межсайтовая изоляция показывается отдельно и не снижает оценку, потому что COOP, COEP и CORP нужны не каждому проекту и могут нарушить работу внешних виджетов.
Content-Security-Policy
CSP ограничивает источники скриптов, стилей, изображений, шрифтов, фреймов и сетевых запросов. Начинайте с режима Content-Security-Policy-Report-Only, собирайте нарушения, затем включайте обязательную политику. По возможности используйте nonce или хеши вместо unsafe-inline и избегайте unsafe-eval и широкого источника *.
Strict-Transport-Security
HSTS заставляет браузер обращаться к домену только по HTTPS после первого защищённого ответа. Заголовок действует лишь в HTTPS-ответе. Увеличивайте max-age постепенно и добавляйте includeSubDomains только после проверки сертификатов и HTTPS на всех поддоменах. Preload требует отдельной осторожности, потому что отмена занимает время.
Защита от clickjacking
Директива frame-ancestors в CSP определяет, какие сайты могут встраивать страницу во frame. Устаревающий X-Frame-Options остаётся полезным для совместимости и обычно принимает DENY или SAMEORIGIN. Если приложение специально работает внутри чужого iframe, перечислите доверенные источники вместо полного запрета.
X-Content-Type-Options
Значение nosniff запрещает браузеру угадывать тип ресурса вопреки Content-Type. Это особенно важно для скриптов и стилей. Сервер при этом должен отправлять корректный MIME-тип каждого файла, иначе браузер может отказать в его загрузке.
Referrer-Policy
Referrer-Policy управляет адресом исходной страницы, который передаётся при переходах и загрузке внешних ресурсов. Для большинства сайтов подходит strict-origin-when-cross-origin: внутри сайта браузер передаёт полный адрес, а внешнему домену — только источник без пути и параметров.
Permissions-Policy
Permissions-Policy ограничивает камеру, микрофон, геолокацию, полноэкранный режим и другие API браузера для самой страницы и вложенных фреймов. Отключайте неиспользуемые возможности пустым списком, например camera=(), и разрешайте доступ только доверенным источникам.
Secure, HttpOnly и SameSite для cookies
Secure передаёт cookie только по HTTPS, HttpOnly закрывает её от клиентского JavaScript, а SameSite ограничивает межсайтовую отправку. Конкретные настройки зависят от назначения cookie. Инструмент скрывает значения, однако объединённый HEAD-ответ не всегда позволяет безошибочно оценить каждую cookie отдельно.
COOP, COEP и CORP
Cross-Origin-Opener-Policy, Cross-Origin-Embedder-Policy и Cross-Origin-Resource-Policy помогают создать изолированный контекст и защищают ресурсы от нежелательного межсайтового использования. Они нужны для SharedArrayBuffer и ряда высокопроизводительных API, но могут блокировать внешние изображения, документы, авторизацию и виджеты. Включайте их после тестирования.
Почему HEAD и GET могут отличаться
Проверка использует HEAD, чтобы получить заголовки без загрузки тела страницы. Некоторые серверы, CDN и системы защиты обрабатывают HEAD иначе, чем GET, либо добавляют политики только для HTML-ответов. Для критичного аудита сравните результат с инструментами разработчика браузера и фактическим GET-ответом.
Что оценка не проверяет
Высокий балл не доказывает отсутствие уязвимостей. Инструмент не анализирует код приложения, права пользователей, SQL-инъекции, зависимости, конфигурацию сервера, TLS целиком и фактическое выполнение CSP в разных страницах. Для комплексной проверки используйте ручной аудит, автоматические сканеры и тестирование.
Как внедрять заголовки без поломок
- Соберите список внешних ресурсов и функций браузера.
- Добавляйте политики сначала в тестовой среде.
- Для CSP включите Report-Only и проанализируйте нарушения.
- Проверьте авторизацию, платежи, виджеты, файлы и встраивание.
- Разверните изменения постепенно и следите за журналами.
- Повторите проверку главной, входа, кабинета и других типов страниц.
Дополнительная диагностика
Проверьте исходный HTTP-ответ в анализаторе HTTP-заголовков, срок и цепочку сертификата в проверке TLS, а доступность сервера — в проверке порта. Результат относится к одному URL и моменту времени.
Приватность и ограничения
URL отправляется на сервер Terabita.by, который обращается только к публичным HTTP/HTTPS-адресам на стандартных портах 80 и 443. Частные и служебные сети блокируются. Тело страницы не загружается целиком, значения cookies скрываются, а история результатов хранится только в памяти вкладки.
Частые вопросы
Гарантирует ли высокая оценка безопасность сайта?
Нет. Заголовки уменьшают отдельные риски, но не заменяют аудит приложения, кода, зависимостей, TLS и инфраструктуры.
Почему проверка использует HEAD-запрос?
HEAD позволяет получить HTTP-заголовки без загрузки тела страницы. Некоторые серверы отвечают на HEAD иначе, поэтому важные результаты стоит сверить с GET-ответом.
Что важнее всего исправить?
Сначала настройте HTTPS и HSTS, CSP, запрет MIME-sniffing и защиту от встраивания. Интерфейс отмечает критичные пункты высоким приоритетом.
Нужны ли COOP, COEP и CORP каждому сайту?
Нет. Они полезны для межсайтовой изоляции и некоторых API, но могут блокировать внешние ресурсы и виджеты, поэтому показываются без штрафа к оценке.
Почему CSP с unsafe-inline получает замечание?
unsafe-inline разрешает встроенный код и ослабляет защиту от XSS. Предпочтительнее использовать nonce, хеши и ограниченный список источников.
Безопасно ли сразу включать HSTS preload?
Нет. Сначала убедитесь, что HTTPS стабильно работает на основном домене и всех поддоменах. Отмена preload может занять значительное время.
Сохраняются ли проверяемые адреса?
Нет. История отображается только в памяти текущей вкладки и исчезает после обновления страницы.
Можно ли проверить локальный сервер?
Нет. Для защиты от SSRF разрешены только публичные HTTP/HTTPS-адреса на стандартных портах 80 и 443.