Glossar
Journal-Sequenznummer (seqnum)
Der Zähler, den journald jedem Journal-Eintrag zuweist, gemeinsam für alle Journal-Dateien eines Systems; Lücken verraten nicht mehr vorhandene Einträge.
Jeder Eintrag in einer Datei des systemd-Journals trägt eine Sequenznummer (seqnum). journald führt einen einzigen Zähler pro System, erkennbar an der seqnum_id im Header jeder Datei, und erhöht ihn für jeden geschriebenen Eintrag, unabhängig von der Zieldatei: system.journal, rotierte Archive oder die benutzerbezogenen Dateien user-<UID>.journal. Jeder Header hält außerdem head_entry_seqnum und tail_entry_seqnum fest, die erste und letzte Nummer, die die Datei enthalten sollte.
Warum es in Ermittlungen wichtig ist
Nach seqnum sortiert, bilden die Einträge einer vollständigen Sammlung innerhalb einer seqnum_id eine lückenlose Folge. Ein fehlender Bereich bedeutet, dass Einträge existierten, die in Ihren Dateien fehlen. Die seqnum ist damit ein eingebauter Manipulationsnachweis: Wer eine ganze Journal-Datei löscht oder eine Datei ohne bestimmte Einträge neu schreibt, hinterlässt eine Lücke, die sichtbar bleibt, auch wenn die Einträge verschwunden sind.
Schließen Sie zuerst harmlose Ursachen aus:
- Benutzer-Journale nicht gesichert. Einträge in
user-1001.journalverbrauchen ebenfalls Nummern; wurde nursystem.journalgesichert, erscheint jeder davon als Lücke. - Per Vacuum entfernte Archive. Aufbewahrungsregeln und
journalctl --vacuum-*löschen alte Dateien; die Lücke liegt dann am Anfang des Bereichs. - Live-Sicherung. Eine Lücke ganz am Ende kann aus Einträgen stammen, die während des Kopierens geschrieben wurden.
Eine Lücke mitten im Vorfallszeitraum, obwohl die Benutzer-Journale vorliegen, oder eine, die mit einem rm einer Journal-Datei in audit.log zusammenfällt, ist ein Befund.
Beispiel
journalctl -D /mnt/evidence/var/log/journal --header
Für jede Datei zeigt der Befehl die Sequenznummer-ID sowie die erste und letzte Sequenznummer. Springt system.journal während des Vorfalls von einer Nummer auf eine deutlich höhere und wurde kein user-1001.journal gefunden, lagen die fehlenden Einträge wahrscheinlich in dieser Benutzerdatei. Eine zurückgestellte Uhr zeigt sich daran, dass die Echtzeit sinkt, während die seqnum weiter steigt.
Verwandte Begriffe
- systemd-Journal: das Dateiformat, das den Zähler trägt.
- wtmp und btmp: wo Manipulation als genullte Einträge auftritt.
Linux Log Parser meldet seqnum-Lücken und warnt, wenn kein Benutzer-Journal geladen wurde. Siehe Log-Manipulation erkennen.