Как узнать, приостановил ли auditd ведение журнала?

Если вы поместите следующее в свой auditd.conf , auditd приостановит ведение журнала, если на вашем диске будет 50 МБ или меньше места :

admin_space_left = 50
admin_space_left_action = SUSPEND

Как может внешняя программа, например, проверка монитора, узнать, достиг ли auditd этого приостановленного состояния?

(Я понимаю, что вы также можете использовать действие EXEC что-то делать, когда auditd приостанавливает ведение журнала, но это не соответствует моим целям.)

2
задан 26 May 2016 в 03:15
2 ответа

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

space_left = 75
space_left_action = SYSLOG
admin_space_left = 74
admin_space_left_action = SUSPEND

Это вызывает отправку этого сообщения в системный журнал когда свободное место в разделе, содержащем журнал аудита, становится меньше 75 МБ

21 мая 08:53:01 c6test auditd [5851]: демону аудита не хватает места на диске для ведения журнала

Аналогичным образом, когда пространство становится меньше 74 МБ, появляется сообщение отправлено в системный журнал

21 мая 08:54:01 c6test auditd [5851]: Демон аудита приостанавливает ведение журнала из-за нехватки места на диске.

Итак, чтобы ответить на ваш вопрос, он записывает сообщение в системный журнал, которое затем находит путь в системные журналы, чтобы можно было настроить monit для его поиска.

Какое на самом деле сообщение и в какой файл журнала оно записывается, вероятно, будет зависеть от ОС и / или дистрибутива.

1
ответ дан 3 December 2019 в 10:38

Глядя на исходный код (в версии 2.6.7), нет никакого другого способа получить текущее «приостановленное» состояние, кроме как присоединить отладчик к процессу и заставить его сбрасывать значение logging_suspended внутренняя переменная.

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

msg="audit test $(uuidgen)" || exit # generate unique message
auditctl -m "$msg" || exit # send the unique message
sleep 1 # enough time for the message to be logged
ausearch -ts recent -m USER | grep -Fqe "$msg" && echo OK
2
ответ дан 3 December 2019 в 10:38

Теги

Похожие вопросы