¿Cómo configurar SELinux para imprimir la fecha y hora en cada entrada en el registro de auditoría?

¿Cómo configurar SELinux para imprimir la fecha y hora en cada entrada en el registro de auditoría?

Estoy usando CentOS 5.5 y de forma predeterminada mi /var/log/audit/audit.logaspecto 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 -iopción que produce datos legibles por humanos (bueno, tal vez ligeramente). salida más legible para humanos).

Por ejemplo, si ejecuté ausearch -ts todaymi 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? ausearchProbablemente sea lo que utilizará para consultar los registros de auditoría de todos modos. -itambié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 -ise 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 " sedtrucos habituales" para cortar las partes de menos de un segundo).

No tengo a mano una máquina habilitada para SE, pero ¿quizás sealert -atambié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

información relacionada