Glossar
systemd-Journal
Das Binärlog von systemd-journald: strukturierte FIELD=value-Einträge mit vertrauenswürdigen Absenderfeldern und UTC-Zeitstempeln in Mikrosekunden.
Das systemd-Journal ist das Binärlog von systemd-journald. Es sammelt Nachrichten vom Kernel, von Programmen, die die Syslog-API oder die native Journal-API nutzen, aus der Standardausgabe jedes Dienstes und aus dem Audit-Subsystem und speichert sie als Einträge aus FELD=Wert-Paaren. Persistente Dateien liegen unter /var/log/journal/<machine-id>/; flüchtige unter /run/log/journal/<machine-id>/ gehen beim Neustart verloren. Welche Variante genutzt wird, bestimmt Storage= in journald.conf.
Jede Datei beginnt mit der Signatur LPKSHHRH und einem Header, gefolgt von Objekten: deduplizierte DATA-Nutzdaten, ENTRY-Objekte, Hashtabellen und Arrays. Große Nutzdaten können mit XZ, LZ4 oder ZSTD komprimiert sein, und seit systemd 252 können Dateien ein kompaktes Layout mit 32-Bit-Offsets verwenden.
Warum es in Ermittlungen wichtig ist
Felder mit führendem Unterstrich fügt journald aus der Kernel-Sicht auf den Absender hinzu; der Absender kann sie nicht fälschen: _PID, _UID, _COMM, _EXE, _CMDLINE, _SYSTEMD_UNIT, _BOOT_ID, _AUDIT_LOGINUID, _AUDIT_SESSION. Eine gefälschte sshd-Zeile, geschrieben mit logger, zeigt weiterhin _COMM=logger und die echte UID. Zeitstempel sind Mikrosekunden seit der Epoche in UTC, und jeder Eintrag hat eine Sequenznummer, die gelöschte Einträge verrät. Auf Debian 12 und manchen Fedora-Installationen ist das Journal das einzige Systemlog.
Beispiel
Ein SSH-Login, wie ihn journalctl -o verbose anzeigt (gekürzt):
_TRANSPORT=syslog
_PID=3071
_UID=0
_COMM=sshd
_SYSTEMD_UNIT=ssh.service
SYSLOG_IDENTIFIER=sshd
MESSAGE=Accepted password for svc_backup from 203.0.113.45 port 51544 ssh2
Übergeben Sie beim Lesen von Beweismaterial immer -D, etwa journalctl -D /mnt/evidence/var/log/journal, sonst liest journalctl das Journal des Analyserechners. Behalten Sie .journal~-Dateien: Sie wurden nach einem unsauberen Stopp umbenannt und decken oft die letzten Minuten vor einem Absturz ab.
Verwandte Begriffe
- Journal-Sequenznummer: der Zähler, der Manipulation sichtbar macht.
- rsyslog: schreibt Textkopien derselben Nachrichten.
- systemd-logind: protokolliert das Anlegen von Sitzungen im Journal.
Linux Log Parser liest rohe Journal-Dateien, kompakt und komprimiert. Siehe Forensik des systemd-Journals.