Skip to main content
CheckTown
Валидаторы

Валидация CSP: проверка заголовков Content Security Policy

Опубликовано 5 мин чтения
В этой статье

Что такое валидация CSP?

Валидация Content Security Policy (CSP) проверяет, правильно ли ваш заголовок CSP или мета-тег определяет, какие ресурсы браузеру разрешено загружать. Неправильно настроенная CSP может либо блокировать легитимные ресурсы, нарушая работу сайта, либо быть слишком разрешительной, оставляя бреши в безопасности.

CSP — один из самых мощных механизмов безопасности браузера против межсайтового скриптинга (XSS) и атак внедрения данных. Однако синтаксис директив сложен, и одно неправильно расположенное ключевое слово может кардинально изменить то, что политика разрешает.

Как работает валидатор CSP

Валидатор CSP CheckTown анализирует строку вашей политики и проверяет синтаксические ошибки, риски безопасности и распространённые ошибки конфигурации.

  • Разбор директив — проверяет каждое имя директивы и значения источников согласно спецификации CSP
  • Анализ безопасности — помечает излишне разрешительные источники, такие как unsafe-inline, unsafe-eval и домены с подстановочными знаками
  • Предупреждения об устаревании — выявляет устаревшие директивы и предлагает их современные замены

Попробуйте бесплатно — без регистрации

Проверьте вашу CSP →

Ключевые директивы CSP

CSP использует директивы для контроля того, какие типы ресурсов можно загружать и откуда.

  • default-src — резервная политика для всех типов ресурсов, не охваченных более конкретными директивами
  • script-src — управляет тем, какие скрипты могут выполняться; наиболее критичная директива для предотвращения XSS
  • style-src — определяет разрешённые источники для CSS-стилей и встроенных стилей

Когда использовать валидацию CSP

Валидация CSP необходима перед развёртыванием любых изменений в заголовках безопасности.

  • Разработка политики — проверяйте правила CSP в процессе написания, чтобы обнаружить синтаксические ошибки до развёртывания
  • Аудиты безопасности — проверяйте существующие заголовки CSP на излишне разрешительные конфигурации
  • CI-конвейеры — автоматизируйте проверку CSP как часть процесса развёртывания

Часто задаваемые вопросы

Что означает unsafe-inline и когда он нужен?

unsafe-inline разрешает выполнение встроенных скриптов и стилей. Это значительно ослабляет защиту от XSS, но иногда необходимо для устаревшего кода. В качестве альтернативы предпочтительнее использовать списки разрешений на основе nonce или хэша.

Может ли CSP сломать мой сайт?

Да. Слишком строгая CSP заблокирует легитимные ресурсы, от которых зависит ваш сайт. Всегда сначала тестируйте новые политики в режиме report-only с помощью Content-Security-Policy-Report-Only перед их применением.

Использовать мета-теги CSP или HTTP-заголовки?

HTTP-заголовки предпочтительнее, так как поддерживают все директивы и не могут быть изменены внедрённым кодом. Мета-теги не поддерживают директивы frame-ancestors и report-uri.

Похожие инструменты