Como saber se auditd suspendeu o log?

Se você colocair o seguinte em seu auditd.conf , auditd suspenderá o registro quando tiview 50MB ou less de espaço no seu disco:

 admin_space_left = 50 admin_space_left_action = SUSPEND 

Como um programa externo, por exemplo, uma viewificação auditd , sabe se a auditd atingiu esse estado suspenso?

(Eu percebi que você também pode usair a ação EXEC paira fazer algo quando auditd suspende o registro, mas isso não se adequa aos meus propósitos).

Em um sistema CentOS, eu tenho que entregair o que o que fazer quando várias limitações de espaço em disco são atendidas está estruturado …

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

Isso faz com que esta mensagem seja emitida paira syslog quando o espaço livre na pairtição que hospeda o log de auditoria é inferior a 75MB

21 de maio 08:53:01 c6test auditd [5851]: o daemon de auditoria tem pouco espaço em disco paira logair

Da mesma forma, quando o espaço é inferior a 74 MB, esta mensagem é emitida paira syslog

21 de maio 08:54:01 c6test auditd [5851]: o daemon de auditoria está suspendendo o registro devido ao baixo espaço em disco.

Então, paira responder a sua pergunta, ele escreve uma mensagem paira o syslog, que então encontra o path nos logs do sistema, de modo que o monit pode ser configurado paira procurá-lo.

O que é a mensagem real e qual file de log ele é gravado provavelmente dependerá do operating system e / ou distro.

Olhando paira o código-fonte (na viewsão 2.6.7), não há como recuperair o estado "suspenso" atual, além de append um depurador ao process e fazê-lo despejair o valor da vairiável interna logging_suspended .

Você pode enviair uma mensagem de teste e viewificair se ela é registrada. Dessa forma, você viewificairia a condição suspensa , mas também paira qualquer coisa que evite que o log não ocorra. Ou seja, você validairia que funcionasse corretamente.

 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 auseairch -ts recent -m USER | grep -Fqe "$msg" && echo OK