Skip to main content

Настройка источника Clickhouse и сбор событий аудита БД

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

Для настройки базового аудита Clickhouse понадобится:


1.

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

user/etc/clickhouse-server/config.xml
nginx;

 worker_processesв auto;секции error_loglogger как минимум необходимо задать формат information

#########################################
<clickhouse>
    <logger>
        <level>information</var/log/nginx/error.log;level>
pid#########################################

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

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

потребуется создать отдельный файл 

/run/nginx.pid;etc/clickhouse-server/config.d/session_log.xml
#

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

modules.
<clickhouse>
    See<session_log>
        <database>system</usr/share/doc/nginx/README.dynamic.database>
        include<table>session_log</table>
        <flush_interval_milliseconds>7500</usr/share/nginx/modules/*.conf;flush_interval_milliseconds>
    events</session_log>
{
    worker_connections 1024;
}
stream {
        upstream back_FW_ASA {
        server 10.11.17.145:514;
        server 10.11.18.145:514;
        }
        server {
                listen 514 udp;
                proxy_pass back_FW_ASA;
                proxy_bind $remote_addr transparent;
        }
}
</clickhouse>

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

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

image.png

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

CREATE USER kuma HOST IP '10.10.10.1/32' IDENTIFIED WITH sha256_password BY 'supersecretpassword';

GRANT SELECT ON system.session_log TO kuma

GRANT SELECT ON system.query_log TO kuma

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

 

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

image.png

Создаём нормализатор, мапим колонки БД в нужные нам поля KUMA и порт,лучаем в примере их адреса\плорты - 10.11.17.145:514 и 10.11.18.145:514, балансировка отправки сообщений будет вестись в соотношении 50:50 (при доступности двух коллекторов)г.

4.

 Служба балансировщика будет "прослушивать" 514 порт со всех IP адресов сервера, для большей отказоустойчивости служб предлагается использовать службу keepalived на двух серверах. Настройка keepalived