Исходный код вики D1. Политика безопасности контента
Версия 1.1 от Ирина Сафонова на 07.04.2023, 13:00
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | **Содержание** | ||
| 2 | |||
| 3 | {{toc/}} | ||
| 4 | |||
| 5 | == Общее описание == | ||
| 6 | **Политика безопасности контента** — это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая [[межсайтовые скриптинги>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3]] (XSS) и атаки с внедрением данных. | ||
| 7 | |||
| 8 | Политика безопасности контента позволяет администраторам серверов уменьшить или устранить векторы, по которым может происходить XSS, указав домены, которые браузер должен рассматривать как допустимые источники исполняемых скриптов. В этом случае браузер, совместимый с политикой, будет выполнять только сценарии, загруженные в исходные файлы и полученные из этих разрешенных доменов, игнорируя все остальные сценарии (включая встроенные сценарии и HTML-атрибуты обработки событий). | ||
| 9 | |||
| 10 | Политика описывается с помощью ряда директив, каждая из которых описывает политику для определенного типа ресурса или области политики. Описание директив доступно по ссылке. | ||
| 11 | |||
| 12 | Важно коррректно настроить политику безопасности контента при развертывании Cloud BI, чтобы предотвратить многие типы атак. Cloud BI предоставляет две переменные в config.py для развертывания: | ||
| 13 | |||
| 14 | * {{code language="none"}}TALISMAN_ENABLED{{/code}} по умолчанию имеет значение //False//. Установите для этого параметра значение //True// | ||
| 15 | * {{code language="none"}}TALISMAN_CONFIG{{/code}} содержит фактическое определение политики | ||
| 16 | |||
| 17 | При работе в продуктивном режиме Cloud BI при запуске проверяет наличие настройки политики. Если она не будет найдена, то система выдаст предупреждение, что есть угроза безопасности. Для сред, в которых политики безопасности определены вне Cloud BI с помощью другого программного обеспечения, администраторы могут отключить это предупреждение с помощью ключа {{code language="none"}}CONTENT_SECURITY_POLICY_WARNING{{/code}} в {{code language="none"}}config.py{{/code}}. | ||
| 18 | |||
| 19 | == Требования к политике безопасности контента == | ||
| 20 | |||
| 21 | Требования следующие: | ||
| 22 | |||
| 23 | * Укажите ключевые слова {{code language="none"}}'unsafe-eval'{{/code}} и {{code language="none"}}'unsafe-inline'{{/code}}: | ||
| 24 | |||
| 25 | {{code language="none"}} | ||
| 26 | default-src 'self' 'unsafe-eval' 'unsafe-inline' | ||
| 27 | {{/code}} | ||
| 28 | |||
| 29 | * Некоторые дашборды загружают изображения с использованием URI данных: | ||
| 30 | |||
| 31 | {{code language="none"}} | ||
| 32 | img-src 'self' data: | ||
| 33 | {{/code}} | ||
| 34 | |||
| 35 | * Диаграммы MapBox используют воркеры и должны подключаться к серверам MapBox: | ||
| 36 | |||
| 37 | {{code language="none"}} | ||
| 38 | worker-src 'self' blob: | ||
| 39 | connect-src 'self' https://api.mapbox.com https://events.mapbox.com | ||
| 40 | {{/code}} | ||
| 41 | |||
| 42 | Ниже пример {{code language="none"}}TALISMAN_CONFIG{{/code}}, который реализует вышеуказанные требования, использует {{code language="none"}}'self'{{/code}} для ограничения содержимого тем же источником, что и сервер Cloud BI, и запрещает устаревшие элементы HTML, устанавливая для {{code language="none"}}object-src{{/code}} значение {{code language="none"}}'none'{{/code}}. | ||
| 43 | |||
| 44 | {{code language="none"}} | ||
| 45 | TALISMAN_CONFIG = { | ||
| 46 | "content_security_policy": { | ||
| 47 | "default-src": ["'self'", "'unsafe-inline'", "'unsafe-eval'"], | ||
| 48 | "img-src": ["'self'", "data:"], | ||
| 49 | "worker-src": ["'self'", "blob:"], | ||
| 50 | "connect-src": ["'self'", "https://api.mapbox.com", "https://events.mapbox.com"], | ||
| 51 | "object-src": "'none'", | ||
| 52 | } | ||
| 53 | } | ||
| 54 | {{/code}} | ||
| 55 | |||
| 56 | == Сообщение об уязвимостях == | ||
| 57 | |||
| 58 | Если у вас есть опасения относительно безопасности Cloud BI или вы обнаружите уязвимость или потенциальную угрозу, свяжитесь с технической поддержкой Cloud BI. В письме настоятельно рекомендуется указать способ воспроизведения проблемы и показать пример. Техническая поддержка обязательно с вами свяжется после оценки и анализа результатов возникшей уязвимости. |