Проверка заголовков безопасности

Проверьте URL на отсутствие или рискованные заголовки безопасности (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP) и проанализируйте флаги cookies (Secure, HttpOnly, SameSite). Следуйте редиректам до конечного пункта, экспортируйте отчёты JSON/PDF и получайте практические рекомендации по усилению.

Loading…

О проекте Проверка заголовков безопасности

Современная веб-безопасность во многом обеспечивается HTTP-заголовками ответа. Этот инструмент получает URL (с опциональным следованием редиректам) и проводит аудит ключевых заголовков усиления, которые снижают риски XSS, кликджекинга, MIME-сниффинга, небезопасного транспорта и проблем изоляции между источниками. Также проверяются атрибуты Set-Cookie для выявления распространённых уязвимостей, таких как отсутствие Secure/HttpOnly/SameSite или SameSite=None без Secure.

Возможности

  • Следование редиректам для аудита конечного HTTPS-назначения (рекомендуется для реальных развёртываний).
  • Проверяет необходимые заголовки усиления: Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy.
  • Проверяет рекомендуемые современные заголовки: COOP, COEP, CORP, Origin-Agent-Cluster и дополнительные сигналы усиления, если они присутствуют.
  • Анализ cookies для флагов Set-Cookie: Secure, HttpOnly, SameSite; предупреждает о SameSite=None без Secure.
  • Анализ CSP: выделяет unsafe-inline, unsafe-eval, источники с подстановочными знаками, отсутствующие защитные директивы (default-src, object-src, base-uri, frame-ancestors) и оговорки report-only.
  • Отмечает устаревшие или рискованные заголовки (например, X-XSS-Protection) и заголовки, раскрывающие информацию (например, Server, X-Powered-By).
  • Копируемые/делимые результаты для проверок безопасности, отчётов пентестов или баг-тикетов.
  • Скачивание отчётов в формате JSON или PDF для аудитов, доказательств соответствия и отслеживания регрессий.

🧭 Как использовать for security-headers-checker

1

Вставьте URL для аудита

Введите полный URL (желательно https://…). Инструмент оценивает заголовки ответа, возвращаемые этой конечной точкой.

2

Включите «Следовать редиректам» (рекомендуется)

Многие сайты перенаправляют http→https и non-www→www (или наоборот). Следование редиректам позволяет проверить конечный пункт, который фактически достигается пользователями и ботами.

3

Выберите, показывать ли исходные заголовки

Включите «Показать исходные заголовки», если нужны оригинальные строки заголовков для отладки (полезно для CDN, обратных прокси и настроек фреймворков по умолчанию).

4

Изучите результаты и расставьте приоритеты исправлений

Сначала сосредоточьтесь на безопасности транспорта (HSTS), защите от XSS (CSP), защите от кликджекинга (защита фреймов), флагах cookies и изоляции между источниками (COOP/COEP/CORP), где это применимо.

5

Экспортируйте отчёт для отслеживания

Скачайте JSON/PDF, чтобы прикрепить к тикетам, сравнить изменения со временем или добавить проверки в CI для обнаружения регрессий.

Технические характеристики

Что проверяет этот инструмент

Проверка фокусируется на современных, высокоэффективных заголовках ответа и атрибутах cookies, используемых для механизмов безопасности, обеспечиваемых браузером.

ОбластьПроверяемые сигналыПочему это важно
Безопасность транспортаStrict-Transport-Security (HSTS)Принудительно использует HTTPS и помогает предотвратить SSL-стриппинг при последующих посещениях.
Снижение риска XSSContent-Security-Policy (CSP) + типичные ошибкиОграничивает источники скриптов/стилей и снижает влияние XSS при правильной настройке.
КликджекингX-Frame-Options и/или CSP frame-ancestorsЗащищает ваши страницы от встраивания в фреймы с других источников.
Сниффинг MIMEX-Content-Type-Options: nosniffЗапрещает браузерам рискованное определение типов контента.
Утечка реферераReferrer-PolicyКонтролирует объём информации о реферере, отправляемой на другие сайты.
Контроль разрешенийPermissions-PolicyОграничивает мощные функции (камера, микрофон, геолокация и т.д.) на уровне браузера.
Междоменная изоляцияCOOP / COEP / CORP (и связанные)Необходимо для расширенной изоляции безопасности и некоторых высокопроизводительных API.
КукиФлаги Set-Cookie: Secure, HttpOnly, SameSiteСнижает риск кражи сессии и смягчает CSRF при правильной настройке.
Рискованные/устаревшиеX-XSS-Protection, Server, X-Powered-By (если присутствуют)Устаревшие средства контроля или утечка информации, которая может помочь злоумышленникам.

Поведение запросов и ограничения

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

НастройкаПоведениеПо умолчанию
Следовать редиректамСледует за ограниченным количеством редиректовВключено
Макс. редиректовМаксимальное количество редиректов при включённом следовании10
ТаймаутТаймаут запроса15000 мс
User-AgentЗаголовок идентификации запросаEncode64Bot/1.0 (+[https://encode64.com](https://encode64.com))
Частные сетиБлокирует цели в частных сетяхНе разрешено

Правильная интерпретация результатов

«Успешная» проверка заголовков не означает «безопасно». Заголовки — это лишь один слой. Цель — уменьшить радиус поражения от распространённых классов проблем и обеспечить более безопасные настройки браузера по умолчанию.

Используйте этот отчёт как базовый чек-лист для усиления защиты. Всё равно проводите аудит аутентификации, авторизации, валидации входных данных, уязвимостей зависимостей и конфигурации сервера.

Командная строка

Используйте curl, чтобы повторить действия проверяющего и быстро проверить заголовки во время отладки или в CI.

macOS / Linux

Получить заголовки ответа

curl -I [https://example.com](https://example.com)

Показывает заголовки верхнего уровня, возвращаемые конечной точкой.

Следовать редиректам и показать заголовки

curl -IL [https://example.com](https://example.com)

Полезно для подтверждения заголовков конечного назначения после редиректов.

Проверить строки Set-Cookie

curl -sI [https://example.com](https://example.com) | grep -i '^set-cookie:'

Помогает проверить атрибуты Secure/HttpOnly/SameSite.

Windows (PowerShell)

Получить заголовки ответа

(Invoke-WebRequest -Uri [https://example.com](https://example.com) -Method Head).Headers

Выводит возвращённые заголовки в PowerShell.

Всегда тестируйте как ваши HTML-страницы, так и критические API-эндпоинты: у них часто разные стеки промежуточного ПО и, следовательно, разные наборы заголовков.

Сценарии использования

Базовый уровень усиления безопасности для веб-приложения

Установить минимальный базовый уровень заголовков и обнаруживать отсутствующие заголовки после развёртываний, изменений прокси/CDN или обновлений фреймворка.

  • Убедиться, что HSTS присутствует на рабочем HTTPS
  • Убедиться, что защита от кликджекинга включена для аутентифицированных страниц

Проверка безопасности куки и сессий

Проверить, что сессионные куки отправляются с Secure/HttpOnly/SameSite, и обнаружить распространённые ошибки конфигурации.

  • Обнаружить SameSite=None без Secure
  • Подтвердить, что для сессионных токенов установлен HttpOnly

Качество CSP и снижение риска XSS

Выявляйте высокорисковые шаблоны CSP и расставляйте приоритеты для исправлений, которые существенно снижают влияние XSS.

  • Удалите unsafe-inline и внедрите стратегию nonce/hash
  • Добавьте frame-ancestors и base-uri для более строгих значений по умолчанию

Проверки на регрессию CDN / обратного прокси

Обнаруживайте, когда CDN, балансировщик нагрузки или прокси удаляют или дублируют заголовки.

  • Убедитесь, что заголовки безопасности сохраняются при изменениях в Cloudflare/Varnish/Nginx
  • Убедитесь, что редиректы не сбрасывают HSTS на конечном пункте назначения

❓ Frequently Asked Questions

Почему заголовки безопасности важны?

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

Следует ли включать «Следовать редиректам»?

Обычно да. Настоящие пользователи и краулеры попадают на конечный URL после редиректов, и именно там важны действующие заголовки. Цепочки редиректов могут скрывать отсутствующие заголовки на конечном пункте назначения.

Требуется ли CSP для каждого сайта?

Это настоятельно рекомендуется для сайтов с пользовательскими сессиями или динамическим контентом. Даже базовая CSP может снизить риск XSS, но её следует тщательно тестировать, чтобы избежать поломки скриптов и интеграций со сторонними сервисами.

Почему X-XSS-Protection помечается как устаревший или рискованный?

Он устарел в современных браузерах и в некоторых исторических случаях мог приводить к неожиданному поведению. Вместо этого сосредоточьтесь на CSP и безопасных практиках программирования.

Какая распространённая ошибка с HSTS?

Включение HSTS на HTTPS, но забывание о постоянной поддержке HTTPS (или его отсутствие на основном хосте). Другая распространённая ошибка — добавление директив preload без полного соответствия требованиям для предзагрузки.

Могут ли одни только заголовки защитить моё приложение?

Нет. Заголовки — это слой усиления защиты. Вам по-прежнему необходимы безопасное программирование, управление зависимостями, корректная аутентификация/авторизация и надёжная конфигурация сервера.

Pro Tips

Best Practice

Проводите аудит как целевой HTML-страницы, так и конечных точек вашего API. У них часто разное промежуточное ПО, и покрытие заголовками может незаметно различаться.

CI Tip

Проверяйте цепочку редиректов: убедитесь, что конечный пункт назначения устанавливает самые строгие заголовки (особенно HSTS и CSP).

Best Practice

Рассматривайте cookies как часть периметра безопасности: Secure + HttpOnly + соответствующий SameSite должны быть настройками по умолчанию для сессионных cookies.

Best Practice

Для CSP в приоритете должно быть удаление unsafe-inline/unsafe-eval и внедрение nonces или хешей. Это обычно даёт наибольший практический прирост безопасности.

Best Practice

Избегайте утечки информации о сервере. Удаляйте или минимизируйте заголовки Server / X-Powered-By, где это возможно, чтобы снизить риск снятия цифрового отпечатка.

CI Tip

Добавьте регрессионный тест в CI, который блокирует деплой, если исчезают критические заголовки (изменения в прокси/CDN вызывают это чаще, чем люди ожидают).

Additional Resources

Other Tools