Проверка HTTP-Заголовков


Бесплатная проверка HTTP-заголовков для любого URL. Проверяйте заголовки сервера, cache, безопасности (HSTS, CSP, X-Frame-Options) и производительности для аудитов безопасности и тестирования.

РЕКЛАМА
ПРОВЕРКА HTTP-ЗАГОЛОВКОВ
РЕКЛАМА

Что такое инструмент Проверка HTTP-Заголовков?

Проверка HTTP-Заголовков открывает реальное HTTP- или HTTPS-соединение к URL и считывает заголовки ответа, которые сервер фактически отдаёт. HTTP-заголовки это слой метаданных протокола (RFC 7230-7237) и несут много сведений о поведении сервера: как кэшируется контент, какие типы контента разрешены, какая cross-origin политика действует и, что важно, какие заголовки безопасности установлены.

Заголовки безопасности интересуют большинству пользователей больше всего. HSTS удерживает сайт на HTTPS, CSP ограничивает выполняемые скрипты, X-Frame-Options блокирует clickjacking, а другие защищают от MIME sniffing, утечки referrer и понижения протокола. Инструмент отправляет запрос, читает ответ, оценивает набор заголовков безопасности по OWASP и Mozilla и показывает остальные заголовки для просмотра.

Что такое HTTP-заголовки?

HTTP-заголовки это базовые компоненты веб-коммуникации, метаданные, управляющие взаимодействием браузеров и серверов. Наша Проверка HTTP-Заголовков фокусируется на заголовках ответа, которые показывают конфигурацию сервера, уровень безопасности и настройки доставки контента. Заголовки ответа включают директивы безопасности (HSTS, CSP, X-Frame-Options), политики кэширования (Cache-Control, ETag), спецификации контента (Content-Type, Content-Length) и информацию о сервере (Server, X-Powered-By).

HTTP-заголовки работают одинаково в соединениях HTTP (порт 80) и HTTPS (порт 443), но HTTPS добавляет шифрование TLS/SSL (RFC 8446), защищающее заголовки от перехвата при передаче. HTTPS необходим для заголовков безопасности вроде HSTS, которым нужны HTTPS-соединения для эффективной работы. Поддерживаются оба протокола, TLS/SSL для HTTPS обрабатывается автоматически, обеспечивая точный анализ заголовков независимо от протокола.

Как работает анализ HTTP-заголовков

Анализ HTTP-заголовков включает установку сетевых соединений, получение HTTP-ответов, разбор данных заголовков и анализ конфигураций безопасности. Этот инструмент использует авторитетные методы на основе интернет-стандартов для точной информации о заголовках:

1. Установка соединения и разрешение DNS

Инструмент разрешает целевое доменное имя в IP-адрес через DNS-запросы (записи A/AAAA по RFC 1035), затем устанавливает TCP-соединение с портом 80 (HTTP) или 443 (HTTPS). Для HTTPS- соединений выполняется TLS-handshake по RFC 8446 для установки шифрованного соединения перед отправкой HTTP-запросов.

Разрешение DNS

Преобразует доменные имена в IP-адреса через DNS-запросы (записи A/AAAA) по стандартам RFC 1035.

TCP-соединение

Устанавливает TCP-соединение с портом 80 (HTTP) или 443 (HTTPS) для HTTP-коммуникации.

TLS-handshake

Выполняет TLS/SSL-handshake по RFC 8446 для HTTPS-соединений, чтобы установить шифрованную связь.

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

Автоматически определяет протокол HTTP или HTTPS из URL и обрабатывает соответствующий тип соединения.

Поддержка IP-адресов

Поддерживает адреса IPv4 и IPv6. Для IP-адресов инструмент автоматически добавляет протокол http:// и пытается подключиться. Если HTTP не удаётся, автоматически пробует HTTPS как запасной вариант для максимальной совместимости.

Проверка SSL-сертификата

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

Таймаут соединения

Запросы имеют таймаут 15 секунд, чтобы не ждать бесконечно. Если сервер не отвечает за это время, соединение завершается с соответствующим сообщением об ошибке.

2. Передача HTTP-запроса

Инструмент отправляет HTTP-запрос (обычно GET или HEAD) на целевой сервер, включая стандартные заголовки запроса Host, User-Agent, Accept и Connection. Сервер обрабатывает запрос и формирует HTTP-ответ со статус-кодами, заголовками ответа и при необходимости телом ответа.

Метод HTTP

Отправляет HTTP-запрос методом GET или HEAD для эффективного получения заголовков ответа. Метод HEAD предпочтителен, когда нужны только заголовки, так как не загружает тело ответа, что быстрее и экономнее по трафику.

Заголовки запроса

Отправляет заголовки запроса, похожие на браузерные, включая User-Agent (Chrome), Accept, Accept-Language, Accept-Encoding, Upgrade-Insecure-Requests, заголовки Sec-Fetch-*, Cache-Control и Connection, чтобы имитировать поведение реального браузера и обеспечить точное получение заголовков.

Получение ответа

Получает HTTP-ответ со статус-кодами, заголовками ответа и необязательным телом ответа.

Обработка ошибок

Обрабатывает таймауты соединения, сбои DNS и HTTP-ошибки с соответствующими сообщениями и контролируемой деградацией.

3. Разбор заголовков и анализ безопасности

Полученные HTTP-заголовки ответа разбираются и категоризируются на заголовки безопасности, кэширования, контента, информации о сервере, CORS и пользовательские. Каждый заголовок проверяется на синтаксическое соответствие RFC 7230-7237, а заголовки безопасности анализируются по рекомендациям OWASP Secure Headers Project и руководствам Mozilla.

Разбор заголовков

Разбирает HTTP-заголовки ответа по стандартам RFC 7230-7237 и извлекает имена и значения заголовков.

Категоризация заголовков

Организует заголовки по категориям: безопасность, контент, кэширование, информация о сервере, CORS и пользовательские заголовки.

Современные альтернативы заголовков

Распознаёт современные альтернативы заголовков, например CSP frame-ancestors вместо X-Frame-Options. Инструмент анализирует традиционные и современные заголовки, отдавая предпочтение современным реализациям, когда присутствуют оба.

Проверка синтаксиса

Проверяет синтаксис заголовков на соответствие стандартам HTTP по спецификациям RFC 7230-7237.

Анализ безопасности

Анализирует заголовки безопасности по рекомендациям OWASP Secure Headers Project и руководствам Mozilla по безопасности.

Обнаружение отсутствующих заголовков

Выявляет отсутствующие заголовки безопасности, указывающие на потенциальные уязвимости и пробелы в защите.

Как использовать Проверку HTTP-Заголовков

Наша Проверка HTTP-Заголовков рассчитана на пользователей любого технического уровня. Следуйте этому простому процессу:

  • Шаг 1: Введите доменное имя (например, example.com), полный URL (например, https://example.com) или IP-адрес (IPv4 вроде 192.168.1.1 или IPv6 вроде 2001:db8::1). Инструмент автоматически определяет тип ввода и протокол. Для доменов без протокола по умолчанию используется HTTPS. Для IP сначала пробуется HTTP, при неудаче HTTPS как запасной вариант.
  • Шаг 2: Пройдите проверку CAPTCHA для безопасного использования и защиты от автоматизированных злоупотреблений.
  • Шаг 3: Нажмите кнопку "ПРОВЕРИТЬ ЗАГОЛОВКИ". Инструмент установит HTTP-соединение и получит заголовки.

Результаты включают полные HTTP-заголовки ответа по категориям (безопасность, контент, кэширование, информация о сервере, CORS, пользовательские), анализ заголовков безопасности с сравнением конфигураций с рекомендациями OWASP, выявление отсутствующих заголовков безопасности и подробные рекомендации. Можно просматривать заголовки в организованных разделах, анализировать конфигурации, копировать значения или экспортировать полные результаты в JSON, CSV или TXT.

Какие заголовки безопасности критичны?

Заголовки безопасности это HTTP-заголовки ответа, защищающие сайты и пользователей от разных атак. Понимание этих заголовков важно для поддержания безопасных веб-приложений:

HTTP Strict Transport Security (HSTS)

Критическая безопасность

Заголовок: Strict-Transport-Security (RFC 6797)
Назначение: Заставляет браузеры использовать HTTPS-соединения, предотвращая атаки понижения протокола и man-in-the-middle.
Пример: Strict-Transport-Security: max-age=31536000; includeSubDomains

Влияние на безопасность:

Отсутствие HSTS позволяет атакующим понизить HTTPS до HTTP и перехватить конфиденциальные данные. HSTS гарантирует шифрование всех соединений, защищая учётные данные и личную информацию.

Content Security Policy (CSP)

Критическая безопасность

Заголовок: Content-Security-Policy (RFC 7762)
Назначение: Снижает риск Cross-Site Scripting (XSS), контролируя, какие ресурсы можно загружать и выполнять.
Пример: Content-Security-Policy: default-src 'self'; script-src 'self'

Влияние на безопасность:

Отсутствие CSP оставляет сайты уязвимыми к XSS и позволяет внедрять вредоносные скрипты. CSP ограничивает загрузку ресурсов и блокирует несанкционированное выполнение скриптов.

X-Frame-Options

Критическая безопасность

Заголовок: X-Frame-Options (RFC 7034)
Назначение: Предотвращает clickjacking, контролируя, можно ли показывать страницы во frame.
Значения: DENY (без frame), SAMEORIGIN (только тот же origin)
Пример: X-Frame-Options: DENY

Влияние на безопасность:

Отсутствие X-Frame-Options позволяет встраивать страницы во вредоносные frame и обманом заставлять пользователей кликать по скрытым элементам.

X-Content-Type-Options

Предупреждение безопасности

Заголовок: X-Content-Type-Options: nosniff
Назначение: Предотвращает атаки MIME-type sniffing, заставляя браузеры уважать объявленные типы контента.

Влияние на безопасность:

Без этого заголовка браузеры могут угадывать типы контента и выполнять вредоносный контент как скрипты. Директива nosniff заставляет браузеры уважать объявленные MIME-типы.

Referrer-Policy

Защита конфиденциальности

Заголовок: Referrer-Policy
Назначение: Контролирует, сколько информации referrer передаётся с запросами, защищая конфиденциальность пользователя.
Пример: Referrer-Policy: strict-origin-when-cross-origin

Влияние на конфиденциальность:

Контролирует передачу информации referrer и предотвращает утечку чувствительных параметров URL на сторонние сайты.

X-XSS-Protection (Устаревший)

Устаревший заголовок

Заголовок: X-XSS-Protection
Статус: Устаревший - современные браузеры убрали XSS-фильтрацию
Назначение: Раньше включал XSS-фильтрацию браузера, но эта функция удалена из современных браузеров.
Современная альтернатива: Content Security Policy (CSP) даёт более сильную защиту от XSS.

Рекомендация:

Не полагайтесь на X-XSS-Protection. Вместо этого внедрите строгую Content-Security-Policy. CSP это современный способ блокировать Cross-Site Scripting с детальным контролем источников, которые могут выполнять скрипты в браузере.

Expect-CT (Устаревший)

Устаревший заголовок

Заголовок: Expect-CT
Статус: Устаревший (RFC 9163) - заменён мониторингом Certificate Transparency
Назначение: Раньше использовался для обнаружения ошибочно выданных SSL-сертификатов через журналы Certificate Transparency.
Примечание: Этот заголовок устарел и на него полагаться не следует. Современный мониторинг сертификатов использует журналы Certificate Transparency напрямую.

Рекомендация:

Не внедряйте Expect-CT. Вместо этого используйте сервисы мониторинга Certificate Transparency или инструменты, которые напрямую запрашивают журналы CT для мониторинга сертификатов и безопасности.

Система оценки заголовков безопасности

Оценка безопасности это 100-балльный score по образцу securityheaders.com. Каждый заголовок проверяется на наличие, качество конфигурации и соответствие текущим лучшим практикам:

HSTS (Strict-Transport-Security)

Максимум 25 баллов. Базовый балл за наличие (6 баллов), бонус за max-age ≥ 1 год (до 20 баллов), директива includeSubDomains (+3 балла) и директива preload (+2 балла). Отличная конфигурация с max-age ≥ 31536000, includeSubDomains и preload получает все 25 баллов.

CSP (Content-Security-Policy)

Максимум 25 баллов. Базовый балл за наличие (12 баллов), бонус за директиву default-src (+4 балла), script-src (+3 балла) и использование nonce/hash (+6 баллов). Штрафы за unsafe-inline (-3 балла) и unsafe-eval (-2 балла). Отличная CSP со строгими политиками получает до 25 баллов.

X-Frame-Options

Максимум 12 баллов. DENY получает 12 баллов, SAMEORIGIN 10 баллов. CSP frame-ancestors также распознаётся как современная альтернатива и получает 12 баллов. Если отсутствуют оба, 0 баллов.

X-Content-Type-Options

Максимум 12 баллов. Корректная настройка с "nosniff" даёт 12 баллов. Отсутствие или неверная настройка даёт 0-5 баллов.

Referrer-Policy

Максимум 13 баллов. Корректная настройка со стандартными значениями политики даёт 13 баллов. Предпочтительны более строгие политики (strict-origin, strict-origin-when-cross-origin, same-origin, no-referrer).

Permissions-Policy

Максимум 13 баллов. Базовый балл за наличие (5 баллов), бонус за ограниченные функции (до 8 баллов). Больше ограничений указывает на лучшую конфигурацию безопасности.

Шкала оценок заголовков безопасности подробно

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

Оценки заголовков безопасности (7 уровней)

A+
95-100

Почти идеальная конфигурация заголовков безопасности. Все критичные заголовки присутствуют и правильно настроены. HSTS включает max-age ≥ 1 год, includeSubDomains и preload. CSP использует строгие политики с nonce/hash без unsafe-директив. Остальные заголовки оптимально настроены. Эта оценка указывает на enterprise-уровень внедрения заголовков безопасности.

A
80-94

Отличная конфигурация заголовков безопасности с небольшими зонами для улучшения. Большинство критичных заголовков на месте и настроено хорошо. Возможны небольшие пробелы: CSP без nonce/hash, HSTS без preload или мелкие оптимизации. Эта оценка указывает на сильное внедрение, подходящее для production.

B
65-79

Хорошая конфигурация заголовков безопасности с возможностями для улучшения. Большинство заголовков есть, но конфигурация может быть неоптимальной. Частые проблемы: CSP с unsafe-inline или unsafe-eval, HSTS с недостаточным max-age или отсутствие Permissions-Policy. Оценка приемлемая, но нужна оптимизация для лучшей защиты.

C
50-64

Удовлетворительная конфигурация с существенными пробелами. Некоторые критичные заголовки могут отсутствовать или быть настроены неверно. Частые проблемы: нет CSP, слабый HSTS или нет X-Frame-Options/X-Content-Type-Options. Базовые меры есть, но нужны критичные улучшения против типичных веб-атак.

D
35-49

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

E
10-34

Плохая конфигурация заголовков безопасности с критичными уязвимостями. Большинство заголовков отсутствует или сильно настроено неверно. Сайты с этой оценкой очень уязвимы и не должны использоваться в production без немедленного внедрения заголовков безопасности. Эта конфигурация создаёт значительные риски для пользователей.

F
0-9

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


Лучшие практики заголовков безопасности

Правильное внедрение заголовков безопасности критично для защиты сайтов и пользователей от атак. Этот раздел даёт лучшие практики на основе рекомендаций OWASP и типичные ошибки конфигурации:

Strict-Transport-Security (HSTS)

Всегда внедряйте HSTS с подходящим max-age (минимум 31536000 секунд на год) и директивой includeSubDomains. Отсутствие HSTS делает сайты уязвимыми к атакам понижения протокола.

Content Security Policy (CSP)

Внедряйте строгие политики CSP, ограничивающие загрузку ресурсов только доверенными источниками. Используйте default-src 'self' как базу и по возможности избегайте 'unsafe-inline' и 'unsafe-eval'. Слабые CSP с этими директивами дают минимальную защиту от XSS.

X-Frame-Options и CSP frame-ancestors

Используйте DENY, чтобы запретить любое встраивание в frame, или SAMEORIGIN, чтобы разрешить только same-origin. Либо используйте директиву Content-Security-Policy frame-ancestors (например, frame-ancestors 'none' или frame-ancestors 'self'), современную замену X-Frame-Options. CSP frame-ancestors даёт более тонкий контроль и предпочтительнее X-Frame-Options. Отсутствие X-Frame-Options или CSP frame-ancestors делает сайты уязвимыми к clickjacking.

X-Content-Type-Options

Всегда устанавливайте nosniff, чтобы предотвратить атаки MIME-type sniffing. Это гарантирует, что браузеры уважают объявленные типы контента и не допускают атак с путаницей типов.

Удаление заголовка Server

Удалите или минимизируйте заголовок Server, чтобы предотвратить раскрытие информации. Публикация ПО сервера и версии (например, Server: nginx/1.18.0) помогает атакующим находить уязвимости и планировать целевые атаки.

Удаление заголовка X-Powered-By

Удалите заголовок X-Powered-By, чтобы не раскрывать framework приложения. Публикация сведений о framework (PHP, Express и т. д.) помогает атакующим находить уязвимости, специфичные для framework. Удалите этот заголовок в production.

Проверка пользовательских заголовков

Проверьте пользовательские заголовки X-* на раскрытие информации. Они могут выдавать внутренние детали приложения, endpoint API или архитектуру системы. Удалите или очистите заголовки, раскрывающие конфиденциальные данные.

Внедрение Referrer-Policy

Внедрите подходящую Referrer-Policy для защиты конфиденциальности пользователей. Используйте strict-origin-when-cross-origin для баланса конфиденциальности и функциональности или no-referrer для максимальной конфиденциальности. Это предотвращает утечку чувствительных параметров URL на сторонние сайты.

Настройка Cache-Control

Используйте подходящие директивы кэша: no-store для конфиденциального контента, public, max-age=3600 для статических ресурсов и private для пользовательского контента. Неверно настроенные заголовки Cache-Control могут вызвать проблемы безопасности (кэширование конфиденциального контента) или производительности.

Типичные сценарии Проверки HTTP-Заголовков

Самые частые причины использовать проверку заголовков:

Аудит безопасности и соответствие требованиям

Проверьте внедрение заголовков безопасности на соответствие рекомендациям OWASP, требованиям PCI-DSS и стандартам безопасности. Выявите отсутствующие заголовки, указывающие на потенциальные уязвимости, и оцените уровень безопасности для управления рисками.

Оптимизация производительности

Анализируйте заголовки кэширования (Cache-Control, ETag, Expires), чтобы оптимизировать доставку контента и снизить нагрузку на сервер. Найдите ошибки кэширования, влияющие на производительность, и оптимизируйте политики кэша для лучшего удобства пользователей.

Устранение проблем Cross-Origin Resource Sharing (CORS)

Отладьте проблемы CORS, анализируя заголовки Access-Control-Allow-Origin и связанные директивы CORS. Найдите ошибки CORS, блокирующие доступ к API, и проверьте политики CORS на соответствие требованиям безопасности.

Проверка конфигурации сервера

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

Функции и возможности

Что вы получаете в одном месте. Полезно и инженерам, и нетехническим пользователям:

Поддержка двух протоколов

Поддерживает соединения HTTP (порт 80) и HTTPS (порт 443) с корректной обработкой TLS/SSL по RFC 8446, обеспечивая совместимость со всеми веб-серверами.

Получение заголовков в реальном времени

Устанавливает живые HTTP-соединения для получения актуальной информации о заголовках напрямую с целевых серверов.

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

Анализирует заголовки безопасности по рекомендациям OWASP Secure Headers Project и руководствам Mozilla, выявляет отсутствующие заголовки и даёт рекомендации по безопасности.

Структурированная категоризация заголовков

Организует заголовки в логические категории (безопасность, контент, кэширование, информация о сервере, CORS, пользовательские) для удобного анализа и понимания.

Несколько форматов экспорта

Позволяет экспортировать информацию о заголовках в JSON (RFC 8259), CSV и TXT для документации, анализа и интеграции с другими системами.

Архитектура с фокусом на конфиденциальность

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

Часто Задаваемые Вопросы (FAQ)

Проверка заголовков показывает, что сервер реально сообщает клиентам: какие заголовки безопасности установлены (и насколько строго), политику кэширования, объявленный тип контента, баннеры идентификации сервера, правила CORS и любые пользовательские заголовки приложения. Полезно для поиска пробелов в безопасности, отладки кэша, поиска неверно настроенного CDN и подтверждения заголовков, которые ожидает ваша программа compliance.

Заголовки безопасности защищают сайты и пользователей от разных атак, включая XSS (Cross-Site Scripting), clickjacking, MIME-type sniffing, атаки понижения протокола и man-in-the-middle. Отсутствующие заголовки указывают на потенциальные уязвимости, которыми могут воспользоваться атакующие. HSTS, CSP, X-Frame-Options и X-Content-Type-Options дают важные уровни защиты, предотвращая типичные веб-атаки и защищая данные пользователей.

HTTP-заголовки работают одинаково в соединениях HTTP (порт 80) и HTTPS (порт 443). HTTPS добавляет шифрование TLS/SSL (RFC 8446) к HTTP, защищая данные заголовков от перехвата. Заголовки вроде HSTS рассчитаны на HTTPS и заставляют браузеры использовать шифрованные соединения. Инструмент поддерживает оба протокола и автоматически обрабатывает TLS/SSL.

Нет, наш инструмент Проверка HTTP-Заголовков не хранит доменные имена, URL, HTTP-заголовки или результаты проверки в базе приложения. Все проверки выполняются в реальном времени только на время вашего запроса и сразу удаляются. Стандартные access-логи сервера могут создаваться, как описано в нашей Политике Конфиденциальности.

HTTP-заголовки могут раскрывать версии ПО сервера, framework приложений и пользовательские детали через Server, X-Powered-By и пользовательские X-*. Такое раскрытие помогает атакующим находить уязвимости и планировать атаки. Инструмент выявляет такие заголовки и рекомендует удалить или минимизировать их, чтобы предотвратить утечку конфиденциальных данных.