Потеря событий
Возможные причины, из-за которых система аудита может терять события аудита:
-
Переполнение очереди событий:
-
Превышение ограничения по скорости записи событий в очередь;
-
Ошибка связи с демоном auditd через NETLINK-сокет;
-
Ошибка выделения памяти для внутренней служебной структуры;
-
При загрузке ОС RHEL ⇐ 7.7 - зашитый размер очереди событий в 64 сообщения, из-за чего, при переполнении очереди, сообщения теряются до тех пор пока не установится связь с auditd - это примерно 40-100 событий;
-
Во время ротации файлов локального журнала: чем больше файлов участвуют в ротации тем дольше она будет выполняться. Перед ротацией auditd останавливает запрос событий из очереди что приводит к накоплению в ней событий до того момента, пока ротация не будет завершена. Если после ротации файлов журнала растёт количество потерянных событий (
auditctl -s -i
), то необходимо либо увеличить размер очереди событий, либо переделать правила аудита.
Отслеживание потери событий
Переполнение очереди событий (-b
):
audit: audit_backlog=9 > audit_backlog_limit=8
audit: audit_lost=85579 audit_rate_limit=0 audit_backlog_limit=8
Превышение ограничения по скорости записи событий в очередь (-r
):
audit: audit_lost=151 audit_rate_limit=1 audit_backlog_limit=8192
audit: audit_lost=216 audit_rate_limit=1 audit_backlog_limit=8192