Интеграция с Kaspersky MDR
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Предварительные требования
- На пограничном МСЭ создайте правило доступа к mdr.kaspersky.com по порту TCP/443 (https://mdr.kaspersky.com)
- В KUMA создать пользователя с доступом к API (назначить права POST /events)
- В консоли MDR сгенерируйте токен для доступа
- Загрузите архив kuma_mdr_integration.tar.gz со скриптом отсюда [будет ссылка на box]
Описание интеграции
Описанная в данной статье интеграция с Kaspersky Managed Detection and Response позволяет ....
Настройка
- Все из под root?
-
Скопируйте архив kuma_mdr_integration.tar.gz на сервер (в случае распределенной инсталяции на сервер Core) и распакуйте его в папку /opt с помощью следующей команды:
tar -xf kuma_mdr_integration.tar.gz /opt
- Перейдите в папку /opt/mdr/conf и отредактируйте файл config.yml:
- В секции General settings укажите путь до папки со скриптом (по умолчанию, указан /opt/...) и client_id
- В секции Modules settings -> kuma укажите:
- api_url (FQDN/IP:порт API-интерфейса KUMA)
- username (ранее созданный пользователь с доступом к API)
- password (пароль ранее созданного пользователя с доступом к API)
- tenantId (тенант, в котором будут создаваться инциденты)
TenantID можно получить из события аудита KUMA
-
- В секции Modules settings -> logging также укажите путь до папки со скриптом (по умолчанию, указан /opt/...)
- Открыть conf/.refresh_token и
- Перейдите в папку /opt/mdr/conf и добавьте в файл .refresh_token ранее сгенерированный токен для доступа к API MDR
UPD: Дал права Post /events
UPD: tenantId можно взять из события аудита
В разделе Modules settings -> logging тоже укажите путь до папки со скриптом
Открыть conf/.refresh_token и вставить туда API токен для доступа в MDR
Для получения токена, необходимо:fa
перейте в Settings → API
указать Connection Name (он будет использоваться как имя пользователя при создании инцидентов/комментариев/вложений и т.д., так как токен доступа не привязан к конкретному пользователю)
указать Role, чтобы определить права доступа для токена
указать Tenant при необходимости
нажать Generate
после генерации будут получены:
JWT Token - он же refresh_token, который требуется активировать, чтобы получить новую пару refresh_token и access_token
ClientID - ID клиента для подключения по API. Требуется указывать при каждом запросе по API
Открыть conf/.last_check и указать время, с которого необходимо начать собирать инциденты. Для теста можно указать время до появления последнего инцидента. Формат в милисекундах, то есть должно быть 13 цифр
Попробовать запустить скрипт python3 ./main.py. Если ошибки не повалились, кроме предупреждений о невалидном сертификате, а просто ничего не происходит, значит все работает. Лог скрипта пишется в log/app.log. Ошибку с невалидным сертификатом можно будет убрать, еtсли потребуется.
#Дополнительные действия
Установить недостающие пакеты
pip install $наименование пакета
Создать директорию log (/opt/mdr/conf/log)