Пользователи могут отправлять в облачные чаты DION текстовые сообщения и файлы. В них может содержаться конфиденциальная информация, поэтому для мониторинга службой безопасности есть возможность перенаправить данные из облака на проверку в DLP систему, развернутую на стороне компании-клиента.
Режимы интеграции DLP-системы на данный момент:
Поддерживаются любые DLP, которые работают по ICAP/ICAPS.
Важно:
haproxy
/nginx
/stunnel
не предоставляются DION, устанавливаются и настраиваются организацией самостоятельно. Это лишь примеры решений, которые могут выполнять функцию проксирования трафика или терминирования TLS-сессий. Можно использовать и другое решение.
№ | Инициатор | Получатель | Порт | Протокол | Назначение | ||
IP | FQDN | IP | FQDN | ||||
1 |
80.85.252.1 80.85.252.4 185.247.192.101 185.247.192.104 185.228.50.78 185.228.50.79 |
*.dion.vc | haproxy/nginx/stunnel |
Зависит от конфигурации haproxy/nginx/stunne |
ICAPS | Передача сигнальной и управляющей информации в облако DION | |
2a | haproxy/nginx | DLP | 11344 по умолчанию, но зависит от конфигурации DLP | ICAPS | Перенаправление (проксирование) зашифрованной информации из DMZ-зоны в DLP | ||
2b | stunnel | DLP | 1344 по умолчанию, но зависит от конфигурации DLP | ICAP | Расшифровка и пересылка информации из DMZ-зоны в DLP |
Необходимо развернуть в DMZ проксирующий сервис. Если DLP-система поддерживает TLS, достаточно простого проксирования трафика. Если TLS не поддерживается на DLP, необходимо, чтобы сервис терминировал TLS и пересылал информацию на DLP в открытом виде.
В качестве прокси может выступать haproxy
или nginx
, настроенные на проксирование.
В качестве терминирующего сервиса можно использовать stunnel
.
Stunnel
не является сервисом DION, поэтому инструкция ниже представлена в ознакомительных целях. В случае проблем, рекомендуем воспользоваться официальным руководством по установке.
Stunnel
может работать на выделенном сервере или находиться в изолированной программной среде вchroot
. Все варианты использованияstunnel
представлены в официальном руководстве.
1. Установите stunnel
с помощью соответствующего менеджера пакетов. Например, в Ubuntu выполните следующую команду из окна терминала от имени привилегированного пользователя:
sudo apt install stunnel
2. С помощью доверенного удостоверяющего центра выпустите сертификаты для TLS. Сохраните приватные и открытые ключи для шифрования связи с помощью stunnel
в едином файле с ограниченным доступом.
sudo cat private_key.pem public_key.pem >> /etc/pki/tls/private/stunnel.pem
3. Создайте файл конфигурации /etc/stunnel/stunnel.conf
:
sudo touch /etc/stunnel/stunnel.conf
4. Откройте файл на редактирование:
nano /etc/stunnel/stunnel.conf
5. Внесите в файл следующие строки:
[dlp_icap]
accept = 0.0.0.0:11344
connect = 0.0.0.0:1344
cert = /etc/pki/tls/private/stunnel.pem
где:
dlp_icap
— имя службы, которую мы настраиваем в следующих строках. Stunnel
поддерживает переадресацию нескольких соединений.accept
— IP-адрес и порт, которые будут принимать соединения ICAPS. В этом примере это локальный хост и порт 11344.connect
— IP-адрес и порт, на котором DLP прослушивает запросы ICAP. В этом примере тот же компьютер и порт по умолчанию 1344.cert
— ссылка на файл с сертификатами 5. Запустите stunnel
и включите его автоматический запуск после загрузки системы:
sudo systemctl start stunnel
sudo systemctl enable stunnel
4. Сохраните изменения.
Пример:
Шаблон — это шаблон HTTP-запроса (инкапсулированного в ICAP-запрос), который отправляется на проверку в DLP-систему.
В шаблоне указывается стандартная для HTTP-запроса информация:
Параметры в шаблоне могут быть обрамленные символами "%" и "$", без обрамления.
Доступные параметры:
Название | Описание |
---|---|
Обрамленные в % | |
message_id | Идентификатор сообщения |
sender_user_id | Идентификатор пользователя, отправившего сообщение |
sender_email | Почта отправителя сообщения (если присутствует) |
chat_id | Идентификатор чата |
chat_name | Название чата |
file_name | Название файла |
send_date | Дата и время отправки сообщения |
Обрамленные в $ | |
http_method | HTTP-метод |
http_url | Адрес, на который шел HTTP-запрос |
body_length | Размер тела в байтах |
content_type | Тип контента (для файлов) |
body | Содержимое контента (файл, текст сообщения) |
Имена заголовков указываются в формате ICAP.
$http_method$ $http_url$ HTTP/1.1
X-Source-Id: %sender_user_id%
X-Source-Email: %sender_email%
X-Chat-Name: %chat_name%
X-Filename: %file_name%
$body$
Шаблон будет преобразовываться в ICAP-запрос следующего вида для проверки сообщения:
REQMOD icap://icap-service:11344/icap/fast ICAP/1.0
Allow: 204
Host: 4903d9c980e1
Encapsulated: req-hdr=0, req-body=196POST https://localhost:9087/v1/messages/batch HTTP/1.1
X-Source-Id: a2737903-3d8d-4ba6-bbba-6839cc6c442c
X-Source-Email: test_user1@test.ru
X-Chat-Name: Test200_mention
33
Контент сообщения
0
И для проверки файлов:
REQMOD icap://icap-service:11344/icap/fast ICAP/1.0
Allow: 204
Host: 4903d9c980e1
Encapsulated: req-hdr=0, req-body=196
POST https://localhost:9087/v1/messages/batch HTTP/1.1
X-Source-Id: a3848014-4d9d-5ba7-bbba-7940cc7c553c
X-Source-Email: test_user1@test.ru
X-Chat-Name: Test200_mention
X-File-Name: little_cat.jpg
84
<Bytes of file>
0
С помощью ICAP-клиента проверьте доступность URL
, который был указан в качестве хоста в административной панели DION.
Например, для ICAP-клиента из состава дистрибутива c-icap
:
c-icap-client -i <host_url> -p 11344 -tls -tls-no-verify
где <url>
— это публичный адрес/хост.