Интеграция с Менеджером Инцидентов
Регистрация инцидентов на базе правил выявления угроз
Выявленные угрозы EDR агентом регистрируются в Менеджере Инцидентов
. Реализованный механизм позволяет обрабатывать
угрозы, используя функциональные возможности Менеджера Инцидентов
.
Настройки правил
По умолчанию регистрируются все правила сформированные в BI.ZONE EDR
(справочник - dim_bizone_rule
). При этом
критичность инцидента соответствует критичности правила. Для управления регистрацией алертов и критичностью правил
используется справочник bizone_alert_setting
.
- Для изменения критичности, требуется добавить строку с требуемым
alert_name
и указать необходимый уровень критичности в полеcustom_severity
- Добавьте
alert_name
и установитеis_handled
в единицу, что бы не регистрировать инцидент для данного правила
Запуск задач EDR
Запуск задачи, как реакции на инцидент, доступен в интерфейсе Менеджера Инцидентов
.
Задачи подразделяются на три категории в зависимости от типа инцидента:
- Общие задачи – применяются ко всем инцидентам, независимо от платформы
- Задачи для Linux – используются для реагирования на инциденты, обнаруженные на серверах и рабочих станциях под управлением операционных систем семейства Linux
- Задачи для Windows – предназначены для обработки инцидентов, выявленных на серверах и рабочих станциях под управлением операционной системы Windows
Список доступных активных действий автоматически формируется в зависимости от типа операционной системы на которой была выявлена угроза.
Особенности работы активных действий:
- Для каждой задачи формируется интерфейс с полями на основе параметров задачи
- Поля инцидента преобразуются в параметры задачи с использованием маппинга
Просмотр результатов задач
Результаты запускаемых задач из Менеджера Инцидентов
доступны на дашборде Smart EDR: Результаты задач
:
Переход на дашборд с подстановкой устройства в фильтр доступен в карточке инцидента
(
Посмотреть дополнительную информацию
):
Формирование пользовательских реакций
Предусмотрена возможность сбора собственных реакций на инцидент, включающих последовательность нескольких задач EDR.
Реакции формируются как python-скрипт
и хранятся на сервере Smart Monitor Web
в директории
/app/opensearch-dashboards/config/actions
. Для формирования таких реакций требуется:
- Перейти в директорию
/app/opensearch-dashboards/config/actions
- Сформировать скрипт (использовать как шаблон
remove_immutable_bit.py
) - Перезагрузить
Smart Monitor Web
:systemctl restart opensearch-dashboards
- Перейти в раздел
Навигационное меню
-Параметры системы
-Настройки модулей
-Менеджер инцидентов
-Активные действия
- Создать новое активное действие, в котором указать:
- поля инцидента:
dev_id
- обязательно- тип ОС (
linux
,windows
), для которой доступна реакция
- сформированный скрипт из списка
- поля инцидента:
Пример скрипта (remove_immutable_bit.py
):
import json
import os
import urllib3
from jinja2 import Environment, BaseLoader
from run_task import run_task
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
if __name__ == '__main__':
data = input()
data_dict = json.loads(data)
# настройки
base_path = os.path.abspath(os.path.dirname(__file__))
support_tasks_path = os.path.join(base_path, 'tasks.json')
# метаданные задач
with open(support_tasks_path, 'r') as f:
support_tasks = json.load(f)
# настройки edr
with open(os.path.join(base_path, 'bizone_edr_settings.json'), 'r') as f:
bizone_edr_settings = json.load(f)
# параметры
incident_data = data_dict['metadata'].get('fields')
agents = [incident_data.get('dev_id')]
# выполнение задач
# снять immutable бит task_id = [t for t in support_tasks if t['name'] == '[BZ] [All] Run command'][0]['id']
params = {
'command': 'sudo chattr -i ~/.bash_history',
'timeout': 1800,
'mode': 'current'
}
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents, params)
# проверка, что атрибут снят
task_id = [t for t in support_tasks if t['name'] == '[BZ] [All] Get file properties'][0]['id']
params = {
'filePath': '/root/.bash_history',
}
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents, params)
# проверить файл истории на наличие подозрительных команд
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] Get command history (one-shot)'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
# получить пользователей и группы
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] Get list of users and groups (one-shot)'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
# получить процессы
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] List processes'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
# сетевые соединения
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] Get network connections'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
Настройка активного действия:
Пользовательская реакция в
Менеджере Инцидентов
: