Блог BearPass

Модуль «Правила»: автоматизация сценариев безопасности в BearPass

Модуль «Правила» в BearPass — автоматизация сценариев безопасности и контроля доступов

Модуль «Правила»: автоматизация сценариев безопасности в BearPass

В продукте появилась возможность автоматизации получения уведомлений и запрета совершения определённых действий с помощью модуля «Правила».
Он позволяет гибко настраивать условия и триггеры для улучшения процессов безопасности хранения и использования данных.
Модуль предназначен для построения сценариев на основе событий в системе и выполнения действий — уведомлений или запрета операций — без ручного контроля.
Подробное техническое описание доступно в документации.
Важно
В релизе 2.24 вышла первая версия модуля автоматизации. Мы будем рады идеям и предложениям по его развитию.

Назначение модуля «Правила»

Функционал предназначен для гибкой настройки:

  • почтовых уведомлений о событиях в системе;
  • запрета действий пользователей на основе условий;
  • сценариев с использованием операторов и регулярных выражений.

Модуль позволяет перевести контроль безопасности из ручного режима в управляемые правила, которые работают автоматически.

Принцип работы

Правило срабатывает, когда в системе происходит выбранный тип события и выполнена логическая цепочка условий, заданная в конструкторе.
После срабатывания правило выполняет действие:
  • отправляет email-уведомление;
  • или запрещает выполнение операции с показом сообщения пользователю.

Примеры использования

Посмотрите примеры решения задач бизнеса с помощью этого модуля, чтобы лучше понимать его возможности.

Доступ к функционалу

Если для вашей роли разрешено использование данного функционала, в административном разделе будет доступен пункт меню «Правила».
Интерфейс модуля «Правила» в BearPass — настройка автоматических сценариев безопасности и ограничений действий пользователей

Просмотр списка правил

Основной интерфейс раздела содержит таблицу с перечнем созданных правил.

Таблица состоит из следующих колонок:
  • ID — уникальный идентификатор правила в системе.
  • Статус — указывает, активно ли правило в данный момент. Активные правила отмечены зеленой точкой рядом. Неактивные отображаются серым цветом.
  • Название — пользовательское название правила для более удобного ориентирования в списке.
  • Событие — тип события (триггера), при наступлении которого проверяется правило.
  • Действие — действие, которое выполнит правило: «Запретить действие» или «Отправить уведомление».
Для каждого правила в правой части строки доступны иконки для его редактирования (карандаш) и удаления (корзина).
Над списком правил расположена кнопка «Добавить» для создания нового правила.

Создание и редактирование правила

Для создания нового правила нажмите кнопку «Добавить», расположенную в правом верхнем углу над списком. Для редактирования существующего — воспользуйтесь кнопкой (карандаш) в строке нужного правила.
Интерфейс создания и редактирования правила идентичен и состоит из следующих блоков:
Настройка правила безопасности в BearPass — условия, события и действия для автоматического запрета доступа пользователю

Общие настройки


  • Активно — включает или отключает правило. Неактивные правила не выполняются.
  • Название — произвольное имя для удобства.
  • Событие — тип события, при котором правило проверяется.

Доступные события (на момент текущей версии):

  • Создание элемента
  • Обновление элемента
  • Перемещение элемента в корзину
  • Удаление элемента из корзины
  • Просмотр пароля
  • Обновление права доступа к элементу
  • Авторизация пользователя

Набор событий может отличаться в зависимости от версии продукта. Для доступа к актуальному списку рекомендуется использовать последнюю версию BearPass.

Условия

В этом блоке выстраивается логическая цепочка условий, которые должны быть соблюдены для срабатывания правила.
Настройка условий правила в BearPass — фильтрация по названию элемента и группам пользователей с логикой И / ИЛИ
Оператор группы определяет логику для всех условий и вложенных групп. По умолчанию он установлен
в положение «И» (AND), что означает, что все добавленные условия должны быть выполнены. Вы можете изменить его на «ИЛИ» (OR): в этом случае для срабатывания правила будет достаточно выполнения хотя бы одного из условий или групп условий.

Кнопками «Условие» и «Группа» вы добавляете новые элементы в конструктор.

  • Условие — это одиночный элемент для проверки исполнения. В нем вы выбираете конкретный параметр (например, «Email пользователя»), оператор для его проверки (например, «содержит») и значение для сравнения (например, «@yandex.ru»). Условие считается выполненным, если выбранный параметр соответствует заданным критериям.
  • Группа — это контейнер для объединения нескольких условий под одним логическим оператором («И» или «ИЛИ»). Группы можно вкладывать друг в друга для построения сложной логики.
Операторы
Ниже приведено описание логики работы каждого из доступных операторов сравнения:
равно

равно — проверяет точное совпадение параметра с указанным значением.

Доступно для типов: string, integer, datetime, enum.

не равно

не равно — проверяет, что параметр не совпадает с указанным значением.

Доступно для типов: string, integer, datetime, enum.

содержит

содержит — проверяет, что параметр (строка) включает в себя указанную подстроку.

Доступно для типа: string.

не содержит

не содержит — проверяет, что параметр (строка) не включает в себя указанную подстроку.

Доступно для типа: string.

начинается с

начинается с — проверяет, что параметр (строка) начинается с указанной подстроки.

Доступно для типа: string.

заканчивается на

заканчивается на — проверяет, что параметр (строка) заканчивается указанной подстрокой.

Доступно для типа: string.

совпадает с шаблоном

совпадает с шаблоном — проверяет, что параметр (строка) соответствует указанному регулярному выражению.

Доступно для типа: string.

не совпадает с шаблоном

не совпадает с шаблоном — проверяет, что параметр (строка) не соответствует указанному регулярному выражению.

Доступно для типа: string.

больше / меньше / больше или равно / меньше или равно

больше, меньше, больше или равно, меньше или равно — производят сравнение числового значения или даты.

Доступно для типов: integer, datetime.

содержится в

содержится в — проверяет, что значение параметра присутствует в указанном списке значений. Каждое значение списка вводится в отдельное поле.

Доступно для типов: string, integer, datetime, enum.

не содержится в

не содержится в — проверяет, что значение параметра отсутствует в указанном списке значений.

Доступно для типов: string, integer, datetime, enum.

содержит (array)

содержит (для типа array) — проверяет, что указанное единичное значение присутствует в массиве (списке) параметра.

не содержит (array)

не содержит (для типа array) — проверяет, что указанное единичное значение отсутствует в массиве (списке) параметра.

Пример использования оператора
Если для параметра «Элемент → Название» выбрать оператор «содержит» и указать значение «Финанс», условие будет выполнено для элементов с названиями «Отчет по Финансам», «Финансовый отдел» и т.д.
При этом, к элементу «финансовые показатели» правило применено не будет из-за разницы в регистре. Регистронезависимость можно создать самостоятельно через регулярные выражения.

Пример построения логики
Настройка условия правила в BearPass — фильтрация элементов по названию с оператором «содержит»
Общий оператор: И

  • Условие 1: Пользователь → Код роли не равно «admin»
  • Группа 1 (Оператор: ИЛИ):
  • Условие 2: Элемент → Название содержит 'Секретно'
  • Условие 3: Элемент → Глубина равна 0
Правило сработает, если у пользователя НЕ административная роль И название элемента содержит ‘Секретно’ ИЛИ элемент с любым названием находится в корневой папке.
Регулярные выражения
При выборе операторов «совпадает с шаблоном» или «не совпадает с шаблоном» для строковых параметров вы можете использовать регулярные выражения для более гибких условий фильтрации.

Основные правила использования:
  • Обработка происходит в соответствии с синтаксисом PCRE.
  • Проверка выполняется с учетом регистра символов.
  • Специальные символы (например, ., *, ?, [ ]) должны быть экранированы обратной косой чертой (\), если должны трактоваться буквально.
  • Квантификаторам (например, *, +) по умолчанию соответствует максимально длинная подходящая строка.
Пример использования в правиле:
Настройка условия правила в BearPass — фильтрация элементов по названию с оператором «содержит»
  • Событие: Создание элемента
  • Условие: Элемент → Название совпадает с шаблоном « ~(пароль|password|pwd)~iu »
  • Действие: Запретить с текстом уведомления «Политика безопасности нашей компании запрещает использование слова «пароль» в названиях элементов.».
Результат: Пользователю будет запрещено создавать папки или записи, в названии которых есть слова «пароль», «password» или «pwd» в любом регистре.
Добавление записи в BearPass с применением политики безопасности — запрет использования слова «пароль» в названии элемента

Действие

На данный момент возможны два типа действий при срабатывании правила:

1. Отправить почтовое уведомление
Настройка email-уведомления в BearPass при экспорте записей из корпоративного хранилища с указанием получателей
  • Получатели — введите email-адреса. После ввода каждого адреса нажмите Enter, чтобы добавить его в список.
  • Тема письма — укажите тему email-сообщения.
  • Текст письма — составьте текст email-сообщения.
2. Запретить действие
Действие правила в BearPass — запрет операции с отображением уведомления о политике безопасности
Текст уведомления — укажите текст сообщения, которое увидит пользователь в интерфейсе BearPass при попытке выполнить запрещенное действие.
Переменные для уведомлений

Во всех уведомлениях вы можете использовать специальные коды переменных (например, %user.name%, %item.name%), которые будут автоматически заменены на актуальные данные в момент срабатывания правила.
Список доступных переменных динамически отображается в блоке «Переменные». Для удобства копирования наведите курсор на нужную переменную. Обратите внимание, что у разных типов событий возможен разный набор типов переменных.
Пример использования переменных
Настройка email-уведомления в BearPass — выбор получателей и шаблона письма с динамическими переменными
Результат:
Email-уведомление BearPass об удалении элемента — фиксация действий пользователя и контроль безопасности

Примеры решения задач бизнеса с помощью модуля «Правила»

Мы выбрали несколько обращений в техническую поддержку, чтобы показать, как они могут быть решены с помощью модуля «Правила»:

1. Запретить выдавать доступ на корневые папки проектов

У нас есть проекты наших клиентов. Каждый проект - папка в BearPass в корне дерева. Проектному менеджеру выдан доступ на управление папкой проекта. Но мы сталкиваемся с ситуациями, когда некоторые менеджеры шарят всю папку клиента всем подряд. Можно ли сделать так, чтобы менеджеры не могли шарить основные папки клиентов, а только элементы внутри?
Решение:
  • Событие: Обновление права доступа к элементу
  • Условия:
Глубина → равно → 0 (корень)
Название группы пользователей → содержит → PM
  • Действие: Запретить действие с уведомлением «Для предоставления доступа к корневым папкам обратитесь к Сергею Никифорову.»

2. Уведомление об авторизации пользователя

Есть сервисный аккаунт, которым пользуется сразу несколько сотрудников. Мы хотели бы получать уведомления при каждой авторизации этого аккаунта в BearPass.
Решение:
  • Событие: Авторизация пользователя
  • Условие: ID пользователя → равно → NNN
  • Действие: Отправить уведомление

3. Убедиться, что никто не просматривал/менял пароль и не получал к нему доступов

Как узнавать, когда кто-то получает доступ к паролю от сервиса ХХХ ?
Решение:

Первое правило:
  1. Событие: Просмотр пароля
  2. Условие: ID элемента → равно → NNN
  3. Действие: Отправить уведомление

Второе правило:
  1. Событие: Обновление прав доступа к элементу
  2. Условие: ID элемента → равно → NNN
  3. Действие: Отправить уведомление

4. Соответствие названий паролей определенным правилам

Для работы наших интеграций нам требуется, чтобы названия записей соответствовали определенной логике. При этом, записи регулярно вбиваются и обновляются десятком инженером вручную в разных условиях. Регулярно случаются опечатки из-за которых интеграции начинают сбоить. Можно ли задать проверку соответствия названий паролей определенному шаблону?
Решение:

Первое правило:
  1. Событие: Создание элемента
  2. Условие: Название → не совпадает с шаблоном → [описать регулярным выражением допустимый шаблон]
  3. Действие: Запретить действие

Второе правило:
  1. Событие: Обновление элемента
  2. Условие: Название → не совпадает с шаблоном → [описать регулярным выражением допустимый шаблон]
  3. Действие: Запретить действие

Модуль «Правила» — это первый шаг к автоматизации сценариев безопасности в BearPass.

Он позволяет:
  • убрать ручной контроль;
  • формализовать требования безопасности;
  • автоматически реагировать на события;
  • снижать риск ошибок и нарушений.
Функционал будет развиваться, и мы будем рады обратной связи от пользователей.
Рекомендуем к прочтению
Импортозамещение менеджеров паролей: как перейти на BearPass без потерь
Как безопасно заменить зарубежный менеджер паролей и перейти на BearPass: этапы миграции, риски и практические рекомендации.
Модуль «Правила»: автоматизация сценариев безопасности в BearPass
В BearPass появился модуль «Правила» — инструмент автоматизации сценариев безопасности. Настройка уведомлений, запрета действий, условий, триггеров и регулярных выражений для контроля хранения и использования данных.
Переезд с Passwork в BearPass — без ручной миграции
Автоматизированный переезд с Passwork в BearPass: перенос пользователей, групп, ролей, прав доступа, структуры папок и LDAP без ручной настройки. Полная миграция корпоративного менеджера паролей.
Блог BearPass
В блоге BearPass пишем о защите корпоративных доступов, управлении паролями и секретами, импортонезависимых решениях и построении безопасной ИТ-инфраструктуры.
Релизы Экспертиза Новости