
Estou usando o CentOS 5.5 e por padrão minha /var/log/audit/audit.log
aparência é assim:
type=USER_AUTH msg=audit(1331897657.359:8435): user pid=15610 uid=0 auid=4294967295 subj=system_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='PAM: authentication acct="?" : exe="/usr/sbin/sshd" (hostname=c165-130.i02-2.onvol.net, addr=213.165.165.130, terminal=ssh res=failed)'
type=USER_LOGIN msg=audit(1331897657.360:8436): user pid=15610 uid=0 auid=4294967295 subj=system_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='acct="oracle": exe="/usr/sbin/sshd" (hostname=?, addr=213.165.165.130, terminal=sshd res=failed)'
para ser exato, as entradas de log são gravadas sem carimbo de data/hora. Isso torna mais difícil a solução de problemas. Há uma página de manual disponível
man auditd.conf
mas tudo o que diz neste assunto é:
log_format
The log format describes how the information should be stored on
disk. There are 2 options: raw and nolog. If set to RAW, the
audit records will be stored in a format exactly as the kernel
sends it. If this option is set to NOLOG then all audit informa-
tion is discarded instead of writing to disk. This mode does not
affect data sent to the audit event dispatcher.
Como configuro para imprimir data/hora no início de cada entrada?
Responder1
Embora não haja nenhuma opção que você possa definir para criar o log auditd com um formato de data analisável por humanos, se você usar o comando 'ausearch' para pesquisar seu log de auditoria, há uma -i
opção que produz um formato de data legível por humanos (bem, talvez um pouco mais legível por humanos).
Por exemplo, se eu executei ausearch -ts today
meu sistema recém-inicializado, vejo:
# ausearch -ts today
----
time->Mon Mar 19 23:07:00 2012
type=DAEMON_START msg=audit(1332212820.421:3834): auditd start, ver=2.1.3 format=raw kernel=3.2.10-3.fc16.x86_64 auid=4294967295 pid=6438 subj=system_u:system_r:auditd_t:s0 res=success
Mas se eu correr ausearch -ts today -i
, vejo:
# ausearch -ts today -i
----
type=DAEMON_START msg=audit(03/19/2012 23:07:00.421:3834) : auditd start, ver=2.1.3 format=raw kernel=3.2.10-3.fc16.x86_64 auid=unset pid=6438 subj=system_u:system_r:auditd_t:s0 res=success
Isso funciona para você? ausearch
é provavelmente o que você usará para examinar os registros de auditoria. -i
também faz coisas como pesquisas de uid->nome de usuário e outras resoluções.
EDITAR: Você pode ver acima que estou executando o Fedora 16, mas o mesmo ausearch -i
se aplica ao RHEL5.
Responder2
Esse número longo no início é um carimbo de data/hora: são segundos desde a época. Alguns momentos atrás, eu recebi:
[0 1128 18:09:57] ~ % date +%s; date
1331917801
Fri Mar 16 18:10:01 CET 2012
Para converter o número em algo mais legível, tente
[0 1133 18:12:41] ~ % date -d @1331897657
Fri Mar 16 12:34:17 CET 2012
(Então, aparentemente, você precisará de " sed
truques usuais" para cortar as partes abaixo de um segundo.)
Não tenho uma máquina habilitada para SE à mão, mas talvez sealert -a
também analise os carimbos de data e hora em algo legível por humanos?
Responder3
ausearch -i
Da ajuda:
-i,--interpret Interpret results to be human readable
essa não é a resposta correta, poisjsbillingsescreveu.
Não há necessidade de executar tail -f !
PS: Malditos pontos de acumulação! É por isso que não pude comentar ou votar positivamente.
Responder4
tail -f /var/log/audit/audit.log | ausearch -i