DDP поддерживает следующие HTTP-заголовки для повышения безопасности взаимодействия:
Content-Security-Policy
- Настраиваемая политика безопасности контента.
- Подробное описание приведено в разделе Content Security Policy.
X-Frame-Options
- Защита от clickjacking-атак.
- Значение по умолчанию:
SAMEORIGIN. - Настраивается в конфигурации DDP в секции
security.headers.xFrameOptions. - Возможные значения:
DENY,SAMEORIGIN.
X-Content-Type-Options
- Предотвращение MIME-sniffing.
- Значение:
nosniff.
X-XSS-Protection
- Защита от XSS-атак (для устаревших браузеров).
- Значение:
1; mode=block.
Referrer-Policy
- Контроль передачи информации о реферере.
- Значение:
strict-origin-when-cross-origin.
Permissions-Policy (ранее Feature-Policy)
- Ограничение использования функций браузера.
- Значение:
geolocation=(), microphone=(), camera=(), payment=(), usb=(), magnetometer=(), gyroscope=(), accelerometer=().
Strict-Transport-Security (HSTS)
- Принудительное использование HTTPS.
- Значение:
max-age=31536000; includeSubDomains; preload.
Конфигурация
Все заголовки настраиваются в конфигурации DDP в секции security.headers:
security:
headers:
# Включить/выключить все заголовки безопасности.
enabled: true
csp:
# Разрешить загрузку изображений из внешних источников.
allowExternalImages: false
# Разрешить использование iframe виджетов.
allowIframe: false
# Дополнительные источники, добавляемые к директивам CSP: img-src, connect-src, frame-src, frame-ancestors. Например: https://example.com.
additionalSources: ""
# Значение заголовка X-Frame-Options (DENY или SAMEORIGIN).
xFrameOptions: "SAMEORIGIN"Опция enabled определяет включение или отключение всех заголовков безопасности. При значении true заголовки добавляются к HTTP-ответам, при значении false — заголовки не добавляются.
Применение
- Frontend: Заголовки добавляются на уровне веб-сервера для раздачи статических файлов и HTML страниц в компоненте DDP Frontend.
- Backend API: Заголовки добавляются через middleware для всех API ответов в компоненте DDP Backend.
Все заголовки безопасности включены по умолчанию (enabled: true). При необходимости их можно отключить или настроить в конфигурации DDP.
Content Security Policy
Content Security Policy (CSP) — это механизм безопасности, который помогает предотвратить XSS атаки и другие инъекции кода, ограничивая источники, из которых могут загружаться ресурсы (скрипты, стили, изображения и т.д.).
CSP по умолчанию
default-src 'self';
script-src 'self';
style-src 'self' 'unsafe-inline';
font-src 'self';
img-src 'self' data:;
connect-src 'self' wss: ws:;
frame-src 'self';
frame-ancestors 'self';
worker-src 'self' blob:;
object-src 'none';
base-uri 'self';
form-action 'self';
upgrade-insecure-requestsОтключение или ослабление политик может потребоваться в следующих случаях:
- Использование iframe виджетов (требует настройки
allowIframe: true). - Добавление иконок из внешних источников для объектов DDP (требует настройки
allowExternalImages: true).