Аудит безопасности

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

log_XXX

Параметры серии log_xxx используются для настройки поведения ведения журналов, что помогает в мониторинге и отладке работы базы данных. Все операции с базой данных записываются в журналы операций СУБД, которые затем могут быть проанализированы для раннего обнаружения опасных действий.

Параметры конфигурации

logging_collector     -- Включать ли сборщик журналов; по умолчанию выключен, рекомендуется включить
log_destination       -- Тип вывода журнала; по умолчанию stderr (записываются только ошибки), рекомендуется csvlog; возможные значения: stderr, csvlog, syslog и eventlog,
log_directory          -- Каталог журналов; по умолчанию $PGDATA/pg_log, 
log_filename            -- Имя файла журнала; по умолчанию postgresql-%Y-%m-%d_%H%M%S.log
log_file_mode           -- Права доступа к файлу журнала; по умолчанию 0600
log_truncate_on_rotation  -- По умолчанию выключено; если включено, при ротации содержимое перезаписывается (off = добавление, on = очистка перед записью)
log_rotation_age      -- Максимальная продолжительность одного файла журнала; по умолчанию 1d, также поддерживаются 1h, 1min, 1s
log_rotation_size       -- Максимальный размер одного файла журнала; по умолчанию 10 МБ
log_error_verbosity    -- По умолчанию default; verbose означает более подробные сообщения
log_connections    -- Записывать ли событие входа пользовательской сессии; по умолчанию выключено, рекомендуется включить
log_disconnections -- Записывать ли событие выхода пользовательской сессии; по умолчанию выключено, рекомендуется включить
log_statement    -- Записывает различные операции после входа пользователя в базу данных:
    none — без записи
    ddl — запись create, drop и alter
    mod — запись ddl + insert, delete, update и truncate
    all — запись mod + select
log_min_duration_statement = 2s   -- Запись SQL-запросов, выполняющихся дольше 2 секунд
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s

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

Ниже приведен пример конфигурации. Добавьте эти параметры в файл postgresql.conf:

Внимание!
После изменения файла postgresql.conf необходимо перезапустить службу YMatrix, чтобы конфигурация вступила в силу.

logging_collector = on
log_directory = 'stderr'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 10MB
log_truncate_on_rotation = off

log_statement = 'all'
log_min_duration_statement = 100

log_connections = on
log_disconnections = on
log_lock_waits = on