Kaspersky Unified Monitoring and Analysis Platform

Настройка получения событий PostgreSQL

KUMA позволяет осуществлять мониторинг и проводить аудит событий PostgreSQL на устройствах Linux с помощью rsyslog.

Аудит событий проводится с помощью плагина pgAudit. Плагин поддерживает работу с PostgreSQL версии 9.5 и выше. Подробную информацию о плагине pgAudit см. по ссылке: https://github.com/pgaudit/pgaudit.

Настройка получения событий состоит из следующих этапов:

  1. Установка плагина pdAudit.
  2. Создание коллектора KUMA для событий PostgreSQL.

    Для получения событий PostgreSQL с помощью rsyslog в мастере установки коллектора на шаге Парсинг событий выберите нормализатор [OOTB] PostgreSQL pgAudit syslog.

  3. Установка коллектора в сетевой инфраструктуре KUMA.
  4. Настройка сервера источника событий.
  5. Проверка поступления событий PostgreSQL в коллектор KUMA.

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

В начало
[Topic 251880]

Установка плагина pgAudit

Чтобы установить плагин pgAudit:

  1. В командном интерпретаторе выполните команды под учетной записью с правами администратора:

    sudo apt update

    sudo apt -y install postgresql-<версия базы данных PostgreSQL>-pgaudit

    Версию плагина необходимо выбрать в зависимости от версии PostgresSQL. Информацию о версиях PostgreSQL и необходимых версиях плагина см.по ссылке: https://github.com/pgaudit/pgaudit#postgresql-version-compatibility.

    Пример:

    sudo apt -y install postgresql-12-pgaudit

  2. Найдите конфигурационный файл postgres.conf. Для этого в командной строке PostgresSQL выполните команду:

    show data_directory;

    В ответе будет указано расположение конфигурационного файла.

  3. Создайте резервную копию конфигурационного файла postgres.conf.
  4. Откройте файл postgres.conf и скопируйте или замените имеющиеся значения на указанные ниже.

    ```

    ## pgAudit settings

    shared_preload_libraries = 'pgaudit'

    ## database logging settings

    log_destination = 'syslog'

    ## syslog facility

    syslog_facility = 'LOCAL0'

    ## event ident

    syslog_ident = 'Postgres'

    ## sequence numbers in syslog

    syslog_sequence_numbers = on

    ## split messages in syslog

    syslog_split_messages = off

    ## message encoding

    lc_messages = 'en_US.UTF-8'

    ## min message level for logging

    client_min_messages = log

    ## min error message level for logging

    log_min_error_statement = info

    ## log checkpoints (buffers, restarts)

    log_checkpoints = off

    ## log query duration

    log_duration = off

    ## error description level

    log_error_verbosity = default

    ## user connections logging

    log_connections = on

    ## user disconnections logging

    log_disconnections = on

    ## log prefix format

    log_line_prefix = '%m|%a|%d|%p|%r|%i|%u| %e '

    ## log_statement

    log_statement = 'none'

    ## hostname logging status. dns bane resolving affect

    #performance!

    log_hostname = off

    ## logging collector buffer status

    #logging_collector = off

    ## pg audit settings

    pgaudit.log_parameter = on

    pgaudit.log='ROLE, DDL, MISC, FUNCTION'

    ```

  5. Перезапустите службу PostgreSQL при помощи команды:

    sudo systemctl restart postgresql

  6. Чтобы загрузить плагин pgAudit в PostgreSQL, в командной строке PostgreSQL выполните команду:

    CREATE EXTENSION pgaudit;

Плагин pgAudit установлен.

В начало
[Topic 252059]

Настройка Syslog-сервера для отправки событий

Для передачи событий от сервера в KUMA используется сервис rsyslog.

Чтобы настроить передачу событий от сервера, на котором установлена PostgreSQL, в коллектор:

  1. Чтобы проверить, что на сервере источника событий установлен сервис rsyslog, выполните следующую команду под учетной записью с правами администратора:

    sudo systemctl status rsyslog.service

    Если сервис rsyslog не установлен на сервере, установите его, выполнив следующие команды:

    yum install rsyslog

    sudo systemctl enable rsyslog.service

    sudo systemctl start rsyslog.service

  2. В директории /etc/rsyslog.d/ создайте файл pgsql-to-siem.conf со следующим содержанием:

    If $programname contains 'Postgres' then @<IP-адрес коллектора>:<порт коллектора>

    Например:

    If $programname contains 'Postgres' then @192.168.1.5:1514

    Если вы хотите отправлять события по протоколу TCP, содержимое файла должно быть таким:
    If $programname contains 'Postgres' then @@<IP-адрес коллектора>:<порт коллектора>

    Сохраните изменения в конфигурационном файле pgsql-to-siem.conf.

  3. В конфигурационный файл /etc/rsyslog.conf добавьте следующие строки:

    $IncludeConfig /etc/pgsql-to-siem.conf

    $RepeatedMsgReduction off

    Сохраните изменения в конфигурационном файле /etc/rsyslog.conf.

  4. Перезапустите сервис rsyslog, выполнив следующую команду:

    sudo systemctl restart rsyslog.service

В начало
[Topic 252060]