CSP — Content Security Policy: защита веб-контента | Глоссарий FREEHOSTING

CSP

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

Определение простыми словами

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

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

Сравнение

Аспект CSP Традиционные методы защиты
Цель Контроль источников контента и выполнение скриптов Фильтрация вводимых данных и защита с помощью серверных методов
Уровень защиты Браузерный, клиентский Серверный, валидация ввода
Эффективность против XSS Высокая при правильной настройке Средняя, зависит от корректности фильтрации
Поддержка браузерами Современные браузеры Все браузеры

Кейсы использования

  • Защита корпоративных веб-приложений от XSS-атак.
  • Ограничение загрузки сторонних скриптов и ресурсов.
  • Предотвращение выполнения инъекций в браузере пользователя.
  • Поддержка политики безопасности для публичных сайтов с пользовательским контентом.
  • Отслеживание несоответствий безопасности через отчёты CSP.

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

Технические детали

CSP задаётся сервером в HTTP-заголовке Content-Security-Policy либо через метатег <meta> в HTML:

Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com; object-src 'none';

Основные директивы:

  • default-src — источники по умолчанию для всех типов контента.
  • script-src — источники скриптов.
  • style-src — источники стилей.
  • img-src — источники изображений.
  • report-uri — адрес для отправки отчётов о нарушениях CSP.

Пример добавления CSP в Apache:

Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self'; img-src *;"

Подробнее о настройках CSP в firewall, управлении доменными именами доменное имя и других мерах безопасности сайта.

Частые вопросы

Зачем использовать CSP?

CSP предотвращает выполнение вредоносного кода и XSS-атаки, повышая безопасность веб-сайтов.

Как настроить Content Security Policy?

CSP задаётся через HTTP-заголовок Content-Security-Policy с набором правил ограничения источников контента.

Поддерживают ли все браузеры CSP?

Большинство современных браузеров поддерживают CSP, но старые версии могут работать некорректно.