auditd escribe en /var/log/audit/audit.log, legible solo por root. La exportación más rápida de una ventana de tiempo en el formato original es:
sudo ausearch --raw -ts yesterday > web-03_audit.log
Si /var/log/audit no existe, auditd no está instalado. Esa es la configuración predeterminada en Debian y Ubuntu. Los eventos de auditoría del kernel se envían al journal, donde journalctl _TRANSPORT=audit los encuentra.
auditd es la respuesta de Linux a “quién ejecutó qué, y tocó qué archivo”: ejecución de procesos, acceso a archivos, cambios de permisos y cambios de cuenta, hasta la syscall. Prime Core tiene 1350 reglas de detección para datos de auditd, mapeados a 440 técnicas MITRE ATT&CK. Entre ellas: uso malicioso de shell (T1059.004), llaves SSH implantadas (T1098.004) y cambios de permisos en archivos sensibles (T1222.002).
Antes de comenzar
¿Está funcionando, y qué está registrando?
systemctl is-active auditd
sudo auditctl -l
Los sistemas de la familia Red Hat instalan auditd por defecto; Debian y Ubuntu necesitan el paquete auditd. Si auditctl -l imprime No rules, aún obtienes una línea base de inicios de sesión, autenticación y rechazos de SELinux. Sin embargo, no obtendrás registros de ejecución de comandos o acceso a archivos, porque nadie los solicitó.
Solo root. /var/log/audit está muy restringido, así que planea usar sudo.
La rotación es propia de auditd. auditd rota su log por sí mismo, basado en max_log_file y num_logs en /etc/audit/auditd.conf, en audit.log.1, audit.log.2, y así sucesivamente. El historial más antiguo se encuentra en esos archivos.
El formato requiere acostumbrarse. Un evento es a menudo varias líneas (SYSCALL, EXECVE, CWD, PATH, PROCTITLE) que comparten el mismo sello msg=audit(<epoch>:<serial>). Los valores con espacios están codificados en hexadecimal. Eso es normal.
Paso 1: Exportar con ausearch
ausearch filtra por tiempo, tipo de registro o clave de regla, y –raw mantiene el formato original:
# un día, raw
sudo ausearch --raw -ts yesterday -te today > web-03_audit.log
Las palabras clave today, yesterday, this-week y recent (los últimos diez minutos) te ahorran de los formatos de fecha. Las fechas explícitas siguen tu configuración regional, 10/19/2026 00:00:00 en en_US, que es de donde vienen la mayoría de las sorpresas de “sin coincidencias”.
Para una carga, mantén –raw: los registros originales contienen más que la vista interpretada.
Si prefieres simplemente tomar todo, concatena los archivos del más antiguo al más reciente:
sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log
Paso 2 (sin auditd): Obtén eventos de auditoría del journal
Sin auditd, los registros de auditoría del kernel aún llegan a journald:
sudo journalctl _TRANSPORT=audit --since yesterday -o json --no-pager > web-03_audit.jsonl
Con ninguna regla cargada, espera principalmente inicios de sesión y mensajes de SELinux o AppArmor, pero es mejor que nada.
Carga, desinfecta y revisa en LogTotal
[PROOF: confirm LogTotal parses raw auditd format. If it doesn’t yet, publish this guide with the journal JSON route only, or hold it until support lands.]
- Cargar. Abre logtotal.com y suelta el archivo.
- Desinfectar. [PROOF: what gets masked in auditd records: usernames, hostnames, IPs, paths]. Look it over before you continue.
- Revisar.
Cuando algo sale mal
| Síntoma | Causa probable | Fix |
|---|---|---|
| /var/log/audit no existe | auditd no está instalado | Usa la ruta del journal (Paso 2) |
| Permiso negado | No root | sudo |
| Solo inicios de sesión, sin comandos | No se cargaron reglas de ejecución | Esperado; añade reglas para el futuro |
| <sin coincidencias> de ausearch | El formato de fecha no coincide con tu configuración regional | Usa today, yesterday, this-week |
| “límite de backlog excedido” en mensajes del kernel | El kernel descartó eventos de auditoría bajo carga | Trata el log como si tuviera huecos; aumenta backlog_limit |
FAQ
¿Debería activar auditd ahora?
Sí, para la próxima vez. Las reglas deciden todo, así que empieza desde un conjunto de reglas conocidas en lugar de escribir las tuyas propias desde cero. El paquete de auditoría proporciona reglas de ejemplo, y existen conjuntos comunitarios bien mantenidos.
auditd o el journal: ¿cuál es el registro real?
Con auditd en ejecución, /var/log/audit/audit.log es el completo. El journal puede tener una copia parcial, dependiendo de la configuración.