Перейти к основному содержимому

Возможности расширенного аудита

Заключительный уровень небольшой по объему, так как носит ознакомительный характер. Чтобы быть в дальнейшем готовыми использовать возможности аудита для решения прикладных задач, необходимо понимать, какие возможности управления аудитом в принципе вам доступны. В двух следующих главах мы познакомимся с возможностями расширенного аудита, без глубокого погружения в технические детали их настройки.

Мир аудита, как и средств защиты информации в целом, огромен, мы надеемся, что вы заинтересуетесь аудитом и в дальнейшем отправитесь уже самостоятельно исследовать и применять его возможности.

Управление логированием​

Расширенные возможности аудита позволяют настраивать вывод логов аудита, не в директорию, определенную параметром log_directory системного журнала.

Для того чтобы логи аудита выводились в отдельный журнал, необходимо настроить следующие параметры в конфигурационном файле postgresql.conf:

pgaudit.log = 'all'
pgaudit.legal = 'on'
pgaudit.log_level = 'log'

При необходимости изменить директорию и наименование файла лога аудита, используются параметры pgaudit.log_directory и pgaudit.log_filename.

В строку логирования можно дополнительно выводить некоторые параметры:

СпецсимволНазначениеТолько для пользовательского процесса
%aИмя приложения (application_name)да
%uИмя пользователяда
%dИмя базы данныхда
%rИмя удаленного узла или IP-адрес, а также номер портада
%hИмя удаленного узла или IP-адресда
%pИдентификатор процессанет
%tШтамп времени, без миллисекунднет
%mШтамп времени, с миллисекундаминет
%nШтамп времени, с миллисекундами (в виде времени Unix)нет
%iТег команды: тип текущей команды в сессиида
%eКод ошибки SQLSTATEнет
%cИдентификатор сессии. Подробности ниженет
%lНомер строки журнала для каждой сессии или процесса. Начинается с 1нет
%sШтамп времени начала процессанет
%vИдентификатор виртуальной транзакции (backendID/localXID)нет
%xИдентификатор транзакции (0 если не присвоен)нет
%qНичего не выводит. Не пользовательские процессы останавливаются в этой точке. Игнорируется пользовательскими процессаминет
%%Выводит %нет

Например, при настройке log_line_prefix = '%m [%p] [%u]', в журнал выводится метка времени и идентификатор процесса.

Ротация файлов аудита​

Файлы аудита могут быть ротированы (через заданный промежуток времени старые файлы заменяются новыми) в процессе записи событий аудита. В функциональность встроено четыре механизма ротации файлов аудита:

  1. По запросу – отправка сигнала SIGUSR1 (пользовательский сигнал, который используется для межпроцессной синхронизации).
  2. При изменении параметров – pgaudit.log_directory или pgaudit.log_filename.
  3. По размеру файла – когда размер файла превышает значение, настроенное параметром pgaudit.log_rotation_size.
  4. По интервалу времени – по истечении заданного интервала, настроенного параметром pgaudit.log_rotation_age.

Подведем итоги​

Вопрос 1

Как обычно осуществляется просмотр файлов журнала аудита в Pangolin?

Вопрос 2

Какие привилегии необходимы для настройки логирования?