Содержание
Настройка получения событий PostgreSQL
KUMA позволяет осуществлять мониторинг и проводить аудит событий PostgreSQL на устройствах Linux с помощью rsyslog.
Аудит событий проводится с помощью плагина pgAudit. Плагин поддерживает работу с PostgreSQL версии 9.5 и выше. Подробную информацию о плагине pgAudit см. по ссылке: https://github.com/pgaudit/pgaudit.
Настройка получения событий состоит из следующих этапов:
- Установка плагина pdAudit.
- Создание коллектора KUMA для событий PostgreSQL.
Для получения событий PostgreSQL с помощью rsyslog в мастере установки коллектора на шаге Парсинг событий выберите нормализатор [OOTB] PostgreSQL pgAudit syslog.
- Установка коллектора в сетевой инфраструктуре KUMA.
- Настройка сервера источника событий.
- Проверка поступления событий PostgreSQL в коллектор KUMA.
Вы можете проверить, что настройка сервера источника событий PostgreSQL выполнена правильно в разделе веб-интерфейса KUMA Поиск связанных событий.
Установка плагина pgAudit
Чтобы установить плагин pgAudit:
- В командном интерпретаторе выполните команды под учетной записью с правами администратора:
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
- Найдите конфигурационный файл postgres.conf. Для этого в командной строке PostgresSQL выполните команду:
show data_directory;
В ответе будет указано расположение конфигурационного файла.
- Создайте резервную копию конфигурационного файла postgres.conf.
- Откройте файл 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'
```
- Перезапустите службу PostgreSQL при помощи команды:
sudo systemctl restart postgresql
- Чтобы загрузить плагин pgAudit в PostgreSQL, в командной строке PostgreSQL выполните команду:
CREATE EXTENSION pgaudit;
Плагин pgAudit установлен.
В началоНастройка Syslog-сервера для отправки событий
Для передачи событий от сервера в KUMA используется сервис rsyslog.
Чтобы настроить передачу событий от сервера, на котором установлена PostgreSQL, в коллектор:
- Чтобы проверить, что на сервере источника событий установлен сервис rsyslog, выполните следующую команду под учетной записью с правами администратора:
sudo systemctl status rsyslog.service
Если сервис rsyslog не установлен на сервере, установите его, выполнив следующие команды:
yum install rsyslog
sudo systemctl enable rsyslog.service
sudo systemctl start rsyslog.service
- В директории /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.
- В конфигурационный файл /etc/rsyslog.conf добавьте следующие строки:
$IncludeConfig /etc/pgsql-to-siem.conf
$RepeatedMsgReduction off
Сохраните изменения в конфигурационном файле /etc/rsyslog.conf.
- Перезапустите сервис rsyslog, выполнив следующую команду:
sudo systemctl restart rsyslog.service