Was Linux Log Parser liest
Ein Linux-Host protokolliert Authentifizierung, Rechtenutzung und Dienstaktivität an mehreren Stellen gleichzeitig: in Textdateien, die rsyslog schreibt (auth.log und syslog unter Debian und Ubuntu, secure und messages unter RHEL), im binären systemd-Journal, im von auditd geschriebenen Audit-Protokoll und in den binären Anmeldeeinträgen wtmp, btmp, utmp und lastlog (oder wtmpdb und lastlog2 auf neueren Systemen).
Dieses Werkzeug liest sie alle in Ihrem Browser und führt sie in einer Zeitleiste zusammen. Jede Zeile wird zu einem Ereignis mit Host, Programm, Prozess-ID, Benutzer, Quelladresse und Befehl normalisiert und eingeordnet: SSH-Anmeldungen und Fehlschläge, sudo und su, Konto- und Passwortänderungen, Änderungen an cron und systemd, Kernelmodule, gestoppte Protokollierung. An- und Abmeldungen werden zu Sitzungen zusammengeführt, mit den darin ausgeführten Befehlen, sofern auditd sie erfasst hat.
Wo die Dateien liegen
- /var/log/auth.log, /var/log/syslog (Debian, Ubuntu) und /var/log/secure, /var/log/messages (RHEL, Rocky, Alma, Fedora), mit ihren Rotationen (.1, .2.gz, datierte Namen).
- /var/log/journal/<machine-id>/*.journal und *.journal~ (persistentes Journal), /run/log/journal/ (flüchtig).
- /var/log/audit/audit.log und seine Rotationen (audit.log.1 …).
- /var/log/wtmp, /var/log/btmp, /var/log/lastlog, /run/utmp; wtmpdb unter /var/lib/wtmpdb/wtmp.db (Debian 13: /var/log/wtmp.db) und lastlog2 unter /var/lib/lastlog/lastlog2.db.
- /etc/localtime oder /etc/timezone (Zeitzone für klassische syslog-Zeilen) und /etc/passwd (UID zu Name).
Was es zeigt
- Passwort-Raten, gefolgt von einer erfolgreichen Anmeldung, von derselben oder einer anderen Adresse; Anmeldungen von Adressen, die ein Konto nie benutzt hat; direkte root-Anmeldungen.
- Nutzung von sudo und su, einschließlich interaktiver root-Shells, sowie fehlgeschlagene oder abgelehnte Versuche.
- Angelegte Konten, Aufnahmen in Admin-Gruppen oder neue Passwörter; crontab-Änderungen, systemd-Unit-Dateien und Units, die zum ersten Mal starten; Kernelmodule.
- Hinweise auf Protokollmanipulation: Lücken in Journal-Sequenznummern, Authentifizierungszeilen, die im Journal stehen, aber in auth.log fehlen, genullte oder gekürzte wtmp-Einträge, gestoppte Protokolldienste und Befehle zum Löschen von Protokollen.
- Sitzungen von der Anmeldung bis zur Abmeldung, rekonstruiert aus sshd- und PAM-Zeilen, systemd-logind, Audit-Sitzungs-IDs und wtmp, mit dem, was darin geschah.
Was es nicht sagen kann
- Protokolle enthalten nur, was protokolliert wurde: Ohne execve-Audit-Regeln gibt es keine Aufzeichnung von Befehlen, und Shell-Builtins werden nie erfasst.
- Meldungen werden von Programmen geschrieben, und jeder lokale Benutzer kann mit logger ähnlich aussehende Zeilen einschleusen. Die Journal-Felder mit Unterstrich (_UID, _EXE, _CMDLINE) sind die vertrauenswürdigen.
- Klassische syslog-Zeilen haben weder Jahr noch Zone: Das Ergebnis hängt vom Dateidatum und der von Ihnen gesetzten Zone ab. Das Werkzeug zeigt an, wo es geschätzt hat.
- Befunde sind Ansatzpunkte, keine Urteile: Administratoren hinterlassen viele der gleichen Spuren. Webserver-Protokolle werden nicht ausgewertet.
So erhalten Sie die Dateien
- Am einfachsten: als root /var/log, /run/log/journal sowie /etc/localtime, /etc/timezone, /etc/passwd, /etc/hostname mit tar in ein .tar.gz packen und hier ablegen (siehe Anleitung oben).
- UAC-Sammlungen (tar.gz) und Velociraptor-ZIPs können unverändert abgelegt werden.
- Auf einem ausgeschalteten System das Dateisystem schreibgeschützt einhängen und dieselben Pfade archivieren.
Fragen
Werden meine Protokolle hochgeladen?
Nein. Die Dateien werden in Ihrem Browser von WebAssembly in einem Web Worker gelesen und ausgewertet. Nichts wird an einen Server gesendet; beim Schließen des Tabs ist alles vergessen.
Kann es binäre Journal-Dateien ohne journalctl lesen?
Ja. Die Engine dekodiert das Journal-Dateiformat direkt, einschließlich des kompakten Layouts ab systemd 252 und mit XZ, LZ4 oder ZSTD komprimierter Felder. Sie liest auch die Ausgabe von journalctl -o export und -o json.
Wie geht es mit auth.log-Zeilen ohne Jahr um?
Klassische syslog-Zeilen (Sep 14 10:02:11) haben weder Jahr noch Zeitzone. Das Werkzeug ermittelt die Jahre rückwärts ab dem Änderungsdatum der Datei (oder dem jüngsten datierten Ereignis) und rechnet die Ortszeit mit der Zone aus /etc/localtime oder /etc/timezone um. Beides lässt sich manuell festlegen, und jede geschätzte Zeit wird markiert.
Warum erscheinen manche auth.log-Zeilen als Duplikate?
Auf systemd-Hosts erhält rsyslog seine Zeilen von journald, daher enthalten auth.log und das Journal dieselben Ereignisse. Die Journal-Kopie hat vertrauenswürdige Felder und Zeiten in Mikrosekunden, daher wird die Textzeile als Duplikat markiert und standardmäßig ausgeblendet. Zeilen, die nur in einer der beiden Quellen stehen, bleiben erhalten und werden, bei in auth.log fehlenden Authentifizierungszeilen, gemeldet.
Erkennt es gelöschte Protokolleinträge?
Es meldet, was sich messen lässt: Lücken in Journal-Sequenznummern, Authentifizierungseinträge, die das Journal enthält, auth.log aber nicht, genullte oder gekürzte wtmp-Einträge sowie Befehle, die die Protokollierung stoppen oder Protokolle löschen. Ein unauffälliges Ergebnis beweist nicht, dass nichts entfernt wurde.
Welche Distributionen werden unterstützt?
Die Verzeichnisstrukturen von Debian, Ubuntu, RHEL und seinen Nachbauten, Fedora, SUSE und Arch: rsyslog im klassischen und im RFC-3339-Format, RFC 5424, das systemd-Journal, auditd-Protokolle im Format RAW und ENRICHED, wtmp in den Eintragslayouts für x86_64 und aarch64, wtmpdb und lastlog2.