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

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

Опубліковано 5 хв читання
У цій статті

Що таке перевірка CSP?

Перевірка політики безпеки контенту (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 або hash як альтернативам.

Чи може CSP зламати мій сайт?

Так. Надто сувора CSP заблокує легітимні ресурси, від яких залежить ваш сайт. Завжди спочатку тестуйте нові політики в режимі лише звітності за допомогою Content-Security-Policy-Report-Only перед їх застосуванням.

Чи слід використовувати мета-теги CSP або HTTP-заголовки?

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

Пов'язані інструменти