Типовая проблема

CSP не настроен (Content-Security-Policy отсутствует)

Severity: Высокий

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

Симптомы

  • Заголовок Content-Security-Policy отсутствует в ответе сервера
  • Или установлен небезопасный: Content-Security-Policy: *
  • AuditGuard: finding 'CSP: not configured' severity HIGH

AuditGuard обнаруживает эту проблему автоматически.

Почему это риск

Без CSP злоумышленник, нашедший XSS-уязвимость, может выполнить произвольный JavaScript в контексте вашего сайта: украсть cookie сессии, перенаправить пользователя, показать фейковую форму логина, exfiltrate данные. CSP — вторая линия защиты, работающая даже при наличии XSS.

Как исправить

Шаг 1

Добавьте заголовок в конфигурацию веб-сервера или приложения

Шаг 2

Начните с permissive политики для аудита: Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-report

Шаг 3

Изучите отчёты CSP-нарушений и найдите все внешние источники

Шаг 4

Создайте строгую политику: Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-...'; style-src 'self' 'unsafe-inline'

Шаг 5

Для nginx: add_header Content-Security-Policy "default-src 'self'..." always;

Шаг 6

Для Apache: Header always set Content-Security-Policy "default-src 'self'..."

Шаг 7

Проверьте в браузере: DevTools → Network → ответные заголовки

Как AuditGuard обнаруживает проблему

AuditGuard делает HTTP-запрос к главной странице и проверяет наличие заголовка Content-Security-Policy в ответе. Анализирует значение на наличие unsafe-inline, unsafe-eval без нонсов, wildcard-источников.

Проверьте ваш сайт прямо сейчас

AuditGuard находит эту проблему и 340+ других автоматически. Результат — за 2–5 минут.