DLP-система
Встроенная в Пачку DLP-система (Data Loss Prevention) позволяет вам построить защиту от утечек конфиденциальной информации без интеграции сторонних сервисов.
Управление правилами DLP-системы доступно в разделе Настройки пространства > DLP. Вы можете изменять список правил, а также включать и отключать их.
Список правил DLP-системы
Создание правила
Чтобы внести новое правило нажмите на кнопку «Создать новое правило», укажите название правила (чтобы было проще его потом изменить или удалить), его приоритет и JSON объект условия.
Создание нового правила
Параметр «Приоритет» — целое число, определяющее порядок обработки правила. Большее число — выше приоритет: правило с приоритетом 10 обрабатывается раньше правила с приоритетом 5. Правила не могут иметь одинаковое значение приоритета.
JSON условие состоит из трёх полей: контекст применения правила (необязательное), условие срабатывания правила и действие при срабатывании правила. Параметры и пример условия вы можете посмотреть ниже.
В админке правило редактируется как обычный текст в одном поле — визуального конструктора нет. Пишите JSON руками или копируйте готовые примеры из этого гайда и подставляйте свои значения.
Структура правила
false11Сообщение заблокировано политикой безопасностиУсловия
В одном правиле можно скомбинировать любое число условий через массивы all (логическое И — должны сработать все) и any (логическое ИЛИ — хотя бы одно). Допускается одновременное использование обоих массивов и вложенность.
Регулярные выражения
В условиях type: "regex" используется синтаксис Google RE2 — это не PCRE: lookahead/lookbehind, backrefs и рекурсия не поддерживаются, зато регулярка не сможет «зависнуть» на патологическом вводе. Максимальная длина паттерна — 2000 символов, время выполнения ограничено 200 мс на одно сообщение.
Ключевые слова
Условия type: "keyword" ищут целое слово (с учётом границ слова \b) без учёта регистра, плюс одну распространённую морфологическую форму с суффиксом на «н»:
"секрет"сматчит «секрет» и «секретная», «секретный», «секретное», но не «секреты» или «секрета».- Для остальных форм используйте
regex.
Подсчёт совпадений
Поля min_hits и max_hits позволяют требовать определённое число совпадений в одном сообщении. По умолчанию min_hits = 1 и max_hits не задан.
Действия
| Тип | Что происходит |
|---|---|
AUDIT_LOG | Сообщение проходит без изменений, в журнал аудита пишется событие dlp_violation_detected. |
BLOCK | Текст сообщения подменяется на action.message (или на «Удалено DLP», если поле не задано). Сообщение остаётся в чате, никаких записей в аудите. |
BLOCK_AND_AUDIT_LOG | И подмена текста, и запись события dlp_violation_detected в журнал аудита. |
Поле action.message показывается в самом чате вместо исходного текста — его видят все участники, не только автор. Имеет смысл писать туда нейтральную формулировку про политику безопасности, а не подробности правила.
Контекст применения
Опциональный объект scope позволяет ограничить, к каким сообщениям применять правило. Все указанные параметры комбинируются через И; если scope не задан, правило применяется ко всем сообщениям.
to_external: true— только в чатах, где состоят гости или мульти-гости.channel_type— массив изpersonal,discussion,channel,thread(тип чата).user_role— массив ролей автора сообщения в чате:owner,admin,editor,member,subscriber,not_member.
Порядок обработки
Правила обрабатываются последовательно от более высокого приоритета к низкому (большее число = раньше). Первое сработавшее правило останавливает обработку — остальные правила к сообщению уже не применяются. Если ни одно правило не сматчилось, сообщение проходит без изменений и без записи в аудит.
Например, в пространстве заведены два правила:
- Правило A (
priority: 10,BLOCK) — блокирует номера телефонов. - Правило B (
priority: 5,AUDIT_LOG) — логирует упоминания слова «паспорт».
Сотрудник пишет в чат: «паспорт +7 999 123-45-67». Сообщение подходит под оба правила, но сначала проверяется A (приоритет выше): оно срабатывает, текст подменяется, в чате остаётся action.message. Правило B на этом сообщении не проверяется, в журнале аудита записи о нём не появится.
Журнал аудита
Действия AUDIT_LOG и BLOCK_AND_AUDIT_LOG добавляют в журнал аудита запись с типом dlp_violation_detected. У каждой записи журнала есть поле details — объект с подробностями события, структура которого зависит от типа.
Для срабатывания DLP-правила в details приходит:
Получить такие события можно методом GETЖурнал аудита событий с фильтром event_key=dlp_violation_detected. Подробнее — в гайде по журналу аудита.