← Назад к функциям
Pro

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

Средство проверки безопасности и CSP считывает заголовки ответов страницы, на которой вы находитесь, и оценивает их — политика безопасности контента, HSTS, политика реферера, семейство Cross-Origin и т. д. — затем разбивает директиву CSP вниз за директивой и называет источники, которые ее ослабляют.

Заголовки безопасности легко ошибиться и их сложно проверить. Значения находятся на сервере, политики представляют собой длинные однострочные строки, а ошибки тихие: политика безопасности контента, которая по-прежнему разрешает «unsafe-inline», выглядит как политика, но почти ничего не останавливает. Обычный ответ — вставить свой URL-адрес в онлайн-сканер, который работает только для страниц, до которых может добраться сканер, а не для промежуточного сайта, не внутреннего инструмента или страницы после входа в систему.

Этот инструмент проверяет страницу перед вами, вошедшую в систему под тем же именем, что и вы. Он считывает заголовки ответов документа и дает каждому из них проход, предупреждение или ошибку с простым объяснением: существует ли CSP вообще, будет ли HSTS поддерживать браузеры на HTTPS, отключено ли прослушивание MIME, пропускают ли рефереры полные URL-адреса и какие значения установлены для заголовков Cross-Origin-*. Он также указывает на заголовки, которые выдают больше, чем должны, например, Server и X-Powered-By, называя точную версию вашей платформы.

Вкладка CSP является ее сердцем. Политика разделена на директивы, каждый источник имеет цветовую кодировку, а результаты читаются как обзор: «unsafe-inline» в script-src помечается как сбой, «unsafe-eval» и подстановочные знаки — как предупреждения, а данные: в script-src — как обход. Он знает правила, которые сбивают людей с толку: «unsafe-inline» игнорируется при наличии nonce или хеша, так что этот случай является предупреждением, а не сбоем, и что «strict-dynamic» заменяет списки разрешенных хостов. Также выявляются отсутствующие директивы: нет object-src, нет base-uri, нет предков кадра, нет действия формы. Политики, предоставляемые метатегами, и политики только для отчетов отображаются отдельно, поскольку они ведут себя по-разному.

На вкладке «Соединение» рассказывается о том, что на самом деле делает HTTPS: рукопожатие TLS, максимальный возраст HSTS по сравнению с порогом в один год, который требуется для предварительной загрузки, includeSubDomains и флаги предварительной загрузки, а также каждый небезопасный подресурс или цель формы, которая подрывает страницу HTTPS. Единственное, чего он не требует: данные сертификата. Ни одно расширение браузера не может прочитать цепочку сертификатов, их издателя или дату истечения срока действия, поэтому вместо того, чтобы придумывать их, инструмент говорит, где искать — замок в вашей адресной строке или внешний сервис для полной цепочки.

Предпросмотр в реальном времени
example.com
Безопасность и CSP 1 проблема, 3 предупреждения
Заголовки CSP Связь
5
Прошедший
3
Предупреждения
1
Отсутствующий
24
Заголовки
✓
Content-Security-Policy
Присутствует — скрипты и другие ресурсы ограничены.
!
Strict-Transport-Security
max-age меньше 1 года, который требуется для предварительной загрузки
max-age=86400
✗
Referrer-Policy
Отсутствует — полные URL-адреса могут попасть на другие сайты.
Выводы политики
✗script-src позволяет 'unsafe-inline'
!img-src позволяет *
!Нет base-uri — внедренный тег может перезаписывать относительные URL-адреса.
script-src 'self' 'nonce-r4nd0m' 'unsafe-inline' https://cdn.example.com
Ключевые особенности

Каждый заголовок безопасности, градуированный

CSP, HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy и семейство Cross-Origin, каждый из которых имеет пропуск, предупреждение или сбой и простое объяснение того, что означает его отсутствие.

Разбивка директив CSP по директивам

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

Знает правила, которые отпугивают людей

Помечает «unsafe-inline», «unsafe-eval», подстановочные знаки и данные: в script-src, но рассматривает «unsafe-inline» как предупреждение, когда nonce или хэш заставляет браузеры игнорировать его, и присваивает «строгое динамическое» и report-uri.

Отсутствующие директивы названы

О политике без object-src, base-uri, Frame-ancestors или form-action сообщается с конкретным риском, который каждый пробел оставляет открытым, в том числе, когда default-src уже покрывает один из них.

HSTS, TLS и смешанный контент

Максимальный возраст HSTS в зависимости от порога предварительной загрузки в один год, времени установления связи TLS и каждого подресурса http:// или цели формы, которая подрывает страницу HTTPS, указанную в ее селекторе.

Работает над промежуточным размещением и за входами в систему

Заголовки считываются со страницы, которую вы уже просматриваете, во время сеанса, поэтому можно проверить внутренние инструменты и предварительные сайты — нет общедоступного URL-адреса, к которому мог бы обратиться сканер.

Типичные сценарии использования

Укрепление сайта перед запуском

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

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

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

Проверка CSP, который вы унаследовали

Сразу посмотрите, действительно ли длинная политика ограничивает что-либо, или «unsafe-inline» и хост с подстановочными знаками незаметно превратили это в украшение.

Отслеживание предупреждений о смешанном контенте

Найдите точное изображение, сценарий или действие формы, по-прежнему используя http:// на странице HTTPS, с помощью селектора элемента, а не через консоль.

Доказательства для проверки безопасности

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

Как использовать
1

Открытая безопасность и CSP

Щелкните значок «Безопасность и CSP» в доке DevSuite Pro. Проверка запускается немедленно, и в сводке отображается количество пройденных, предупрежденных или пропущенных заголовков.

2

Читайте вердикты в шапке

На вкладке «Заголовки» указан каждый заголовок безопасности с его значением и вердиктом. Ниже расположены проверка раскрытия информации и заголовки CORS документа.

3

Ознакомьтесь с политикой

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

4

Проверьте соединение

На вкладке «Соединение» представлены HTTPS, подтверждение TLS, HSTS и любой смешанный контент. Для получения самого сертификата щелкните замок в адресной строке — ни одно расширение не сможет его прочитать.

5

Возьмите выводы с собой

В отчете о копировании содержится сводка каждого вердикта, выводов CSP и любого смешанного контента в виде простого текста, готового к выдаче заявки или проверке безопасности.

Готовы попробовать?

Установите DevSuite Pro бесплатно и разблокируйте более 71 инструментов разработчика для вашего браузера.

Добавить в Chrome Добавить в Edge Добавить в FireFox