DLP-система анализирует содержимое сообщений и передаваемых файлов, определяет наличие чувствительных данных по заданным правилам и шаблонам и, в зависимости от политики, разрешает передачу, блокирует её или фиксирует событие в журнале безопасности.
В данной статье описан порядок настройки интеграции DION с внешней DLP-системой. Приведены необходимые параметры конфигурации, команды для включения DLP-сервисов, а также действия в панели администрирования DION для активации проверки сообщений чатов.
1. Внесите необходимые параметры в файл /home/dion/on_dion/inventories/dion.<YourDomain>.com/group_vars/all/vars.yaml следующим образом:
Пример заполнения vars.yaml:
dlp_enabled: true
dlp_host: 10.0.0.105
dlp_port: 2344
dlp_full_path: "/icap/spool"
dlp_fast_path: "/icap/spool"
dlp_template: |
REQMOD $icap_url$ ICAP/1.0
Host: $icap_host$
Allow: $icap_allow$
Encapsulated: $icap_encapsulated$
$http_method$ $http_url$ HTTP/1.1
Content-Type: $content_type$
X-Client-Ip: %sender_user_ip%
X-Server-IP: $server_ip$
X-Dozor-Mapping-Schema: DION
X-Dozor-Application: DION
X-Dozor-Src-Email: %sender_email%
X-Dozor-Dst-Im: %chat_name%
X-Dozor-Chat-Id: %chat_id%
X-Dozor-Received-Date: %send_date%
X-Dozor-Filename: $file_name$
$body$
|
При интеграции с Solar Dozor DLP укажите:
|
Шаблон dlp_template состоит из двух основных частей:
В реализации DION обязательная часть шаблона должна содержать стартовую строку ICAP-запроса и следующие ICAP-заголовки:
REQMOD $icap_url$ ICAP/1.0
Host: $icap_host$
Allow: $icap_allow$
Encapsulated: $icap_encapsulated$
Значения служебных переменных $icap_url$, $icap_host$, $icap_allow$ и $icap_encapsulated$ формируются DION при подготовке ICAP-запроса.
После ICAP-заголовков должна следовать пустая строка, отделяющая их от инкапсулированного HTTP-запроса.
$http_method$ $http_url$ HTTP/1.1
После стартовой строки указываются HTTP-заголовки, предусмотренные шаблоном и требованиями используемой DLP-системы.
Например:
Content-Type: $content_type$
X-Client-Ip: %sender_user_ip%
X-Server-IP: $server_ip$
X-Dozor-Mapping-Schema: DION
X-Dozor-Application: DION
X-Dozor-Src-Email: %sender_email%
X-Dozor-Dst-Im: %chat_name%
X-Dozor-Chat-Id: %chat_id%
X-Dozor-Received-Date: %send_date%
X-Dozor-Filename: $file_name$
После HTTP-заголовков должна следовать пустая строка и тело инкапсулированного HTTP-запроса:
$body$
Таким образом, минимальный шаблон, необходимый для формирования ICAP-запроса в DION: может быть представлен следующим образом:
REQMOD $icap_url$ ICAP/1.0
Host: $icap_host$
Allow: $icap_allow$
Encapsulated: $icap_encapsulated$
$http_method$ $http_url$ HTTP/1.1
Host: $http_host$
$body$
В dlp_template могут использоваться обязательные переменные, опциональные переменные и константные значения.
Значения, заключённые в символы $, являются обязательными для корректного формирования запроса.
Значение такой переменной должно быть определено при формировании запроса. При отсутствии необходимого значения корректное формирование запроса невозможно.
Значения, заключённые в символы %, содержат дополнительные данные сообщения и могут использоваться DLP-системой для анализа и применения политик.
Если соответствующие данные отсутствуют, это не препятствует формированию и отправке запроса в DLP-систему.
Значения без обрамления символами $...$ или %...% являются константами и передаются в запрос в указанном виде.
Дополнительные HTTP-заголовки, константы, обязательные и опциональные переменные могут быть добавлены в шаблон в соответствии с требованиями используемой DLP-системы.
Доступные параметры:
| Название | Описание |
|---|---|
| %message_id% | Идентификатор сообщения |
| %sender_user_id% | Идентификатор пользователя, отправившего сообщение |
| %sender_email% | Почта отправителя сообщения (если присутствует) |
| %chat_id% | Идентификатор чата |
| %chat_name% | Название чата |
| %send_date% | Дата и время отправки сообщения |
| %sender_user_ip% | IP-адрес пользователя, который отправил сообщение |
| $file_name$ | Название файла |
| $http_method$ | HTTP-метод |
| $http_url$ | Адрес, на который шел HTTP-запрос |
| $body_length$ | Размер тела в байтах |
| $content_type$ | Тип контента (для файлов) |
| $body$ | Содержимое контента (файл, текст сообщения) |
| $icap_url$ | URL запроса ICAP |
| $icap_host$ | Значение заголовка host для ICAP-запроса |
| $icap_allow$ | Допустимый ответ от ICAP |
| $icap_encapsulated$ | Указывает, где начинаются части HTTP-сообщения внутри ICAP пакета |
| $http_host$ | Адрес сервера DION |
| $text_content_disposition$ | Указывает способ обработки передаваемого содержимого |
| $file_content_disposition$ | Указывает способ обработки передаваемого содержимого |
| $server_ip$ | IP-адрес контейнера dlp-адаптера |
2. В каталоге /home/dion/on_dion/ выполните команду, чтобы включить функции DLP:
./dion.sh -t dv_dlp_adapter,dc_dlp_service
|
ВНИМАНИЕ: Если DLP-система была включена, повторное развёртывание с параметром dlp_enabled=false не приведёт к отключению интеграции с DLP. Отключение интеграции с DLP производится в панели администрирования. |
3. В панели администрирования DION перейдите в нужную организацию, затем откройте Общие настройки → Проверка DLP → Редактировать параметры.

4. В окне Параметры подключения к DLP системе заполните необходимые поля и укажите произвольный шаблон ICAP-запросов (данный шаг необходим, чтобы включить работу DLP, однако внесённые параметры шаблона будут проигнорированы).

Для ICAP-шаблона можно использовать следующую структуру:
$http_method$ $http_url$ HTTP/1.1
$body$
5. Перейдите в раздел Чаты и установите переключатель Проверка сообщений чата DLP-системой в положение “включено”.

| Настройки DLP применяются не сразу. Может пройти пара минут прежде чем сообщения начнут поступать в DLP-систему. |
В случае возникновения ошибок проверьте логи контейнера dv_dlp_adapter.