De una coincidencia a un evento completo
Un evento de Auditd puede ocupar varias líneas. Por ejemplo, en un intento de abrir un archivo, el registro SYSCALL describe el proceso y el resultado de la llamada, mientras que un registro PATH identifica el archivo. ausearch reúne los registros del mismo evento, aunque la búsqueda solo pida uno de esos tipos.
Empieza por los eventos de los últimos diez minutos que incluyan un registro SYSCALL. Si conoces la clave de la regla que te interesa, puedes añadir --key seguido de esa clave para acotar la búsqueda.
sudo ausearch --start recent --message SYSCALL
Busca el campo msg=audit(...). Si ves msg=audit(1794650400.123:842), el número 842 es el identificador del evento. Sustitúyelo por el que aparezca en tu salida y conserva el filtro de tiempo para consultar el mismo intervalo.
sudo ausearch --start recent --event 842 --interpret
La opción --interpret muestra valores numéricos en un formato más legible. Por ejemplo, traduce el número de una llamada al sistema a su nombre y, cuando puede resolverlo, un UID al nombre de una cuenta.
Cómo leer los campos del evento
- ¿A qué cuenta de inicio de sesión se atribuye?
auididentifica la cuenta asociada al inicio de sesión y normalmente se conserva aunque el proceso cambie de usuario, por ejemplo consudo. Puede aparecer sin asignar, por ejemplo en un servicio iniciado sin sesión de usuario. - ¿Con qué identidad actuó el proceso?
uides el identificador real yeuidel efectivo. El UID efectivo puede diferir delauidy, por sí solo, no describe todos los permisos del proceso. - ¿Qué programa intervino?
commmuestra el nombre corto del proceso yexela ruta del ejecutable.pididentifica el proceso yppidsu proceso padre. - ¿Qué archivo o directorio intervino? Busca el campo
nameen los registrosPATH. Puede haber varias rutas en un mismo evento. Si una es relativa, el campocwddel registroCWD, cuando aparece, indica el directorio de trabajo del proceso. - ¿Cómo terminó la operación? En
SYSCALL,successindica si la llamada tuvo éxito yexitrecoge el valor devuelto por esa llamada, incluido el error si falló. No es el código de salida del programa.
Si el evento muestra que cat intentó abrir /etc/shadow y la llamada terminó con success=no y EACCES, puedes concluir que ese intento de apertura fue denegado. El registro no demuestra que el proceso llegara a leer el archivo ni permite deducir por qué alguien intentó abrirlo.
Si analizas registros sin enriquecer de otro equipo, comprueba los UID contra las cuentas del sistema de origen. --interpret usa las cuentas del equipo donde ejecutas la consulta y podría mostrar un nombre distinto para el mismo UID. Si el registro está enriquecido, ausearch utiliza los datos guardados con el evento.
Qué puedes concluir si no hay resultados
Una búsqueda sin coincidencias solo indica que no encontraste un evento en los registros consultados con esos filtros. Antes de concluir que no hubo actividad, revisa el intervalo de búsqueda y comprueba que la regla que debía registrarla estaba activa en ese momento. Para configurar reglas persistentes, consulta la guía de Auditd en Ubuntu.
