Как пользоваться: Генератор CSP
- Отметьте сервисы, которые использует ваш сайт (аналитика, шрифты, видео, платежи). Их домены добавятся в нужные директивы.
- При необходимости измените любую директиву, например добавьте свой CDN в
script-srcилиimg-src. - На работающем сайте начните с режима Report-only: браузер только записывает нарушения и ничего не блокирует.
- Скопируйте политику как заголовок, meta-тег или конфиг сервера, разверните её и проверьте консоль браузера на заблокированные ресурсы.
Что делает Content Security Policy
Content-Security-Policy (CSP) сообщает браузеру, с каких источников страница может загружать скрипты, стили, изображения, шрифты, фреймы и соединения. Если злоумышленник внедрит <script> (межсайтовый скриптинг), браузер не выполнит его, так как источник не разрешён. Это один из самых эффективных способов защиты от XSS и кражи данных.
Основные директивы
| Директива | Что контролирует |
|---|---|
default-src | Значение по умолчанию для всех типов ресурсов, которые вы не перечислили |
script-src | JavaScript — самая важная директива |
style-src, img-src, font-src | CSS, изображения и веб-шрифты |
connect-src | fetch, XHR, WebSocket и отправка данных аналитики |
frame-src / frame-ancestors | Какие iframe вы встраиваете / кто может встраивать вашу страницу (clickjacking) |
object-src 'none', base-uri 'self' | Закрывают два классических обхода XSS — задавайте их всегда |
Безопасное внедрение
Сначала разверните Content-Security-Policy-Report-Only и несколько дней следите за консолью браузера (или за эндпоинтом report-to). Исправьте то, что ломается, и затем переключитесь на обязательный заголовок. Не используйте 'unsafe-inline' и 'unsafe-eval' в script-src; для немногих нужных inline-скриптов применяйте nonce или хеши.
Проверить работающий сайт можно с помощью проверки заголовков безопасности.
Также ищут как: content security policy генератор, конструктор content-security-policy, csp nginx, csp meta тег, script-src, csp google analytics, csp report-only.
Инструменты, которые хорошо сочетаются с Генератор CSP
- Генератор .htaccess — Отметьте нужные правила: HTTPS, основной домен, редиректы, сжатие, кеширование, заголовки безопасности, защита файлов.
- Генератор конфига Nginx — Выберите, что должен делать Nginx: отдавать статический сайт или SPA, проксировать запросы к приложению на Node/Python или обрабатывать PHP.
- Проверка HTTP-заголовков — Введите любой URL и увидите, что именно отправляет сервер: код статуса, цепочку редиректов и все заголовки ответа.
- Генератор security.txt — Заполните несколько полей, чтобы сгенерировать соответствующий стандарту файл /.well-known/security.txt, в котором описано, как исследователям сообщать вам о проблемах безопасности.