← Назад ко всем вопросам

Какие ресурсы позволяет ограничивать CSP

1️⃣ Как кратко ответить

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

2️⃣ Подробное объяснение темы

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

Основные типы ресурсов, которые можно ограничивать с помощью CSP:

  1. Скрипты (script-src):

    • Определяет, откуда могут загружаться и выполняться JavaScript-файлы. Это помогает предотвратить выполнение вредоносных скриптов.
    • Пример: script-src 'self' https://trusted.cdn.com;
  2. Стили (style-src):

    • Контролирует источники, откуда могут загружаться CSS-стили. Это защищает от внедрения вредоносных стилей.
    • Пример: style-src 'self' 'unsafe-inline';
  3. Изображения (img-src):

    • Указывает, откуда могут загружаться изображения. Это может быть полезно для предотвращения загрузки изображений с ненадежных источников.
    • Пример: img-src 'self' https://images.example.com;
  4. Шрифты (font-src):

    • Определяет, откуда могут загружаться шрифты. Это помогает контролировать использование шрифтов на странице.
    • Пример: font-src 'self' https://fonts.example.com;
  5. Медиафайлы (media-src):

    • Контролирует источники для аудио и видео файлов.
    • Пример: media-src 'self' https://media.example.com;
  6. Фреймы (frame-src):

    • Указывает, откуда могут загружаться фреймы, такие как <iframe>.
    • Пример: frame-src 'self' https://frames.example.com;
  7. Объекты (object-src):

    • Определяет источники для объектов, таких как Flash или другие плагины.
    • Пример: object-src 'none';
  8. Веб-воркеры и другие (worker-src, child-src):

    • Контролирует источники для веб-воркеров и других дочерних контекстов.
    • Пример: worker-src 'self';

Пример CSP заголовка

Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com; style-src 'self' 'unsafe-inline'; img-src 'self' https://images.example.com; font-src 'self' https://fonts.example.com; media-src 'self' https://media.example.com; frame-src 'self' https://frames.example.com; object-src 'none'; worker-src 'self';

Как это работает

  • default-src: Устанавливает политику по умолчанию для всех типов ресурсов, если для них не указаны конкретные директивы.
  • 'self': Разрешает загрузку ресурсов только с того же источника, что и сам документ.
  • 'none': Полностью запрещает загрузку ресурсов данного типа.
  • 'unsafe-inline': Разрешает выполнение встроенных скриптов и стилей, но это может быть небезопасно.

Зачем это нужно

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

Тема: Безопасность
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки