DLP-система анализирует содержимое сообщений и передаваемых файлов, определяет наличие чувствительных данных по заданным правилам и шаблонам и, в зависимости от политики, разрешает передачу, блокирует её или фиксирует событие в журнале безопасности.
В данной статье описан порядок настройки интеграции гибридных чатов DION с внешней DLP-системой.
Для работы гибридных чатов с DLP системой требуется использовать DLP-adapter, который будет принимать сообщения от службы dion-crypto-engine и отправлять данные во внешнюю DLP систему по заданному шаблону.
Работа с гибридными чатами в текущий момент возможна только в пассивном режиме (режим оповещения)
1. Установите пакет dlp-adapter:
sudo apt install -f /<полный путь к пакету>/<имя файла>
2. После установки откройте на редактирование конфигурационный файл /etc/dion/dlp-adapter.yml:
sudo nano /etc/dion/dlp-adapter.yml
3. Заполните конфигурационный файл в соответствии с комментариями в файле и сохранить изменения:
В dlp.template укажите стандартную для HTTP-запроса информацию:
Параметры в шаблоне могут быть:
Доступные параметры:
| Название | Описание |
|---|---|
| %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-адаптера |
Имена заголовков указываются в формате ICAP.
dlp:
config_template_enabled: true # Использовать шаблон ICAP из данного файла
cloud_templates_enabled: false
cloud_templates_cache_ttl: 120s
default_timeout: 10s
host: 192.0.2.10 # Адрес DLP-сервера
port: 8443 # Порт, на котором слушает DLP-сервер
full_path: "/icap/full" # Путь для полной проверки (если не поддерживаются разные режимы, укажите одинаковый дла full и fast path)
fast_path: "/icap/fast" # Путь для быстрой проверки (если не поддерживаются разные режимы, укажите одинаковый дла full и fast path)
secure_data: "безопасные данные" # Тестовые данные для проверки безопасного сообщения
secure_test_enabled: false # Включить тест безопасного сообщения
insecure_data: "секретные данные" # Тестовые данные для проверки небезопасного сообщения
insecure_test_enabled: false # Включить тест небезопасного сообщения
# HTTP-шаблон запроса к DLP (обычно корректируется под требования DLP-системы клиента)
template: |
REQMOD $icap_url$ ICAP/1.0
Allow: $icap_allow$
Host: $icap_host$
Encapsulated: $icap_encapsulated$
X-Authenticated-User: %user_name%
X-Client-Hostname: 1936-DION
X-Client-Ip: %client_ip%
X-Dozor-Filename: %file_name%
X-Message-Date: %req_date%
%additional_icap_headers%
$http_method$ $http_url$ HTTP/1.1
Content-Length: $body_length$
Content-Type: $content_type$
X-Authenticated-User: %user_name%
X-Client-Hostname: 1936-DION
X-Client-Ip: %client_ip%
X-Dozor-Filename: %file_name%
X-Message-Date: %req_date%
%additional_headers%
$body$
# -------------------- gRPC сервер --------------------
grpc_server:
address: 9147
start_timeout: 5s
tls:
enabled: true # Включение TLS
ca: /etc/ssl/corp.contur/corp_ca.pem # Путь к .pem
cert: /etc/ssl/corp.contur/corp_srv.crt # Путь к .crt
key: /etc/ssl/corp.contur/corp_srv.key # Путь к .key
4. Перезапустите сервис и убедитесь что сервис запущен без ошибок:
systemctl restart dion-dlp-adapter
systemctl status dion-dlp-adapter
5. Проверить логи на отсутствие ошибок:
journalctl -u dion-dlp-adapter
Подразумевается, что на данном этапе уже имеется настроенный сервис dion-crypto-engine, однако если это не так, то сначала следует выполнить настройку согласно данной инструкции.
Дальнейшая настройка реализует отправку содержимого чатов в DLP-adapter, который, в свою очередь, передает данные уже во внешнюю DLP-систему для инспекции.
1. Открыть конфигурационный файл crypto-engine:
sudo nano /etc/dion/dion-crypto-engine.yml
2. В блоке dlp включить включить использование DLP:
dlp:
# Для включения DLP
isEnabled: true
fileChunkSize: 64000
3. В блоке services.grpc.dlp-adapter.hosts указать адрес и порт DLP адаптера:
services:
grpc:
# DLP adapter
dlp-adapter:
# Адрес и порт DLP адаптера
hosts:
- "10.0.0.100:9147"
4. В блоке services.grpc.dlp-adapter.ssl опционально возможно включение шифрования (в этом случае на dlp-adapter также должно быть включено шифрование):
ssl:
# Включение SSL
isEnabled: true
5. Если шифрование было включено, необходимо указать сертификаты:
Сертификаты в dion-crypto-engine можно указывать как в явном виде, по аналогии с примером, так и в виде пути до файлов сертификатов.
server:
# true — отключить проверку сертификата сервера
insecureSkipVerify: true
# Доверенный CA
caCert: |
-----BEGIN CERTIFICATE-----
MIIFgTCCA2mgAwIBAgIUfRzT9dDkeOtkTeDLiWetzrys+/AwDQYJKoZIhvcNAQEL
-----END CERTIFICATE-----
client:
# Приватный ключ клиента
privateKey: |
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDjr1MJ1NLlysNA
-----END PRIVATE KEY-----
# Клиентский сертификат
cert: |
-----BEGIN CERTIFICATE-----
MIIEoDCCAoigAwIBAgIURA6D8pQcI1ZaXDQB4MTsRdMfcfUwDQYJKoZIhvcNAQEL
-----END CERTIFICATE-----
4. Сохранить внесенные изменения.
5. Перезапустить сервис:
sudo systemctl restart dion-crypto-engine
Включите тоггл "Проверка сообщений DLP-системой" в разделе "Чаты":

Включение тоггла “Проверка сообщений в чата DLP-системой" при отключенной инспекции в конфигурационном файле dion-crypto-engine, приведет к падению сервиса.
После настройки сервисов в логах DLP адаптера мы увидим информацию об отправке сообщения в DLP систему:
