Настройка аудита
Подсистема аудита предназначена для регистрации, хранения, просмотра и экспорта событий, связанных с действиями пользователей и функционированием компонентов eSensor.
Подсистема аудита обеспечивает:
-
регистрацию событий аудита компонентами eSensor;
-
централизованное хранение записей аудита в СУБД «ClickHouse»;
-
передачу событий аудита во внешние системы по протоколу syslog в формате CEF (структура и описание полей представлены в разделах «Структура CEF для событий аудита», «Общие поля событий аудита», «Дополнительные поля событий аудита», «Параметры данных аудита и отправки в БД»);
-
ротацию записей аудита;
-
просмотр, фильтрацию и экспорт записей аудита через веб-интерфейс.
Аудит ведут СУС, сенсоры, сервер аутентификации, серверы контроля целостности и модули отправки уведомлений по электронной почте.
Каждый компонент регистрирует события, связанные с собственным функционированием, а также с действиями пользователей, выполняемыми через данный компонент. Зарегистрированные события передаются в ClickHouse и сохраняются в журнале аудита.
Просмотр, фильтрация и экспорт записей представлены в разделе «Аудит» этой документации.
Активация аудита и отправка в ClickHouse
Подсистема аудита регистрирует события, связанные с действиями пользователей и работой компонентов eSensor. Зарегистрированные события временно сохраняются в WAL-буфере, после чего пакетами передаются в СУБД ClickHouse.
Настройку выполняют отдельно в конфигурации каждого компонента, для которого предусмотрено ведение аудита. Перед изменением конфигурационного файла необходимо создать его резервную копию.
Значения шаблонных переменных определяются для соответствующей роли и группы переменных при установке eSensor.
Параметр clickhouse.http-port определяет HTTP(S)-порт ClickHouse, используемый модулями сигнатурного и эвристического анализа. Он относится к общему подключению к ClickHouse и непосредственно не управляет отправкой событий аудита. Значение параметра по умолчанию – 8443.
WAL обеспечивает сохранение событий при временной недоступности ClickHouse и их последующую отправку после восстановления соединения. Не допускается удалять или изменять WAL-файл во время работы компонента. Ограничение размера WAL требованиями не установлено, поэтому необходимо контролировать наличие свободного места в каталоге его размещения.
Настройка отправки событий аудита по протоколу syslog
Компоненты системы могут передавать события аудита на внешний сервер по протоколу syslog. События, которые временно не удалось отправить, сохраняются в локальном WAL-буфере и повторно отправляются после восстановления соединения.
Настройка выполняется в конфигурации каждого компонента, события которого требуется передавать.
Основные параметры настройки передачи по протоколу syslog в конфигурационных файлах представлены в таблице 20.
Таблица 20 – Основные параметры настройки протокола syslog
| Параметр | Назначение | Значение по умолчанию |
|---|---|---|
| audit.syslog.enabled | Включает или отключает передачу событий аудита по syslog. Возможные значения: true; false. | true |
| audit.syslog.format | Определяет формат сообщений. Поддерживаются cef, rfc5424 и rfc3164. рекомендуемый формат: – cef. | cef |
| audit.syslog.network | Определяет протокол передачи. Возможные значения: tcp, udp, tcp+tls. | tcp |
| audit.syslog.address | Адрес и порт syslog-сервера. | "" |
| audit.syslog.wal-path | Путь к WAL-буферу неотправленных событий. | зависит от компонента |
| audit.syslog.enabled-levels | Уровни важности передаваемых событий. | ["panic", "fatal", "critical", "high"] |
| audit.syslog.batch-size | Максимальное количество событий в одном пакете. | 5000 |
| audit.syslog.flush-timeout | Максимальное время ожидания завершения отправки пакета. | 30s |
| audit.syslog.check-interval | Интервал проверки WAL-буфера на наличие событий для отправки. | 1s |
| audit.syslog.enabled-types | Типы передаваемых событий. Пустой массив означает передачу всех типов. | [] |
| audit.syslog.send-unnamed-events | Определяет, следует ли передавать события без наименования. | false |
Настройка получателя и протокола
Чтобы включить отправку событий, необходимо выполнить следующие действия:
-
Раскомментировать блок настроек syslog, если он закомментирован в шаблоне конфигурации;
-
Установить значение параметра audit.syslog.enabled в true;
-
В параметре audit.syslog.address указать адрес и порт syslog-сервера;
-
В параметре audit.syslog.network выбрать протокол передачи;
-
В параметре audit.syslog.format указать формат cef.
Настройка WAL-буфера
WAL-буфер используется для временного хранения событий, которые не удалось передать получателю. После восстановления соединения компонент повторяет отправку накопленных событий.
Путь задается параметром audit.syslog.wal-path. Стандартные значения:
- для СУС и сервера контроля целостности:
audit.syslog.wal-path: "{{ data_dir }}/syslog-audit-wal"
- для сенсора:
audit.syslog.wal-path: "{{ data_dir }}-{{ sensor.port }}/syslog-audit-wal"
Настройка ротации записей аудита
Ротация записей аудита, хранящихся в ClickHouse, выполняется на основании срока хранения – TTL. После истечения заданного срока записи автоматически удаляются.
Срок хранения задается параметром audit.logs-expires-in.
Формат значения – интервал времени. Значение по умолчанию составляет 14 дней audit:logs-expires-in: "14d".
Чтобы отключить автоматическое удаление записей, следует установить значение 0: audit:logs-expires-in: 0.
При отключенной очистке необходимо контролировать объем данных и свободное место в хранилище ClickHouse.
ClickHouse проверяет наличие записей с истекшим TTL максимум каждые четыре часа. Записи с истекшим сроком хранения удаляются.
После изменения параметра следует применить конфигурацию способом, предусмотренным для соответствующего компонента. Затем убедиться, что новое значение срока хранения используется таблицей журнала аудита.