Skip to content

Glossaire

Numéro de séquence du journal (seqnum)

Le compteur que journald attribue à chaque entrée, partagé par tous les fichiers journal d’une machine ; les numéros manquants révèlent des entrées disparues.

Chaque entrée d’un fichier du journal systemd porte un numéro de séquence (seqnum). journald tient un seul compteur par machine, identifié par le seqnum_id enregistré dans l’en-tête de chaque fichier, et l’incrémente à chaque entrée écrite, quel que soit le fichier de destination : system.journal, les archives issues de la rotation ou les fichiers par utilisateur user-<UID>.journal. Chaque en-tête enregistre aussi head_entry_seqnum et tail_entry_seqnum, le premier et le dernier numéro que le fichier devrait contenir.

Pourquoi c’est important en investigation

Triées par seqnum au sein d’un même seqnum_id, les entrées d’une collecte complète forment une série continue. Une plage manquante signifie que des entrées ont existé et ne figurent pas dans les fichiers dont vous disposez. Le seqnum est donc une preuve d’altération intégrée : supprimer un fichier journal entier, ou en réécrire un sans certaines entrées, laisse un trou qui reste visible une fois les entrées disparues.

Écartez d’abord les causes bénignes :

  • Journaux utilisateur non collectés. Les entrées écrites dans user-1001.journal consomment aussi des numéros ; si seul system.journal a été pris, chacune apparaît comme un trou.
  • Archives purgées. La rétention et journalctl --vacuum-* suppriment les anciens fichiers : le trou se trouve alors au début de la plage.
  • Collecte à chaud. Un trou tout à la fin peut correspondre à des entrées écrites pendant la copie.

Un trou au milieu de la fenêtre de l’incident, avec les journaux utilisateur présents, ou qui coïncide avec un rm de fichier journal dans audit.log, est une constatation.

Exemple

journalctl -D /mnt/evidence/var/log/journal --header

Pour chaque fichier, cette commande affiche l’identifiant de séquence et les numéros de séquence de tête et de queue. Si system.journal saute d’un numéro à un autre bien plus élevé pendant l’incident et qu’aucun user-1001.journal n’a été trouvé, les entrées manquantes se trouvaient probablement dans ce fichier utilisateur. Une horloge reculée se voit quand l’heure réelle diminue alors que le seqnum continue d’augmenter.

Termes associés

  • Journal systemd : le format de fichier qui porte le compteur.
  • wtmp et btmp : où l’altération prend la forme d’enregistrements mis à zéro.

Linux Log Parser signale les trous de seqnum et avertit quand aucun journal utilisateur n’a été chargé. Voir l’altération des journaux Linux.