Comment exporter les journaux systemd avec journalctl

Comment exporter les journaux systemd avec journalctl

SOC Prime Team
SOC Prime Team linkedin icon Suivre

Exécutez journalctl avec une fenêtre temporelle et -o json, et vous obtenez un objet JSON par ligne avec chaque champ stocké par le journal :

sudo journalctl --since "2026-10-19 00:00" --until "2026-10-20 00:00" -o json --no-pager> web-03_journal.jsonl

Pour obtenir un fichier texte de type syslog à la place, utilisez -o short-iso. Sans sudo ou appartenance aux groupes systemd-journal, adm ou wheel, vous ne voyez que votre propre journal utilisateur, pas celui du système.

Sur la plupart des distributions modernes, le journal est l’endroit où tout arrive en premier : services, noyau, sudo, cron, connexions. Sur Debian 12 et versions ultérieures, Fedora et Arch, c’est souvent le seul endroit, car rsyslog n’est pas installé. Prime Core dispose de {N} règles de détection pour les journaux système Linux, mappées à {M} techniques MITRE ATT&CK, dont la persistance cron (T1053.003), les services systemd malveillants (T1543.002) et l’abus de sudo (T1548.003).

Commencez gratuitement

Avant de commencer

Autorisations. Les mêmes règles que pour tout journal système : root, ou les groupes ci-dessus. Notre [guide des autorisations de journaux Linux] contient les détails.

Est-ce que le journal survit aux redémarrages ? Si /var/log/journal n’existe pas, les journaux résident en mémoire sous /run/log/journal et disparaissent au redémarrage. journalctl –list-boots montre combien de démarrages vous avez réellement. S’il ne répertorie que le courant, l’historique ancien est perdu.

Quelle est la quantité ? journalctl –disk-usage vous le dit avant que vous ne le déversiez entièrement dans un fichier. Par défaut, un journal persistant peut atteindre 10% de son système de fichiers, plafonné à 4 Go. C’est bien plus que ce que vous voulez télécharger en un seul morceau.

Fuseaux horaires. Le journal enregistre les horodatages en UTC, mais journalctl imprime l’heure locale à moins que vous n’ajoutiez –utc. La sortie JSON transporte l’horodatage brut en microsecondes UTC (__REALTIME_TIMESTAMP) dans les deux cas.

Étape 1 : Réduisez la portée

Choisissez les filtres qui correspondent à votre question. Ils se combinent :

FiltreCe qu’il fait
–since / –untilFenêtre temporelle ; accepte « 2026-10-19 14:00 », hier ou « il y a 2 heures »
-b, -b -1Démarrage actuel, démarrage précédent
-u nginx -u sshUne ou plusieurs unités systemd
-p warningCette priorité et toute priorité plus sévère
-kMessages du noyau uniquement
_COMM=sudo, _UID=0Faire correspondre exactement n’importe quel champ du journal

Étape 2 : Choisissez le format de sortie

  • -o json: un objet JSON par ligne, avec chaque champ. C’est le choix par défaut pour LogTotal, car rien n’est perdu.
  • -o json –output-fields=MESSAGE,_HOSTNAME,_COMM,_PID,SYSLOG_IDENTIFIER,PRIORITY: pareil, mais réduit. Quelques champs, comme les horodatages et l’ID de démarrage, sont toujours inclus. Cela réduit considérablement la taille du fichier.
  • -o short-iso: texte de style syslog avec des horodatages ISO complets. Plus petit et facile à lire à l’œil nu. [PROOF : confirmer que LogTotal analyse le short-iso]

N’utilisez pas -o export. Malgré le nom, c’est un format de sérialisation pour l’envoi de journaux entre machines systemd, pas quelque chose à analyser.

Nous vous recommandons un export typique avec une portée :

sudo journalctl -b -1 -p info -u ssh -u cron 

  -o json --no-pager> web-03_prevboot.jsonl

Étape 3 (facultatif) : Lire les fichiers de journal d’une autre machine

Dans les travaux d’incidents, vous avez souvent une image de disque ou un dossier /var/log/journal copié plutôt qu’un système actif. journalctl les lit directement :

journalctl -D /mnt/evidence/var/log/journal -o json --no-pager> evidence_journal.jsonl

Utilisez –file pour pointer vers des fichiers .journal individuels. Un journal d’un système planté ou arrêté de manière incorrecte peut imprimer des avertissements de corruption. La plupart des entrées sortent généralement quand même.

Téléchargez, assainissez et passez en revue dans LogTotal

  1. Téléchargez. Ouvrir logtotal.com et déposez le fichier .jsonl. [PROOF : écran de téléchargement, limite de taille]
  2. Assainissez. [PROOF: what gets masked in journal JSON: hostnames, usernames, IPs, machine and boot IDs]. Look it over before you continue.
  3. Passez en revue. [PROOF: what the results screen shows]

Ce à quoi cela ressemble avec des données réelles. Nous avons exporté une journée de journal à partir de [PROOF : source d’exemple, par exemple un VM de test jetable après avoir ajouté une tâche cron, un nouvel utilisateur et un service systemd suspect]. LogTotal a signalé [PROOF : résultats réels]. [PROOF : lien vers le fichier d’échantillon]

Quand ça tourne mal

SymptômeCause probableFix
Indication ne pas voir les messages des autres utilisateursPas root, et pas dans les groupes de journauxsudo, ou ajoutez le compte au systemd-journal
— Aucune entrée —Fenêtre temporelle ou nom d’unité ne correspondent pas ; confusion locale vs UTCÉlargissez la fenêtre ; essayez –utc ; vérifiez systemctl list-units
Seul le démarrage actuel existeJournal volatilLes journaux plus anciens sont partis ; vérifiez votre expéditeur de journaux ou SIEM
La sortie semble binaire ou brouillée-o export a été utiliséUtilisez -o json
Le fichier est en gigaoctetsAucun filtreAjoutez des unités, priorité, –output-fields

FAQ

JSON ou texte ?

JSON pour l’analyse, car il garde PID, unité, ID de démarrage et horodatages exacts en tant que champs distincts. Texte lorsqu’une personne le lira, ou lorsque la taille est importante.

Le journal est-il le même que /var/log/syslog ?

Non. Lors de l’installation de rsyslog, il copie les messages du journal dans des fichiers texte, vous pouvez donc avoir les deux. Quand il n’est pas installé, le journal est tout ce qu’il y a.

Rejoignez la plateforme Detection as Code de SOC Prime pour améliorer la visibilité sur les menaces les plus pertinentes pour votre entreprise. Pour vous aider à démarrer et à générer une valeur immédiate, planifiez dès maintenant une réunion avec des experts de SOC Prime.