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 - 10.11.17.145:514?) и 10.11.18.145:514,параметрами балансировкакак отправкина сообщенийскриншоте:

будет

image.png

вестись

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

4.

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