Skip to main content

Интеграция с Kaspersky MDR

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Предварительные требования

  1. На пограничном МСЭ создайте правило доступа к mdr.kaspersky.com по порту TCP/443 (https://mdr.kaspersky.com)
  2. В KUMA добавьте пользователя с ролью Администратор и доступом к API (права POST /events)
  3. В консоли MDR сгенерируйте токен для доступа API:
      • Перейдите в Settings -> API
      • Нажмите Add и укажите Connection Name (данное имя будет использоваться, как имя пользователя при создании инцидентов/комментариев/вложений и т.д., так как токен доступа не привязан к конкретному пользователю)
      • Укажите Role, чтобы определить права доступа для токена
      • Укажите Tenant при необходимости
      • Нажмите Generate
      • После завершения процесса генерации будут получены:
        • JWT Token - он же refresh_token, который требуется активировать, чтобы получить новую пару refresh_token и access_token
        • ClientID - ID-клиента для подключения к API (требуется указывать при каждом запросе к API MDR)
  4. Загрузите архив kuma_mdr_integration.tar.gz со скриптом отсюда [будет ссылка на box]

image.png

Описание интеграции

Описанная в данной статье интеграция с 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)
  • Перейдите в папку /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)?