C01. Политика безопасности

Версия 22.1 от Ирина Сафонова на 14.07.2023, 23:41

Содержание

Назначение политики безопасности контента


Возможности политики

Политика безопасности контента — это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая межсайтовые скриптинги (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':
default-src 'self' 'unsafe-eval' 'unsafe-inline'
  • Некоторые дашборды загружают изображения с использованием URI данных:
img-src 'self' data:
  • Диаграммы MapBox используют воркеры и должны подключаться к серверам MapBox:
worker-src 'self' blob:
connect-src 'self' https://api.mapbox.com https://events.mapbox.com

Пример с учтенными требованиями требованиями к политике


Ниже пример TALISMAN_CONFIG, который реализует вышеуказанные требования, использует 'self' для ограничения содержимого тем же источником, что и сервер Cloud BI. Также он запрещает устаревшие элементы HTML, устанавливая для object-src значение 'none'.

TALISMAN_CONFIG = {
    "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.

В письме настоятельно рекомендуется указать способ воспроизведения проблемы и показать пример.

Техническая поддержка обязательно с вами свяжется после оценки и анализа результатов возникшей уязвимости.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰