Skip to main content

Интеграция с 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 при необходимости
      •  

        Если для создаваемых в консоли MDR инцидентов в поле "Тенант" отсутствует значение, добавьте значение "Корень без тенанта", чтобы скрипт при подключении обнаружил данные инциденты

      •  

        image.png

        • Нажмите Generate
        • После завершения процесса генерации будут получены:
          • JWT Token - он же refresh_token, который требуется активировать, чтобы получить новую пару refresh_token и access_token
          • ClientID - ID-клиента для подключения к API (требуется указывать при каждом запросе к API MDR)

    image.png

    • Загрузите архив kuma_mdr_integration.tar.gz со скриптом отсюда [будет ссылка на box]
  • Загрузите актуальную цепочку сертификатов для консоли mdr.kaspersky.com в формате pem. После загрузки файлов выполните объединение сертификатов в один файл mdr.pem (см. скриншот ниже). 
  • image.pngimage.png

    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 цифр (пример, 1672520400)
    • Перейдите в папку /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)?