Активы

Добавление активов в KUMA различными способами

Интеграция KUMA с KSC

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

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/KUMA/2.1/ru-RU/217923.htm 

Интеграция KUMA с KSC позволяет получить активы и данные по ним, которыми управляет KSC, возможность запуска задач реагирования, перемещение активов между группами KSC, закрытие уязвимостей (при наличии лицензии от Kaspersky Endpoint Security для бизнеса Расширенный и выше) из интерфейса KUMA.

Для интеграции необходимо заранее создать учетную запись (внутреннего пользователя) в KSC:

image.png

Допускается также использовать доменную учетную запись пользователя для интеграции KUMA с KSC. Учетная запись пользователя в секрете KUMA указывается в формате: username@domain

Если на KSC включено MFA, то нужно сделать исключение для учетки KUMA. Согласно этой инструкции: https://support.kaspersky.com/help/KSC/14.2/ru-RU/211462.htm 

В дополнение к исключению MFA для интеграционной УЗ KUMA можно настроить список адресов, с которых разрешено подключение к KSC: https://support.kaspersky.com/KSC/14.2/ru-RU/231374.htm 

Созданной учетной записи необходимо назначить определенный набор прав доступа к функциям Kaspersky Security Center. Это можно сделать одним из следующих способов:

Перечень минимальных прав представлен на рисунке ниже. Данный набор прав позволяет:

image.png

Права пользователю нужно выдавать не только в свойствах KSC, но и в свойствах групп управляемых устройств, убедитесь, что не отключено наследование, чтобы права корректно распространялись на подгруппы

На стороне KUMA необходимо указать адрес и порт 13299 (этот порт используется по умолчанию), а также УЗ, о которой говорилось выше.

image.png

При нажатии в KUMA на кнопку "Сохранить", не должно всплавать сообщений об ошибке.

Если при выгрузке, отсутствует какая-либо группа или возникает ошибка - убедитесь, что включено наследование параметров сервера в каталогах и отсутсвуют "мертвые души" в иерархии

Импорт активов из KATA/NDR

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

Данная инструкция предназначена строго для версии KATA/NDR 7.0.

Данная инструкция предназначена для импорта информации об активах, полученной KATA/NDR в KUMA.

Настройка KATA/NDR

Для настройки пересылки событий из KATA/NDR в SIEM KUMA необходимо выполнить следующие действия:

1. Перейти в веб-консоль KATA/NDR из-под учетной записи Администратора

2. Перейти в раздел Параметры Коннекторы и нажать на кнопку Добавить коннектор

image.png

3. В открывшемся окне настроить параметры интеграции с KUMA:

Тип коннектора
: KUMA;
Имя коннектора: произвольное название, например, KUMA;
Пароль доступа к сертификату коннектора: задайте пароль для файла свертки;
Пароль (повторно): повторите введенный ранее пароль;
Адрес сервера: Адрес CN KATA/NDR;
Узел размещения коннектора: Адрес сервера в кластере KATA/NDR для размещения коллектора (в случае Single node будет совпадать с предыдущем пунктом);
Пользователь программы: выбрать нужного из выпадающего списка.

image.png

3. По завершении заполнения необходимых полей нажать кнопку Сохранить.

В результате будет загружен архив, а также в интерфейсе KATA/NDR созданный коннектор перейдет в состояние Работает.

image.png


Настройка KUMA

Перейдите в веб-интерфейс KUMA на вкладку Параметры - KICS/KATA и задайте параметры интеграции:

Выключено: галочка должна быть снята для работы интеграции;
Тенант: выберите необходимый тенант из выпадающего списка;
Включить реагирование: требуется для изменения статуса устройств;
Файл свертки: загрузите архив, полученный при настройке на стороне KATA/NDR;
Пароль файла свертки
: укажите пароль от архива, заданный при настройке на стороне KATA/NDR;

image.png

По окончании настройки нажмите кнопку Сохранить.


Nessus и OWASP ZAP

В KUMA можно импортировать сведения об активах из отчетов о результатах сканирования устройств с помощью Nessus, OWASPZAP, системы контроля защищенности и соответствия стандартам. Импорт происходит через API с помощью утилиты import_asset_Nessus_OWASP.py (скрипт находится в Community-Pack в папке Assets [ссылка доступна из Дисклеймера]). Импортированные активы отображаются в веб-интерфейсе KUMA в разделе Активы. При необходимости вы можете редактировать параметры активов.

Предварительные настройки в KUMA

Создайте пользователя с ролью главный администратор со следующими правами доступа для API:

image.png

Сохраните настройки, сгенерируйте токен и отдельно сохраните его, например, в каком-либо текстовом редакторе. Нажмите Сохранить.

Добавьте дополнительнео поле с названием «Description» в разделе Параметры - Активы - Пользовательские атрибуты.

image.png

Сохраните изменения.

Импорт отчета от Nessus

Пример отчета от Nessus в формате CSV:

Plugin ID,CVE,CVSS v2.0 Base Score,Risk,Host,Protocol,Port,Name,Synopsis,Description,Solution,See Also,Plugin Output,STIG Severity,CVSS v3.0 Base Score,CVSS v2.0 Temporal Score,CVSS v3.0 Temporal Score,VPR Score,Risk Factor,BID,XREF,MSKB,Plugin Publication Date,Plugin Modification Date,Metasploit,Core Impact,CANVAS
"70658","CVE-2008-5161","2.6","Low","1.2.3.9","tcp","22","SSH Server CBC Mode Ciphers Enabled","The SSH server is configured to use Cipher Block Chaining.","The SSH server is configured to support Cipher Block Chaining (CBC)encryption.  This may allow an attacker to recover the plaintext messagefrom the ciphertext.Note that this plugin only checks for the options of the SSH server anddoes not check for vulnerable software versions.","Contact the vendor or consult product documentation to disable CBC modecipher encryption, and enable CTR or GCM cipher mode encryption.","","The following client-to-server Cipher Block Chaining (CBC) algorithmsare supported:3des-cbcaes128-cbcaes192-cbcaes256-cbcblowfish-cbccast128-cbcThe following server-to-client Cipher Block Chaining (CBC) algorithmsare supported:3des-cbcaes128-cbcaes192-cbcaes256-cbcblowfish-cbccast128-cbc","","","1.9","","2.5","Low","32319","CERT:958563;CWE:200","","2013/10/28","2018/07/30","","",""

Далее необходимо хапустить скрипт import_asset_Nessus_OWASP.py по этому отчету указав необходимые параметры для его корректного запуска. Возможные опции скрипта:

# python import_asset.py --help
usage: import_asset.py [-h] --kuma KUMA --token TOKEN --tenant TENANT --vendor {Nessus,OWASPZAP} --filepath FILEPATH

options:
  -h, --help                  show this help message and exit
  --kuma KUMA                 IP адрес сервера KUMA
  --token TOKEN               Токен API
  --tenant TENANT             Имя Тенанта
  --vendor {Nessus,OWASPZAP}  Наименование вендора
  --filepath FILEPATH         Путь до отчета

Пример запуска по отчету Nessus:

python3 import_asset_Nessus_OWASP.py --kuma 10.68.85.126 --token 98417b064c2a5cdfdf6bd011126c6453 --tenant  Main --vendor Nessus --filepath C:\Users\ose\Downloads\nessus.csv

В KUMA актив будет выглядит следующим образом:

image.png

Импорт отчета от OWASP ZAP

Пример отчета от Nessus в формате CSV:

{
    "@programName": "OWASP ZAP",
    "@version": "2.13.0",
    "@generated": "Mon, 25 Sep 2023 11:43:20",
    "site": [
        {
            "@name": "https://demo.lab",
            "@host": "demo.lab",
            "@port": "443",
            "@ssl": "true",
            "alerts": [
                {
                    "pluginid": "10035",
                    "alertRef": "10035",
                    "alert": "Strict-Transport-Security Header Not Set",
                    "name": "Strict-Transport-Security Header Not Set",
                    "riskcode": "1",
                    "confidence": "3",
                    "riskdesc": "Low (High)",
					"reference": "https://ya.ru",
                    "desc": "<p>HTTP Strict Transport Security (HSTS)"
                }
            ]
        }
    ]
}

Далее необходимо хапустить скрипт import_asset_Nessus_OWASP.py по этому отчету указав необходимые параметры для его корректного запуска. Возможные опции скрипта:

# python import_asset.py --help
usage: import_asset.py [-h] --kuma KUMA --token TOKEN --tenant TENANT --vendor {Nessus,OWASPZAP} --filepath FILEPATH

options:
  -h, --help                  show this help message and exit
  --kuma KUMA                 IP адрес сервера KUMA
  --token TOKEN               Токен API
  --tenant TENANT             Имя Тенанта
  --vendor {Nessus,OWASPZAP}  Наименование вендора
  --filepath FILEPATH         Путь до отчета

Пример запуска по отчету OWASP ZAP:

python3 import_asset_Nessus_OWASP.py --kuma 10.68.85.126 --token 98417b064c2a5cdfdf6bd011126c6453 --tenant  Main --vendor OWASPZAP --filepath C:\Users\ose\Downloads\owasp.json

В KUMA актив будет выглядит следующим образом:

image.png

Импорт информации об активах RedCheck

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

Импорт информации об активах RedCheck

В KUMA можно импортировать сведения об активах из отчетов о результатах сканирования сетевых устройств с помощью RedCheck, системы контроля защищенности и соответствия стандартам. Импорт происходит через API с помощью утилиты redcheck-tool.py. Импортированные активы отображаются в веб-интерфейсе KUMA в разделе Активы. При необходимости вы можете редактировать параметры активов.

Импорт поддерживается из RedCheck 2.6.8 и выше

Поддерживается импорт информации о хостах только под управлением ОС Windows

Для работы утилиты требуется python верси 3.6 или выше, а также библиотеки: csv, re, json, requests, argparse, sys

Чтобы импортировать данные об активах из отчета RedCheck:

1. Сформируйте в RedCheck отчет сканирования сетевых активов в формате CSV и скопируйте файл отчета на сервер со скриптом. Подробнее о задачах на сканирование и форматах выходных файлов см. в документации RedCheck.

Импорт доступен из "Простых" отчетов "Уязвимости" и "Инвентаризация" сгруппированных по хостам в формате CSV. Подробнее на сайте RedCheck: https://docs.redcheck.ru/articles/#!redcheck-user-269/reports 

2. Создайте токен для доступа к KUMA REST API. 

Требования к учетным записям, для которых генерируется API-токен:

3. Скопируйте утилиту redcheck-tool.py на сервер ядра KUMA и сделайте файл утилиты исполняемым с помощью команды:

chmod +x <путь до файла redcheck-tool.py>

4. Запустите утилиту redcheck-tool.py:

python3 redcheck-tool.py --kuma-rest <адрес и порт сервера KUMA REST API> --token <API-токен> --tenant <название тенанта, куда будут помещены активы> --vuln-report <Полный путь к файлу отчета "Уязвимости"> --inventory-report <Полный путь к файлу с отчета "Инвентаризация">

Пример:

python3 --kuma-rest example.kuma.com:7223 --token 949fc03d97bad5d04b6e231c68be54fb --tenant Main --vuln-report /home/user/vuln.csv --inventory-report /home/user/inventory.csv

Вы можете использовать дополнительные флаги и команды для импорта. Например, команду для отображения расширенного отчета о полученных активах  -v. Подробное описание доступных флагов и команд приведено в таблице Флаги и команды утилиты redcheck-tool.py. Также для просмотра информации о доступных флагах и командах вы можете использовать команду --help.

Информация об активах будет импортирована из отчета RedCheck в KUMA. В консоли отображаются сведения о количестве новых и обновленных активов.

Пример:

inventory has been imported for 2 host(s)
software has been imported for 5 host(s)
vulnerabilities has been imported for 4 host(s)

Пример расширенного вывода информации об импорте:

[inventory import]           Host: localhost        Code: 200  Response: {'insertedIDs': {'0': '52ca11c6-a0e6-4dfd-8ef9-bf58189340f8'}, 'updatedCount': 0, 'errors': []}
[inventory import]           Host: 10.0.0.2         Code: 200  Response: {'insertedIDs': {'0': '1583e552-5137-4164-92e0-01e60fb6edb0'}, 'updatedCount': 0, 'errors': []}
[software import][error]     Host: localhost        Skipped asset with FQDN localhost or IP 127.0.0.1
[software import]            Host: 10.0.0.2         Code: 200  Response: {'insertedIDs': {}, 'updatedCount': 1, 'errors': []}
[vulnerabilities import]     Host: 10.0.0.2         Code: 200  Response: {'insertedIDs': {}, 'updatedCount': 1, 'errors': []}
[vulnerabilities import]     Host: 10.0.0.1         Code: 200  Response: {'insertedIDs': {'0': '0628f683-c20c-4107-abf3-d837b3dbbf01'}, 'updatedCount': 0, 'errors': []}
[vulnerabilities import]     Host: localhost        Code: 200  Response: {'insertedIDs': {}, 'updatedCount': 1, 'errors': []}
[vulnerabilities import]     Host: 10.0.0.3         Code: 200  Response: {'insertedIDs': {'0': 'ed01e0a8-dcb0-4609-ab2b-91e50092555d'}, 'updatedCount': 0, 'errors': []}
inventory has been imported for 2 host(s)
software has been imported for 1 host(s)
vulnerabilities has been imported for 4 host(s)

Поведение утилиты при импорте активов:

Флаги и команды утилиты redcheck-tool.py

Флаги и команды Обязательный Описание
--kuma-rest <адрес и порт сервера ядра KUMA> Да По умолчанию для обращения по API используется порт 7223. При необходимости его можно изменить.
--token <токен> Да Значение в параметре должно содержать только токен. Учетной записи, для которой генерируется API-токен, должна быть присвоена роль Администратора или Аналитика.
--tenant <название тенанта> Да Название тенанта KUMA, в который будут импортированы активы из отчета RedCheck
--vuln-report <полный путь к файлу отчета "Уязвимости"> Да Файл должен содержать отчет "Уязвимости" в формате CSV
--inventory-report <полный путь к файлу отчета "Инвентаризация"> Нет Файл должен содержать отчет "Инвентаризация" в формате CSV
-v  Нет Выведение расширенной информации об импорте активов

Возможные ошибки

Сообщение об ошибке Описание
Tenant %w not found Имя тенанта не найдено
Tenant search error: Unexpected status Code: %d При поиске тенанта был получен неожиданный код ответа HTTP
Asset search error: Unexpected status Code: %d При поиске актива был получен неожиданный код ответа HTTP
[%w import][error] Host: %w Skipped asset with FQDN localhost or IP 127.0.0.1 При импорте информации инвентаризации/уязвимостей был пропущен хост с fqdn=localhost или ip=127.0.0.1

Импорт данных из отчетов MaxPatrol в KUMA 3.2

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

Ссылка на документацию https://support.kaspersky.com/help/KUMA/3.2/ru-RU/265426.htm 

Импорт

Утилита для импорта находится в следующей директории kuma-ansible-installer/roles/kuma/files/maxpatrol-tool

Для импорта необходимо выполнить следующие шаги:

  1. Сформировать отчет сканирования сетевых активов в формате XML file
  2. Поместить отчет и скрипт в одной директории (можно выполнить на ядре KUMA)
  3. Подготовить API права для утилиты:
    1. В KUMA создать пользователя kuma-mp
    2. Дать права на GET /users/whoami и POST /assets/import
    3. Сгенерировать токен (его сохранить в файл на сервере, где будет выполнятся команда
  4. Далее в веб-консоли KUMA нужно будет скачать REST API CA image.png
  5. Этот сертификат нужно перенести на сервер, где будет выполнятся скрипт
  6.  Выполнить команду:
    ./maxpatrol-tool --kuma-rest <адрес и порт сервера KUMA REST API> --token <путь и имя файла с API-токеном> --tenant <название тенанта, куда будут помещены активы> <путь и имя файла с отчетом MaxPatrol> --cert <путь к файлу сертификата Ядра KUMA>

    Пример:

    ./maxpatrol-tool --kuma-rest example.kuma.com:7223 --token token.txt --tenant Main mp.xml --cert core-external-ca.cert
  7. Для автоматизации добавления активов из папки по отчетам - можно воспользоваться скриптом.

Импорт данных об активах из MaxPatrol VM

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

Данная статья является дополнением к основной статье официальной документации https://support.kaspersky.com/help/KUMA/3.2/ru-RU/265427.htm 

Протестирована работоспособность c MaxPatrol VM 2.1 и 2.9

Подготовительные действия в MP VM

Созданной учетной записи в MaxPatrol VM присвойте роль "Оператор".

Создание конфигурационного файла

В конфигурационном файле kuma-ptvm-config.yaml:

Поиск импортированных активов

Для поиска импортированных активов MP VM перейдите в Активы -> Выберите Поиск с условиями и задайте условие согласно скриншоту ниже.

image.png

Нажмите Поиск.

image.png

Если актив уже ранее был импортирован из KSC и аналогичный актив импортируется из MP VM, в таком случае карточка актива дополнится информацией об уязвимостях, обнаруженных MP VM.

Если актив изначально был импортирован из MP VM и далее аналогичный актив (с аналогичным IP и FQDN) будет импортирован из KSC, в таком случае актив "переподчинится" на управляемый из KSC.

Для поиска активов, которые ранее уже были импортированы из KSC и информация в карточке таких активов была дополнена данными MP VM, выберите Поиск с условиями и задайте условия согласно скриншоту ниже.

image.png

image.png

Нажмите Поиск.

image.png

Карточка актива с информацией об уязвимостях, полученной из KSC и из MP VM выглядит согласно скриншоту ниже.

image.png

Автоматическое добавление активов

Описание

Данный скрипт и набор ресурсов позволяют автоматически на основании информации из событий (ip-адреса, доменные имена) создавать активы в KUMA

Данный скрипт рекомендуется использовать только в тестовой или демонстрационной инсталляции


Требования

python 3.6+

KUMA 3.0.2


Подготовка скрипта

1. Поместите файлы asset-import.py, kumaPublicApiV1.py, params.json на сервер коррелятора в папку scripts: /opt/kaspersky/kuma/correlator/id/scripts

id коррелятора можно получить из веб-интерфейса KUMA: Ресурсы -> Активные сервисы -> Выбрать галочкой коррелятор и в верхнем меню Копировать идентификатор сервиса. Идентификатор будет скопирован в буфер обмена.

2. Внесите изменения в файл params.json:

3. Измените владельца файлов на kuma:

chown kuma:kuma asset-import.py kumaPublicApiV1.py params.json

4. Разрешите запуск файла asset-import.py:

chmod +x asset-import.py

Подготовка KUMA

  1. Импортируйте все ресурсы из файла auto_asset_add (Пароль импорта: Qwerty123!)

  2. Если нужно, внесите изменения в фильтры org address filter и org hostname filter, указав домены и подсети вашей организации, по ним отбираются активы из событий для импорта.

  3. Привяжите все правила корреляции Auto import asset info (src/dst/dvc) к коррелятору

  4. Привяжите правило реагирования Auto asset import

  5. Обновите параметры сервиса коррелятора


Результат

В результате проделанных манипуляций в KUMA будут создаваться активы на основании информации, получаемой из событий.


Файлы

Все ресурсы доступны по ссылке: https://box.kaspersky.com/d/1eb25f174a3e44e2a1be/