C01. Политика безопасности контента
Содержание
Общее описание
Политика безопасности контента — это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая межсайтовые скриптинги (XSS) и атаки с внедрением данных.
Политика безопасности контента позволяет администраторам серверов уменьшить или устранить векторы, по которым может происходить XSS, указав домены, которые браузер должен рассматривать как допустимые источники исполняемых скриптов. В этом случае браузер, совместимый с политикой, будет выполнять только сценарии, загруженные в исходные файлы и полученные из этих разрешенных доменов, игнорируя все остальные сценарии (включая встроенные сценарии и HTML-атрибуты обработки событий).
Политика описывается с помощью ряда директив, каждая из которых описывает политику для определенного типа ресурса или области политики. Описание директив доступно по ссылке.
Важно коррректно настроить политику безопасности контента при развертывании Cloud BI, чтобы предотвратить многие типы атак. Cloud BI предоставляет две переменные в config.py для развертывания:
- TALISMAN_ENABLED по умолчанию имеет значение False. Установите для этого параметра значение True
- TALISMAN_CONFIG содержит фактическое определение политики
При работе в продуктивном режиме Cloud BI при запуске проверяет наличие настройки политики. Если она не будет найдена, то система выдаст предупреждение, что есть угроза безопасности. Для сред, в которых политики безопасности определены вне Cloud BI с помощью другого программного обеспечения, администраторы могут отключить это предупреждение с помощью ключа CONTENT_SECURITY_POLICY_WARNING в config.py.
Требования к политике безопасности контента
Требования следующие:
- Укажите ключевые слова 'unsafe-eval' и 'unsafe-inline':
- Некоторые дашборды загружают изображения с использованием URI данных:
- Диаграммы MapBox используют воркеры и должны подключаться к серверам MapBox:
connect-src 'self' https://api.mapbox.com https://events.mapbox.com
Ниже пример TALISMAN_CONFIG, который реализует вышеуказанные требования, использует 'self' для ограничения содержимого тем же источником, что и сервер Cloud BI, и запрещает устаревшие элементы HTML, устанавливая для object-src значение 'none'.
"content_security_policy": {
"default-src": ["'self'", "'unsafe-inline'", "'unsafe-eval'"],
"img-src": ["'self'", "data:"],
"worker-src": ["'self'", "blob:"],
"connect-src": ["'self'", "https://api.mapbox.com", "https://events.mapbox.com"],
"object-src": "'none'",
}
}
Сообщение об уязвимостях
Если у вас есть опасения относительно безопасности Cloud BI или вы обнаружите уязвимость или потенциальную угрозу, свяжитесь с технической поддержкой Cloud BI. В письме настоятельно рекомендуется указать способ воспроизведения проблемы и показать пример. Техническая поддержка обязательно с вами свяжется после оценки и анализа результатов возникшей уязвимости.