Интеграция с Kaspersky MDR
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Предварительные требования
- На пограничном МСЭ создайте правило доступа к mdr.kaspersky.com по порту TCP/443 (https://mdr.kaspersky.com)
- В KUMA добавьте пользователя с ролью Администратор и доступом к API (права POST /events)
- В консоли MDR сгенерируйте токен для доступа API:
-
- Перейдите в Settings -> API
- Нажмите Add и укажите Connection Name (данное имя будет использоваться, как имя пользователя при создании инцидентов/комментариев/вложений и т.д., так как токен доступа не привязан к конкретному пользователю)
- Укажите Role, чтобы определить права доступа для токена
- Укажите Tenant при необходимости
- Нажмите Generate
- После завершения процесса генерации будут получены:
- JWT Token - он же refresh_token, который требуется активировать, чтобы получить новую пару refresh_token и access_token
- ClientID - ID-клиента для подключения к API (требуется указывать при каждом запросе к API MDR)
-
- Загрузите архив kuma_mdr_integration.tar.gz со скриптом отсюда [будет ссылка на box]
Описание интеграции
Описанная в данной статье интеграция с Kaspersky Managed Detection and Response позволяет автоматически импортировать инциденты из консоли MDR в KUMA.
Настройка
- Все из под root?
-
Скопируйте архив kuma_mdr_integration.tar.gz на сервер (в случае распределенной инсталяции на сервер Core) и распакуйте его в папку /opt с помощью следующей команды:
sudo tar -xf kuma_mdr_integration.tar.gz -C /opt
- Перейдите в папку /opt/mdr/conf и отредактируйте файл config.yml:
- В секции General settings укажите актуальный путь до папок (по умолчанию, указан /opt/mdr/*), а также client_id
- В секции Modules settings -> kuma укажите:
- api_url (FQDN/IP:порт API-интерфейса KUMA)
- username (ранее созданный пользователь с доступом к API)
- password (пароль ранее созданного пользователя с доступом к API)
- tenantId (тенант, в котором будут создаваться инциденты)
TenantID можно получить из события аудита KUMA
-
- В секции Modules settings -> logging также укажите актуальный путь до папки со скриптом (по умолчанию, указан /opt/mdr/log)
- В секции Modules settings -> logging также укажите актуальный путь до папки со скриптом (по умолчанию, указан /opt/mdr/log)
- Перейдите в папку /opt/mdr/conf и добавьте в файл .refresh_token ранее сгенерированный токен для доступа к API MDR
После добавления токена в файл .refresh_token проверьте, что в конце файла отсутствует символ новой строки /n , из-за которого попытка аутентификации будет неуспешной. См. команды ниже:
# проверяем наличие символа новой строки
wc -l /opt/mdr/conf/.refresh_token
# если вывод "1 .refresh_token", то удаляем символ
perl -p -i -e 'chomp if eof' /opt/mdr/conf/.refresh_token
# проверяем, что символ новой строки успешно удален
wc -l /opt/mdr/conf/.refresh_token
# должен быть вывод "0 .refresh_token"
- Перейдите в папку /opt/mdr/conf и в файле .last_check укажите время, начиная с которого необходимо начать собирать инциденты. Для теста можно указать время до появления последнего инцидента. Формат в милисекундах, то есть должно быть 13 цифр (пример, )
- Перейдите в папку /opt/mdr и сделайте файл main.py исполняемым с помощью следующей команды:
chmod +x main.py
- Далее запустите скрипт main.py с помощью команды:
nohup /opt/mdr/main.py &
Если при запуске скрипта появляются сообщения об отсутствии необходимых пакетов - выполните их установку
- Если после запуска скрипта в консоли отсутствую ошибки (кроме предупреждений о невалидном сертификате), значит интеграция работает корректно.
Лог работы скрипта пишется в /opt/mdr/log/app.log
- Убедитесь, что выполнен импорт инцидентов, созданных в консоли MDR после времени, указанного на одном из предыдущих шагов
- Скриншот с инцидентом
- Настройте автоматический запуск скрипта после перезагрузки сервера:
sudo crontab -e
@reboot python3 /opt/mdr/main.py &
- Создать директорию log (/opt/mdr/conf/log)?