Skip to main content

Массовое обновление KUMA агентов

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

Данный механизм работает с версии 3.4 KUMA, т.к именно в ней добавиляась поддержка ключа --accept-eula

С сервера, нас которойким базового аудем запускать скрипта Clickhouse понадобиятся:

1. Дсетевые доступы к серверам по 5985/TCP для запуска команд и 445/TCP для передачи файлов, также права локального администратора на сервере.

За основу берем скрипт

И заполняем в нём ключевые поля, а именно:

# Список серверов
$servers = @("server1.domain.local", "server2.domain.local")

# Задаем переменную версии
$version = "3.4.0.551"

# Локальный путь к файлу, который нужно скопировать
$localFilePath = "C:\Temp\kuma.exe"

# Путь на удаленном сервере, куда будет скопирования обычных запросов (в том числе grant, create) включить логирование в основном файл (если 

используется
/etc/clickhouse-server/config.xmlнестандартный путь для установки KUMA агента)
$remoteFilePath = "C$\Program Files\Kaspersky Lab\KUMA\kuma.exe"

в
Принцип работы секцриипта:

1. logger как минимум необходимо задать формат information

#########################################
<clickhouse>
    <logger>
        <level>information</level>
#########################################

2. Для логирования пПодключаений, таких как:

  • вход пользователя
  • выход пользователя
  • неуспешный вход

потребуетмся к серверу

2. Проздаверяем, есть ли служба KUMA на сервере
3. Останотдвка службы KUMA
4. Копируем обновльенный файл

kuma.exe
/etc/clickhouse-server/config.d/session_log.xml

 с содержимым:

<clickhouse>
    <session_log>
        <database>system</database>
        <table>session_log</table>
        <flush_interval_milliseconds>7500</flush_interval_milliseconds>
    </session_log>
</clickhouse>

3. Перезапустить службу командой systemctl restart clickhouse-server

В базе system появится новая таблица со следующими колонками:

image.png

Создаём пользователя для подключения к БД для KUMA и выдаём ему необходимые права следующим командами:

###Создание пользователя для коллектораию KUMA
CREATE
5. USERПравим kumaфайл HOSTс IPлицензионным '10.10.10.1/32'соглашением IDENTIFIED(обновляем WITH sha256_password BY 'supersecretpassword'; ####Создначение VIEW дляверсии вывод файле нескольких.license-version
запросов CREATE VIEW combined_logs AS SELECT event_time, user, query_kind, exception, client_hostname, client_name, http_user_agent, type, replace(toString(initial_address), '::ffff:', '') AS ipv4_address, query FROM system.query_log ql WHERE match(toString(initial_address), '^::ffff:') AND query_kind IN ('Grant', 'Create', 'Drop') UNION ALL SELECT event_time, user, NULL AS query_kind, --
6. Добавляем NULL для отсутствующего столбца `query_kind` NULL AS exception, -- Добавляем NULL для отсутствующего столбца `exception` NULL AS client_hostname, -- Добавляем NULL для отсутствующего столбца `client_hostname` NULL AS client_name, -- Добавляем NULL для отсутствующего столбца `client_name` NULL AS http_user_agent, -- Добавляем NULL для отсутствующего столбца `http_user_agent` type, replace(toString(client_address), '::ffff:', '') AS ipv4_address, NULL AS query -- Добавляем NULL для отсутствующего столбца `query` FROM system.session_log WHERE `type` = '0'; ####Назначение прав на VIEW GRANT SELECT ON combined_logs TO kuma

 

Нареестройка инстанса завершена, мов служнобе приступатьKUMA к подключению логов в KUMA.

В KUMA необходимо создать коллектор с транспортом sql (плейсхолдер для Clickhouse --accept-eula

?)
7. и Запараметрами как на ускриншоте:

image.png

Создаём нормализатор, мапим колонки БД в нужные нам поля KUMA и получаем слоужбу KUMA аг.

ента