Интеграция с Kaspersky MDR
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Предварительные требования
- На пограничном МСЭ создайте правило доступа к mdr.kaspersky.com по порту TCP/443 (https://mdr.kaspersky.com)
- В KUMA добавьте пользователя с ролью Администратор, сгенерируйте токен для взаимодействия по API и разрешите доступ к следующим методам API:
- POST /events
- POST /incidents/create
- POST /incidents/comment
- POST /incidents/close
- В консоли MDR сгенерируйте токен для доступа к API:
- Перейдите в Settings -> API
- Нажмите Add и укажите Connection Name (данное имя будет использоваться, как имя пользователя при создании инцидентов/комментариев/вложений и т.д., так как токен доступа не привязан к конкретному пользователю)
- Укажите Role, чтобы определить права доступа для токена
- Укажите Tenant при необходимости
-
-
Если для создаваемых в консоли MDR инцидентов в поле "Тенант" отсутствует значение, добавьте значение "Корень без тенанта", чтобы скрипт при подключении обнаружил данные инциденты
-
- Нажмите Generate
- После завершения процесса генерации будут получены:
- JWT Token - он же refresh_token, который требуется активировать, чтобы получить новую пару refresh_token и access_token
- ClientID - ID-клиента для подключения к API (требуется указывать при каждом запросе к API MDR)
-
- Скачайте содержимое репозитория MDR-integrations. В качестве альтернативы можно:
- Загрузить только папку mdr_integration с помощью сервиса https://download-directory.github.io/
- Загрузить содержимое репозитория MDR-integrations напрямую на сервер KUMA с помощью git clone:
git clone https://github.com/KUMA-Community/MDR-integrations.git
- Загрузите актуальную цепочку сертификатов для консоли mdr.kaspersky.com в формате pem. После загрузки файлов выполните объединение сертификатов в один файл mdr.pem (см. скриншот ниже).
Описание интеграции
Описанная в данной статье интеграция с Kaspersky Managed Detection and Response позволяет автоматически импортировать инциденты из консоли MDR в KUMA.
Настройка
-
Скопируйте архив MDR-integrations-main.zip на сервер (в случае распределенной инсталяции на сервер Core) и распакуйте его в папку /opt с помощью следующей команды:
unzip MDR-integrations-main.zip -d /opt/
- Уберите лишнюю вложенность (уровень MDR-integrations-main):
mv /opt/MDR-integrations-main/mdr_integration /opt/
rm -rf /opt/MDR-integrations-main
- Перейдите в папку /opt/mdr_integration/conf и создайте файл config.yml из шаблона sample_config.yaml:
cp sample_config.yml config.yml
- Отредактируйте файл config.yml:
- В секции General settings укажите client_id.
- В секции Modules settings -> kuma укажите:
- api_url (FQDN/IP:порт API-интерфейса KUMA, по умолчанию, 7223)
- api_token (гененируется в процессе создания учетной записи пользователя KUMA)
- tenant_id (тенант, в котором будут создаваться инциденты)
TenantID можно получить из события аудита KUMA.
- Перейдите в папку /opt/mdr_integration/conf и создайте файлы .refresh_token и .access_token
touch /opt/mdr_integration/conf/.refresh_token
touch /opt/mdr_integration/conf/.access_token
- Добавьте в файл .refresh_token ранее сгенерированный токен для доступа к API MDR.
После добавления токена в файл .refresh_token проверьте, что в конце файла отсутствует символ новой строки \n , из-за которого попытка аутентификации будет неуспешной. См. команды ниже:
# проверяем наличие символа новой строки
wc -l /opt/mdr_integration/conf/.refresh_token
# если вывод "1 .refresh_token", то удаляем символ
perl -p -i -e 'chomp if eof' /opt/mdr_integration/conf/.refresh_token
# проверяем, что символ новой строки успешно удален
wc -l /opt/mdr_integration/conf/.refresh_token
# должен быть вывод "0 .refresh_token"
- Перейдите в папку /opt/mdr_integration/conf и в файле .last_check укажите время, начиная с которого необходимо начать собирать инциденты. Для теста можно указать время до появления последнего инцидента. Формат в милисекундах, то есть должно быть 13 цифр (пример, 1672520400000)
- Замените существующий файл /opt/mdr_integration/conf/mdr.pem на актуальный (см. этап "Предварительные требования")
- Запустите скрипт main.py с помощью команды:
python3 ./main.py
Если при запуске скрипта появляются сообщения об отсутствии необходимых пакетов - выполните их установку.
- Если после запуска скрипта в консоли отсутствую ошибки (кроме предупреждений о невалидном сертификате), значит интеграция работает корректно.
Лог работы скрипта пишется в /opt/mdr_integration/log/app.log
- Убедитесь, что выполнен импорт инцидентов, созданных в консоли MDR, начиная с момента времени, указанного в файле .last_check
- Остановите выполнение скритпа main.py
- Запустите скрипт main.py в фоновом режиме с помощью команды:
nohup python3 /opt/mdr_integration/main.py &
- Настройте автоматический запуск скрипта после перезагрузки сервера:
sudo crontab -e
@reboot sleep 300 && python3 /opt/mdr_integration/main.py & # sleep в 5 минут добавлен, чтобы сервис kuma-core успел стартовать




