PostgreSQL: настройка источника

Данное руководство описывает процесс настройки сбора и отправки событий СУБД PostrgeSQL в R-Vision SIEM.

Настройка PostgreSQL

В настоящем руководстве рассматривается передача событий с помощью службы rsyslog. Предполагается, что rsyslog на станции с ОС Linux уже установлен.

Настройка журналирования PostgreSQL

Для настройки аудита выберите один из подходящих вариантов: Вариант А (встроенный аудит PostgreSQL) или Вариант Б (универсальный pgaudit).

Вариант А: Настройка встроенного аудита PostgreSQL

  1. В файле postgresql.conf настройте параметры безопасности и вывода:

    log_destination = 'syslog'
    logging_collector = on
    log_min_messages = warning
    log_min_error_statement = error
    log_checkpoints = on
    log_connections = on
    log_disconnections = on
    log_error_verbosity = verbose
    log_line_prefix = '%m [%p] %u %r '
    
    # These are relevant when logging to syslog:
    syslog_facility = 'LOCAL0'
    syslog_ident = 'postgres'
    
    syslog_split_messages = off

Вариант Б: Настройка модуля pgaudit

Этот вариант обеспечивает детальный аудит SQL-запросов в формате CSV.

  1. Установите модуль pgaudit (название модуля будет отличаться в зависимости от версии PostgreSQL и ОС):

    yum install -y pgaudit16_14
  2. В конфигурационном файле postgresql.conf отредактируйте параметры:

    log_destination = 'syslog'
    logging_collector = on
    log_connections = on
    log_disconnections = on
    log_line_prefix = '%m [%p] %u %r '
    log_min_messages = warning
    
    # Подключение модуля
    shared_preload_libraries = 'pgaudit'
    
    # These are relevant when logging to syslog:
    syslog_facility = 'LOCAL0'
    syslog_ident = 'postgres'
    
    syslog_split_messages = off
  3. Перезапустите сервис PostgreSQL для примененения настроек:

    systemctl restart postgresql-14
  4. Только для Варианта Б (pgaudit) включите расширение в базе данных:

    sudo -u postgres psql -c "CREATE EXTENSION pgaudit;"
    sudo -u postgres psql -c "ALTER SYSTEM SET pgaudit.log = 'all';"
    sudo -u postgres psql -c "SELECT pg_reload_conf();"

Отправка событий PostgreSQL

Чтобы настроить отправку событий PostgreSQL:

  1. Создайте файл /etc/rsyslog.d/60-postgres.conf со следующим содержимым:

    if $programname == 'postgres' or $syslogtag == 'postgres' then {
      action(type="omfwd" Target="<target>" Port="<port>" Protocol="<protocol>")
      stop
    }

    Здесь:

    • <target> — IP-адрес или полное доменное имя (FQDN) коллектора SIEM.

    • <port> — порт точки входа Syslog в конвейере SIEM.

    • <protocol> — сетевой протокол: tcp или udp.

  2. Перезапустите службу rsyslog.service с помощью команды:

    systemctl restart rsyslog.service

Настройка интеграции с R-Vision SIEM

Для настройки сбора событий от источника в R-Vision SIEM выполните следующие шаги:

  1. В веб-интерфейсе R-Vision SIEM перейдите в раздел Ресурсы → Коллекторы и создайте новый конвейер в коллекторе.

  2. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Название: введите произвольное, понятное название.

    • Тип точки входа: выберите вариант Syslog.

    • Порт точки входа: введите значение в соответствии с настройками на стороне PostgreSQL.

    • Протокол: выберите вариант в соответствии с настройками на стороне PostgreSQL.

  3. Добавьте на конвейер элемент Нормализатор с правилом PostgreSQL (идентификатор правила: RV-N-189).

  4. Соедините нормализатор с точкой входа.

  5. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  6. Соедините конечную точку с нормализатором.

  7. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

postgresql pipeline

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

Найти события PostgreSQL в хранилище можно по следующему фильтру:

device_product = "postgresql"

postgresql events search

Была ли полезна эта страница?

Обратная связь