Qué lee Linux Log Parser
Un host Linux registra la autenticación, el uso de privilegios y la actividad de los servicios en varios lugares a la vez: archivos de texto escritos por rsyslog (auth.log y syslog en Debian y Ubuntu, secure y messages en RHEL), el journal binario de systemd, el registro de auditoría escrito por auditd y los registros binarios de inicio de sesión wtmp, btmp, utmp y lastlog (o wtmpdb y lastlog2 en sistemas más recientes).
Esta herramienta los lee todos en su navegador y los reúne en una sola línea de tiempo. Cada línea se normaliza en un evento con su host, programa, id de proceso, usuario, dirección de origen y comando, y se clasifica: inicios de sesión SSH y fallos, sudo y su, cambios de cuentas y contraseñas, cambios en cron y systemd, módulos del kernel, detención del registro. Los inicios y cierres de sesión se emparejan en sesiones, con los comandos ejecutados dentro cuando auditd los registró.
Dónde están los archivos
- /var/log/auth.log, /var/log/syslog (Debian, Ubuntu) y /var/log/secure, /var/log/messages (RHEL, Rocky, Alma, Fedora), con sus rotaciones (.1, .2.gz, nombres con fecha).
- /var/log/journal/<machine-id>/*.journal y *.journal~ (journal persistente), /run/log/journal/ (volátil).
- /var/log/audit/audit.log y sus rotaciones (audit.log.1 …).
- /var/log/wtmp, /var/log/btmp, /var/log/lastlog, /run/utmp; wtmpdb en /var/lib/wtmpdb/wtmp.db (Debian 13: /var/log/wtmp.db) y lastlog2 en /var/lib/lastlog/lastlog2.db.
- /etc/localtime o /etc/timezone (zona horaria para las líneas syslog tradicionales) y /etc/passwd (de UID a nombre).
Qué muestra
- Adivinación de contraseñas seguida de un inicio de sesión correcto, desde la misma dirección u otra; inicios de sesión desde direcciones que una cuenta nunca usó; inicios de sesión directos como root.
- Uso de sudo y su, incluidas las shells de root interactivas, y los intentos fallidos o rechazados.
- Cuentas creadas, añadidas a grupos de administración o con una contraseña nueva; ediciones de crontab, archivos de unidad de systemd y unidades que se inician por primera vez; módulos del kernel.
- Indicios de manipulación de registros: huecos en los números de secuencia del journal, líneas de autenticación presentes en el journal pero ausentes de auth.log, registros de wtmp borrados o truncados, servicios de registro detenidos y comandos que borran registros.
- Sesiones desde el inicio hasta el cierre, reconstruidas a partir de las líneas de sshd y PAM, systemd-logind, los id de sesión de auditoría y wtmp, con lo que ocurrió dentro de ellas.
Lo que no puede decirle
- Los registros solo contienen lo que se registró: sin reglas de auditoría de execve no hay constancia de los comandos, y los comandos internos de la shell nunca se registran.
- Los mensajes los escriben los programas, y cualquier usuario local puede inyectar líneas de aspecto similar con logger. Los campos del journal con guion bajo (_UID, _EXE, _CMDLINE) son los fiables.
- Las líneas syslog tradicionales no tienen año ni zona: el resultado depende de la fecha del archivo y de la zona que configure. La herramienta indica cuándo ha deducido algo.
- Los hallazgos son pistas, no veredictos: los administradores dejan muchas de las mismas huellas. Los registros de servidores web no se analizan.
Cómo obtener los archivos
- Lo más fácil: como root, empaquete con tar /var/log, /run/log/journal y /etc/localtime, /etc/timezone, /etc/passwd, /etc/hostname en un solo .tar.gz y suéltelo aquí (vea la guía anterior).
- Las recopilaciones de UAC (tar.gz) y los ZIP de Velociraptor pueden soltarse tal cual.
- En un equipo apagado, monte el sistema de archivos en solo lectura y archive las mismas rutas.
Preguntas
¿Se suben mis registros?
No. Los archivos se leen y analizan en su navegador mediante WebAssembly que se ejecuta en un Web Worker. Nada se envía a un servidor; al cerrar la pestaña se olvida todo.
¿Puede leer archivos binarios del journal sin journalctl?
Sí. El motor decodifica directamente el formato de los archivos del journal, incluida la disposición compacta de systemd 252 y posteriores y los campos comprimidos con XZ, LZ4 o ZSTD. También lee la salida de journalctl -o export y -o json.
¿Cómo trata las líneas de auth.log sin año?
Las líneas syslog tradicionales (Sep 14 10:02:11) no tienen año ni zona horaria. La herramienta deduce los años hacia atrás a partir de la fecha de modificación del archivo (o del evento fechado más reciente) y convierte la hora local con la zona de /etc/localtime o /etc/timezone. Ambos pueden configurarse a mano, y cada hora deducida queda marcada.
¿Por qué algunas líneas de auth.log aparecen como duplicados?
En los hosts con systemd, rsyslog recibe sus líneas de journald, así que auth.log y el journal contienen los mismos eventos. La copia del journal tiene campos fiables y horas con microsegundos, por lo que la línea de texto se marca como duplicado y se oculta por defecto. Las líneas presentes en solo uno de los dos se conservan y, en el caso de líneas de autenticación ausentes de auth.log, se señalan.
¿Detecta entradas de registro eliminadas?
Informa de lo que se puede medir: huecos en los números de secuencia del journal, entradas de autenticación que el journal contiene pero auth.log no, registros de wtmp borrados o truncados, y comandos que detienen el registro o borran registros. Un resultado limpio no prueba que no se haya eliminado nada.
¿Qué distribuciones son compatibles?
Las estructuras de Debian, Ubuntu, RHEL y sus derivadas, Fedora, SUSE y Arch: formatos rsyslog tradicional y RFC 3339, RFC 5424, el journal de systemd, registros de auditd RAW y ENRICHED, wtmp en las disposiciones de registro x86_64 y aarch64, wtmpdb y lastlog2.