Skip to content

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.journal verbrauchen ebenfalls Nummern; wurde nur system.journal gesichert, 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

Linux Log Parser meldet seqnum-Lücken und warnt, wenn kein Benutzer-Journal geladen wurde. Siehe Log-Manipulation erkennen.