PostgreSQL
Скопировано

13 октября 2026

ID 251880

PostgreSQL

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

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

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

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

  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 будет установлен.

Создание коллектора KUMA для получения событий PostgreSQL

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

Установка коллектора KUMA в сетевой инфраструктуре

После завершения создания и настройки коллектора для сбора событий PostgreSQL требуется установить коллектор KUMA на сервере сетевой инфраструктуры, предназначенной для получения событий.

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

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

  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-адрес коллектора>:<порт коллектора>

  3. Сохраните изменения в конфигурационном файле pgsql-to-siem.conf.
  4. В конфигурационный файл /etc/rsyslog.conf добавьте следующие строки:

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

    $RepeatedMsgReduction off

  5. Сохраните изменения в конфигурационном файле /etc/rsyslog.conf.
  6. Перезапустите сервис rsyslog, выполнив следующую команду:

    sudo systemctl restart rsyslog.service

Проверка поступления событий PostgreSQL в коллектор KUMA

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

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!