
Estoy usando CentOS 5.5 y de forma predeterminada mi /var/log/audit/audit.log
aspecto es el siguiente:
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 exactos, las entradas del registro se escriben sin marca de tiempo, lo que dificulta la resolución de problemas. Hay una página de manual disponible
man auditd.conf
pero lo único que dice en este tema es:
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.
¿Cómo lo configuro para imprimir la fecha/hora al comienzo de cada entrada?
Respuesta1
Si bien no hay ninguna opción que pueda configurar para crear un registro auditado con un formato de fecha analizable por humanos, si usa el comando 'ausearch' para buscar en su registro de auditoría, hay una -i
opción que produce datos legibles por humanos (bueno, tal vez ligeramente). salida más legible para humanos).
Por ejemplo, si ejecuté ausearch -ts today
mi sistema recién iniciado, veo:
# 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
Pero si corro ausearch -ts today -i
, veo:
# 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
Eso funciona para ti? ausearch
Probablemente sea lo que utilizará para consultar los registros de auditoría de todos modos. -i
también hace cosas como uid->búsquedas de nombres de usuario y otras resoluciones.
EDITAR: Puedes ver en lo anterior que estoy ejecutando Fedora 16, pero lo mismo ausearch -i
se aplica a RHEL5.
Respuesta2
Ese número largo al principio es una marca de tiempo: son segundos desde la época. Hace unos momentos, obtuve:
[0 1128 18:09:57] ~ % date +%s; date
1331917801
Fri Mar 16 18:10:01 CET 2012
Para convertir el número en algo más legible, intente
[0 1133 18:12:41] ~ % date -d @1331897657
Fri Mar 16 12:34:17 CET 2012
(Aparentemente, necesitarás " sed
trucos habituales" para cortar las partes de menos de un segundo).
No tengo a mano una máquina habilitada para SE, pero ¿quizás sealert -a
también analice las marcas de tiempo en algo legible por humanos?
Respuesta3
ausearch -i
De ayuda:
-i,--interpret Interpret results to be human readable
Esa no es la respuesta correcta.jsbillingsescribió.
¡No es necesario ejecutar tail -f!
PD ¡Malditos puntos de acumulación! Por eso no pude comentar ni votar.
Respuesta4
tail -f /var/log/audit/audit.log | ausearch -i