Cours B2-29 - Journalisation : syslog, journald, centralisation
Cours · Fiche de cours

B2-29 - Journalisation : syslog, journald, centralisation

B2-29 Journalisation : syslog, journald, centralisation

🎓 SIO2 · semestre 3 ⏱️ 3 h (cours + TP) 🎯 Bloc 2 – SISR Lire, configurer et centraliser les journaux des équipements, des serveurs Linux et des serveurs Windows pour dépanner vite, détecter une attaque et garder des preuves.

🎯 Objectifs

  • Expliquer à quoi servent les journaux : dépannage, sécurité, preuve, conformité.
  • Lire un message syslog : facilité, gravité, horodatage, machine, message.
  • Configurer rsyslog sous Debian, en local puis vers un serveur central.
  • Interroger journald avec journalctl et l'Observateur d'événements de Windows.
  • Horodater juste (NTP), faire tourner et conserver les journaux.
  • Centraliser les journaux des équipements Cisco sur un serveur syslog.

📋 Prérequis

🧭 Référentiel

  • B2.3 Exploiter, dépanner et superviser une solution d'infrastructure réseau.
  • B2.3 Identifier, qualifier et réagir face à un incident.
  • B3.5 Détecter les incidents de sécurité : journaux de sécurité (lien avec B3-12 et B3-13).
Test express des prérequis 3 questions · 2 minutes · conseillé avant de commencer

1. Quelle commande affiche l'état d'un service sous Debian ?

systemctl status donne l'état du service et ses dernières lignes de journal. À revoir : B2-14 · Debian 13.

2. À quoi sert le protocole NTP ?

NTP (Network Time Protocol, port UDP 123) synchronise les horloges. Sans heure commune, impossible de recouper deux journaux. À revoir : B2-28 · Supervision.

3. Dans quelle console Windows lit-on les erreurs d'un service ?

L'Observateur d'événements (eventvwr.msc) regroupe les journaux Application, Système et Sécurité. À revoir : B2-15 · Windows Server.
R110:42:07 SW1*Mar 1 00:12 R2 Rennes10:38:51 SRV-01journal local SRV-WEBdisque plein ? SW2redémarré ? 6 consoles, 6 heures différentes

Brocéliande Logistique (entreprise fictive) a perdu l'accès à l'intranet pendant vingt minutes mardi matin. Pour comprendre, le technicien a dû se connecter un à un aux routeurs, aux commutateurs et aux serveurs : le commutateur SW2 avait redémarré et effacé ses messages, l'horloge de SW1 indiquait le 1er mars à minuit, et le disque de SRV-WEB était plein de journaux jamais supprimés.

Le responsable informatique te demande de mettre de l'ordre dans les journaux : tous les équipements à la même heure, des journaux conservés et tournés correctement, et un serveur SRV-LOG qui reçoit tout, au même endroit, pour pouvoir dépanner et enquêter en quelques minutes.

Le coursPourquoi journaliser, lire un message syslog, configurer rsyslog et journald, lire les journaux Windows, horodater et conserver, puis tout centraliser.

1. À quoi servent les journaux

Chaque équipement et chaque logiciel écrit, au fil de l'eau, ce qui lui arrive : un service qui démarre, une interface qui tombe, un mot de passe refusé, un disque qui se remplit. Ces lignes forment les journaux (en anglais logs). Quand tout fonctionne, personne ne les lit ; quand un incident survient, ils sont la première source d'information du technicien.

Journal (log) : suite chronologique de messages horodatés produits par un système, un équipement ou une application. Chaque message indique quand, qui (machine, programme), quelle gravité et quoi. La journalisation désigne l'ensemble du dispositif : produire, transporter, stocker, conserver et analyser ces messages.

UsageExemple chez Brocéliande Logistique
DépannerLe lien G0/2 de SW1 est passé down à 10:41:58, puis SW2 a redémarré : on comprend la coupure sans deviner.
Détecter une attaque800 échecs de connexion SSH en dix minutes sur SRV-WEB depuis la même adresse : c'est une attaque par force brute.
ProuverLe journal de sécurité de SRV-01 montre qui a supprimé un dossier partagé, et à quelle heure.
Respecter la loiLes accès aux données personnelles doivent être tracés (RGPD, fiche B3-02).
AnticiperDes avertissements « disque presque plein » chaque nuit annoncent la panne de demain.
1. Produire 2. Transporter 3. Stocker 4. Analyser routeurs, switchs,serveurs, applications syslog UDP/TCP 514,abonnements Windows fichiers, rotation,durée de conservation recherche, alertes,tableaux de bord %LINK Un message suit toute la chaîne : s'il manque un maillon, l'information est perdue.
La journalisation n'est utile que si les quatre maillons existent : beaucoup d'entreprises produisent des journaux… que personne ne garde ni ne lit.

2. Lire un message syslog

Syslog est la norme de journalisation des systèmes Linux et des équipements réseau. Un message syslog contient toujours les mêmes éléments, que l'on retrouve aussi bien dans /var/log/syslog que sur un serveur central.

<187> Oct 14 10:41:58 SW1 %LINK-3-UPDOWN: Gi0/2, changed to down prioritéhorodatagemachinesource et gravitétexte du message facilité × 8+ gravité exact si NTP nom ou adresse LINK = interface,3 = erreur ce qui s'est passé <187> = 23 × 8 + 3 : facilité local7 (23, celle des équipements Cisco), gravité 3 (erreur)
Le même message, reçu par le serveur central, garde toutes ces informations : on peut le trier par machine, par gravité ou par date.
  • Priorité (PRI)Nombre entre chevrons calculé ainsi : facilité × 8 + gravité. Il n'apparaît pas dans les fichiers lus par l'humain, mais c'est lui qui voyage sur le réseau.
  • HorodatageDate et heure du message, données par l'horloge de l'équipement : elles ne sont fiables que si l'équipement est synchronisé par NTP (partie 6).
  • MachineNom d'hôte ou adresse IP de l'émetteur : indispensable dès que plusieurs équipements envoient au même serveur.
  • Source et gravitéProgramme ou fonction qui parle (sshd, %LINK, kernel) et niveau de gravité. Chez Cisco, le format est %FONCTION-GRAVITÉ-MNÉMONIQUE.
  • MessageLe texte libre qui décrit l'événement. C'est lui que l'on cherche avec grep ou un outil d'analyse.

2.1 Les huit niveaux de gravité

Chaque message reçoit une gravité de 0 (le plus grave) à 7 (le plus bavard). On règle un seuil : un équipement réglé sur « 4 » envoie les messages de gravité 0 à 4 et ignore les autres. Plus le seuil est élevé, plus il y a de messages.

Clique sur un niveau pour le choisir comme seuil : les messages conservés s'allument.

0 · emergSystème inutilisableplus de mémoire, panne totale 1 · alertAction immédiate nécessairetempérature critique 2 · critÉtat critiquealimentation en défaut 3 · errErreurinterface tombée, service planté 4 · warningAvertissementdisque à 90 % 5 · noticeNormal mais significatifconfiguration modifiée 6 · infoInformationconnexion d'un utilisateur 7 · debugDébogagedétail de chaque paquet

Choisis un seuil : tous les niveaux plus graves (numéro plus petit) sont conservés avec lui.

Un seuil garde son niveau et tous ceux qui sont plus graves : « 6 » garde de 0 à 6.

Dans l'ordre de 0 à 7 : Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debugging : « Every Awesome Cisco Engineer Will Need Ice-cream Daily ». Plus le chiffre est petit, plus c'est grave.

2.2 Les facilités : qui parle ?

La facilité (facility) indique la catégorie du programme qui écrit. Elle permet de ranger les messages dans des fichiers différents.

N°FacilitéProgrammes concernés
0kernNoyau Linux
3daemonServices système sans facilité propre
4 et 10auth, authprivAuthentification : connexions, sudo, sshd
9cronTâches planifiées
2mailServeur de messagerie
16 à 23local0 à local7Libres : les équipements Cisco utilisent local7 par défaut

3. rsyslog sous Debian

Sous Debian, le service rsyslog reçoit les messages des programmes et les écrit dans des fichiers selon des règles. Il peut aussi les envoyer à un autre serveur et en recevoir du réseau. Sa configuration se trouve dans /etc/rsyslog.conf et dans les fichiers de /etc/rsyslog.d/ (lus dans l'ordre alphabétique).

Depuis Debian 12, rsyslog n'est plus installé par défaut : les journaux restent dans journald (partie 4). Pour obtenir les fichiers texte de /var/log et le transfert syslog, installe-le : sudo apt install rsyslog.

3.1 Une règle = un sélecteur et une action

auth . warning /var/log/alertes-auth.log facilitégravité minimaleaction : où écrire ou envoyer SÉLECTEUR *.err toutes les facilités, gravité 3 et plus grave auth,authpriv.* tous les messages d'authentification @172.16.50.30 envoyer en UDP @@172.16.50.30:514 envoyer en TCP
« auth.warning » veut dire : messages d'authentification de gravité warning (4) ou plus grave (0 à 4).
Debian 13 /etc/rsyslog.d/50-local.confrègles locales
# toutes les authentifications dans un fichier dédié
auth,authpriv.* /var/log/auth.log
# les erreurs et plus grave de toutes les sources
*.err /var/log/erreurs.log
# tout sauf l'authentification, de gravité info et plus grave
*.info;auth,authpriv.none /var/log/syslog

3.2 Envoyer et recevoir

Un client envoie une copie de ses messages au serveur central avec une seule ligne. Le serveur doit charger le module d'écoute (UDP, TCP ou les deux) et, de préférence, ranger chaque machine dans son propre fichier grâce à un modèle.

Debian 13 client · /etc/rsyslog.d/90-central.conf
# copie de tous les messages de gravité info et plus grave vers SRV-LOG, en TCP
*.info @@172.16.50.30:514
Debian 13 serveur SRV-LOG · /etc/rsyslog.d/10-reception.conf
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
# un fichier par machine émettrice
template(name="ParMachine" type="string" string="/var/log/distants/%HOSTNAME%.log")
if $fromhost-ip != "127.0.0.1" then { action(type="omfile" dynaFile="ParMachine") stop }
Debian 13 appliquer et tester
$ sudo rsyslogd -N1 # vérifie la syntaxe avant de redémarrer
$ sudo systemctl restart rsyslog
$ logger -p auth.warning "test depuis $(hostname)" # fabrique un message de test
$ sudo ss -lunpt | grep 514 # sur le serveur : le port écoute-t-il ?

Une arobase envoie en UDP (@), deux arobases en TCP (@@). UDP ne garantit rien : si le serveur est arrêté ou si le réseau sature, les messages sont perdus sans prévenir. Pour les journaux de sécurité, préfère TCP, et ouvre le port 514 dans le pare-feu du serveur.

4. journald et journalctl

journald est le service de journalisation de systemd. Il capte tout ce qu'écrivent le noyau et les services, l'enregistre dans un format binaire indexé et le rend consultable avec journalctl. Chaque entrée garde des champs précis : service (unité), numéro de processus, priorité, démarrage (boot)… On filtre donc très vite.

fichier texte : on littout, ligne à ligne unité : ssh priorité : err boot : -1 depuis : 10:00 3 lignes journald : on filtrepar critères

Pour bien comprendre : le rouleau et le fichier de bibliothèque

Un journal texte, c'est un rouleau sur lequel on écrit tout à la suite : pour retrouver un événement, on le relit de haut en bas (ou on cherche un mot avec grep).

journald, c'est le fichier d'une bibliothèque : chaque fiche est classée par auteur, date et sujet. On demande « les erreurs du service SSH depuis 10 h, au démarrage précédent » et l'on obtient directement les bonnes lignes.

Les deux se complètent : journald pour chercher vite sur la machine, rsyslog pour écrire des fichiers texte et envoyer les messages au serveur central.

CommandeCe qu'elle affiche
journalctl -u sshLes messages d'un service (unité systemd)
journalctl -p errLes messages de gravité err et plus grave
journalctl --since "2026-10-14 10:00" --until "10:30"Une plage horaire
journalctl -b -1Le démarrage précédent (utile après un plantage)
journalctl -fLe suivi en direct, comme tail -f
journalctl -kLes messages du noyau
journalctl --disk-usageLa place occupée par le journal

Si le dossier /var/log/journal n'existe pas, journald garde tout en mémoire et perd l'historique à chaque redémarrage. Pour le conserver : Storage=persistent dans /etc/systemd/journald.conf (ou créer le dossier), puis sudo systemctl restart systemd-journald. La taille se limite avec SystemMaxUse=500M.

Trouve la commande journalctl qui répond à chaque demande. Vérifie chaque ligne avec ✓, ou tout d'un coup avec Vérifier.

Messages du service apache2 ›
Erreurs et plus grave ›
Démarrage précédent ›
Suivre en direct ›

5. Les journaux de Windows

Windows enregistre ses événements dans des journaux consultables avec l'Observateur d'événements (eventvwr.msc). Chaque événement porte un niveau (Critique, Erreur, Avertissement, Information, ou Succès/Échec de l'audit pour la sécurité), une source et surtout un identifiant (ID) numérique, toujours le même pour un même type d'événement.

JournalContenu
ApplicationMessages des logiciels et des services applicatifs
SystèmePilotes, services Windows, démarrages et arrêts
SécuritéOuvertures de session, gestion des comptes, accès audités (réservé aux administrateurs)
Événements transférésÉvénements reçus d'autres machines par abonnement
Journaux des applications et des servicesJournaux propres à un rôle : DNS Server, Directory Service, DFS…

5.1 Les identifiants à connaître

IDJournalSignificationPourquoi le surveiller
4624SécuritéOuverture de session réussieSavoir qui s'est connecté, quand, comment
4625SécuritéÉchec d'ouverture de sessionBeaucoup d'échecs = attaque par force brute
4740SécuritéCompte verrouilléUtilisateur bloqué ou attaque
4720SécuritéCompte d'utilisateur crééCréation inattendue = compromission possible
4728 / 4732SécuritéMembre ajouté à un groupe global / localAjout dans un groupe d'administrateurs
1102SécuritéJournal de sécurité effacéUn attaquant efface ses traces
7036SystèmeService démarré ou arrêtéService qui tombe
41SystèmeRedémarrage inattendu (Kernel-Power)Coupure de courant, plantage
Windows PowerShell en administrateur · SRV-01
# les 20 derniers échecs de connexion
PS> Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20
# les erreurs (niveau 2) du journal Système depuis hier
PS> Get-WinEvent -FilterHashtable @{LogName='System'; Level=2; StartTime=(Get-Date).AddDays(-1)}
# taille maximale du journal de sécurité : 1 Go
PS> wevtutil sl Security /ms:1073741824

Pour regrouper les événements de plusieurs serveurs Windows, on utilise les abonnements (Windows Event Forwarding) : un serveur collecteur reçoit les événements choisis, dans son journal « Événements transférés ». Pour les envoyer vers un serveur syslog Linux, on installe un agent (NXLog, ou l'agent d'un SIEM comme Wazuh, fiche B3-13).

Par défaut, Windows n'audite pas tout. Les stratégies d'audit (GPO Configuration avancée de la stratégie d'audit) choisissent ce qui est enregistré : ouvertures de session, gestion des comptes, accès aux fichiers sensibles. Un journal de sécurité trop petit écrase les anciens événements en quelques heures : agrandis-le et envoie-le vers un collecteur, que l'attaquant ne pourra pas effacer.

6. Horodater, faire tourner, conserver

6.1 Tous à la même heure

Pour reconstituer un incident, on aligne les messages de plusieurs équipements sur une même ligne de temps. Si l'horloge de SW1 a dix minutes d'avance, la panne semble arriver après sa conséquence. Tous les équipements doivent donc se synchroniser sur la même source NTP, et les équipements Cisco doivent horodater leurs messages avec la date, l'heure et les millisecondes.

R1 SW1 SW2 SRV-01 10:42:07*Mar 1 00:12:4410:51:2010:39:02 NTP · UDP 123 10:42:07.31210:42:07.29810:42:07.30510:42:07.301 ✓ chronologie fiable
Une source de temps commune transforme une pile de messages en chronologie.
Cisco IOS SW1 · horodatage des messages
SW1(config)# ntp server 172.16.99.252 ! R1, source de temps du site
SW1(config)# clock timezone CET 1
SW1(config)# service timestamps log datetime msec localtime show-timezone
SW1(config)# do show ntp status ! « Clock is synchronized »

6.2 Faire tourner les journaux

Un journal grossit sans fin. La rotation renomme régulièrement le fichier en cours (syslog.1), compresse les anciens (syslog.2.gz) et supprime les plus vieux. Sous Debian, c'est le rôle de logrotate, lancé chaque jour par un timer systemd.

Debian 13 /etc/logrotate.d/distantsjournaux reçus par SRV-LOG
/var/log/distants/*.log {
    # une rotation par jour, 365 fichiers gardés (un an), anciens compressés en gzip
    # (logrotate n'accepte les commentaires que sur une ligne à part)
    daily
    rotate 365
    compress
    delaycompress
    missingok
    notifempty
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}
sw1.logen cours sw1.log.1hier sw1.log.2.gzcompressé … .364.gzil y a un an supprimé Chaque nuit, tous les fichiers décalent d'un cran : la place occupée reste stable. rotate 365 = un an d'historique, compress = environ 10 fois moins de place
La rotation garantit que les journaux ne remplissent jamais le disque, tout en gardant l'historique voulu.

6.3 Combien de temps conserver ?

La durée dépend de l'usage. La CNIL recommande de conserver les journaux de connexion et d'accès à un système de six mois à un an : assez pour enquêter sur un incident découvert tard, sans garder indéfiniment des données qui concernent des personnes (les journaux contiennent des identifiants et des adresses IP, ce sont des données personnelles). Les journaux de débogage, eux, se suppriment au bout de quelques jours.

Un attaquant qui prend la main sur un serveur essaie d'effacer ses traces. Les journaux envoyés au fil de l'eau vers un serveur central, auquel les administrateurs des autres serveurs n'ont pas accès, restent intacts. L'accès à SRV-LOG est donc limité, tracé lui aussi, et ses fichiers sont sauvegardés.

7. Centraliser les journaux

Centraliser, c'est envoyer les messages de tous les équipements vers un serveur unique : on cherche au même endroit, on corrèle les événements, les journaux survivent au redémarrage ou à la compromission de l'équipement, et l'on peut déclencher des alertes. Chez Brocéliande, ce serveur s'appelle SRV-LOG (172.16.50.30, VLAN 50).

SW1 R1 R2 Rennes SRV-LOG172.16.50.30 · rsyslog distants/sw1.logdistants/r1.log · r2.log %LINK-3-UPDOWN Gi0/2 downmémoire tampon locale UDP 514 via la liaison WAN 10.0.0.0/30 recherche · alertesGraylog, Loki, Wazuh
Le serveur central reçoit tout : même si SW1 redémarre et vide sa mémoire, la trace de la panne est conservée.
Cisco IOS SW1 · envoi vers SRV-LOGmême configuration sur tous les équipements
SW1(config)# logging host 172.16.50.30 ! le serveur syslog
SW1(config)# logging trap informational ! seuil d'envoi : niveaux 0 à 6
SW1(config)# logging source-interface vlan 99 ! adresse d'émission connue du serveur
SW1(config)# logging buffered 16384 warnings ! mémoire locale, en secours
SW1(config)# do show logging ! « Logging to 172.16.50.30 », compteur de messages
OutilRôleÀ retenir
rsyslogCollecteur syslog simpleFichiers texte par machine, très léger
GraylogCollecte, indexation, recherche, alertesInterface web, flux et tableaux de bord
Grafana LokiStockage et recherche de journauxCouplé à Grafana pour les tableaux de bord
Wazuh (SIEM)Analyse de sécurité, règles de détectionCorrèle les événements et alerte (fiche B3-13)

Une PME commence souvent par un simple serveur rsyslog, puis ajoute un outil de recherche quand le volume grandit. Le choix dépend du volume (messages par seconde), de la durée de conservation, des alertes souhaitées et des compétences de l'équipe. Les journaux de sécurité finissent en général dans un SIEM.

8. Dépanner la journalisation

8.1 Pannes fréquentes

SymptômeCause probableVérification et correction
Le serveur central ne reçoit rienModule d'écoute absent, port 514 fermé, mauvaise adressess -lunpt sur le serveur, show logging sur l'équipement, tcpdump -i any port 514
Les messages arrivent avec une heure fausseÉquipement non synchronisé ou fuseau absentshow ntp status, timedatectl
Aucun message « info » reçuSeuil d'envoi trop bas (logging trap warnings)Passer à informational
Le serveur sature, disque pleinSeuil debugging resté actif, pas de rotationRevenir à informational, configurer logrotate
Historique perdu après un redémarragejournald non persistant, tampon Cisco effacéStorage=persistent ; centraliser
Erreur au redémarrage de rsyslogFaute de syntaxe dans un fichier de rsyslog.drsyslogd -N1, puis journalctl -u rsyslog

8.2 Entraîne-toi : les tickets du support

Tu es de permanence au support de Brocéliande Logistique. Six tickets arrivent les uns après les autres : lis le message, observe le relevé, puis choisis la cause.

File d'attente du support6 tickets · un à la fois · l'explication s'affiche après ta réponse
Ticket n° 1De : responsable informatiquePriorité haute
« SRV-LOG ne reçoit plus rien de R1 ni de SW1 depuis la réinstallation du serveur hier. Le service rsyslog tourne pourtant. »
Debian 13 SRV-LOG · relevé
$ sudo ss -lunpt | grep 514
$ systemctl is-active rsyslog
active
$ ls /etc/rsyslog.d/
50-local.conf

Quelle est la cause la plus probable ?

Cause : ss ne montre aucun service à l'écoute sur 514 et le fichier 10-reception.conf n'existe plus : rsyslog tourne, mais seulement pour les messages locaux. Correction : recréer le fichier de réception (modules imudp et imtcp), rsyslogd -N1, redémarrer rsyslog, et vérifier le pare-feu.

Ticket n° 2De : technicien réseauPriorité moyenne
« Sur SRV-LOG, les messages de SW2 sont tous datés du 1er mars, alors que ceux de SW1 sont à la bonne date. Impossible de reconstituer la panne de ce matin. »
Cisco IOS SW2 · relevé
SW2# show ntp status
Clock is unsynchronized, stratum 16, no reference clock
SW2# show clock
*00:47:12.104 UTC Mon Mar 1 1993

Quelle est la cause ?

Cause : l'astérisque devant l'heure signale une horloge non fiable ; un 2960 n'a pas de pile et repart au 1er mars 1993 à chaque démarrage. Correction : ntp server 172.16.99.252, fuseau et service timestamps log datetime msec, puis vérifier « Clock is synchronized ».

Ticket n° 3Alerte de la supervisionPriorité haute
« Le disque de SRV-LOG est rempli à 97 %. Il a grossi de 40 Go depuis vendredi. »
Debian 13 SRV-LOG · relevé
$ sudo du -sh /var/log/distants/*
 38G   /var/log/distants/r1.log
 120M  /var/log/distants/sw1.log
$ sudo tail -2 /var/log/distants/r1.log
… R1 %SYS-7-… IP: s=172.16.20.100 d=8.8.8.8, len 84, sending
… R1 %SYS-7-… IP: s=172.16.20.100 d=8.8.8.8, len 84, sending

Quelle est la cause ?

Cause : la gravité 7 et les lignes « sending » à chaque paquet viennent d'un debug ip packet oublié vendredi, envoyé au serveur parce que logging trap debugging. Correction : undebug all et logging trap informational sur R1 ; compresser ou supprimer le fichier, et vérifier la rotation sur SRV-LOG.

Ticket n° 4De : technicien systèmePriorité basse
« SRV-WEB a planté cette nuit et redémarré. Je veux lire ce qui s'est passé juste avant, mais journalctl ne remonte qu'au démarrage de ce matin. »
Debian 13 SRV-WEB · relevé
$ journalctl --list-boots
IDX BOOT ID                          FIRST ENTRY
  0 4c1f…                            Tue 2026-10-14 06:12:40
$ ls /var/log/journal
ls: cannot access '/var/log/journal': No such file or directory

Pourquoi l'historique a-t-il disparu ?

Cause : sans dossier /var/log/journal, journald écrit dans /run/log/journal, en mémoire. Correction : Storage=persistent dans journald.conf, redémarrer systemd-journald, et envoyer les messages vers SRV-LOG pour ne plus dépendre d'une seule machine.

Ticket n° 5Alerte de sécuritéSécurité
« Le collecteur a reçu cet événement de SRV-01 à 02:14 cette nuit, juste après une série d'ouvertures de session avec le compte d'un stagiaire parti en juin. »
Windows Événements transférés · SRV-01
Journal : Sécurité   ID : 1102   Source : Eventlog
Le journal d'audit a été effacé.
Utilisateur : BROCELIANDE\stagiaire2

Comment interpréter cet événement ?

Cause : l'ID 1102 indique un effacement volontaire du journal de sécurité ; il arrive à 2 h du matin avec un compte orphelin. Heureusement, les événements avaient déjà été transférés au collecteur. Réaction : désactiver le compte, isoler le serveur si besoin, analyser les événements reçus avant l'effacement et suivre la procédure de gestion d'incident (fiche B3-16).

Ticket n° 6De : technicien réseauPriorité moyenne
« SRV-LOG reçoit bien les messages de R2 (Rennes), mais ils arrivent tantôt de 10.0.0.2, tantôt de 172.16.60.254 : ils sont rangés dans deux fichiers différents. »
Cisco IOS R2 · relevé
R2# show running-config | include logging
logging trap informational
logging host 172.16.50.30

Que manque-t-il ?

Cause : un routeur prend comme adresse source celle de l'interface par laquelle sort le paquet. Correction : logging source-interface g0/0 (ou une interface de bouclage) : R2 apparaît toujours avec la même adresse, et ses messages dans un seul fichier.

9. À l'examen et en entreprise

  • Montrer la chaîne complète : un équipement qui produit un message, le serveur qui le reçoit (fichier par machine), la rotation et la durée de conservation choisies.
  • Prouver par un test : provoquer un événement (interface éteinte, logger, échec de connexion) et le retrouver sur le serveur central avec la bonne heure.
  • Justifier les réglages : seuil informational pour le central, TCP pour la sécurité, conservation conforme aux recommandations de la CNIL, accès restreint au serveur.
  • Relier à la sécurité : le jury apprécie qu'on cite les ID Windows 4625 et 1102 et l'intérêt d'un SIEM.

10. L'essentiel

  1. Les journaux servent à dépanner, détecter une attaque, prouver et respecter la loi : à condition d'être produits, transportés, conservés et lus.
  2. Un message syslog contient une priorité (facilité × 8 + gravité), une heure, une machine, une source et un texte.
  3. Gravités de 0 (emerg) à 7 (debug) : un seuil garde son niveau et tous les plus graves.
  4. rsyslog : règle = facilité.gravité + action ; @ envoie en UDP, @@ en TCP, port 514.
  5. Le serveur central charge imudp / imtcp et range chaque machine dans son fichier ; rsyslogd -N1 vérifie la syntaxe.
  6. journalctl -u, -p, --since, -b -1, -f ; Storage=persistent pour garder l'historique.
  7. Windows : Application, Système, Sécurité ; ID 4624, 4625, 4740, 4720, 1102 ; abonnements pour centraliser.
  8. NTP partout et service timestamps log datetime msec : sans heure commune, pas de chronologie.
  9. logrotate fait tourner et compresse ; conservation des journaux d'accès : 6 mois à 1 an (CNIL).
  10. Cisco : logging host, logging trap informational, logging source-interface ; centraliser protège aussi contre l'effacement des traces.
JOURNAUXsyslog · 514 Pourquoidépanner · détecterprouver · conformité MessagePRI = facilité × 8 + gravité0 emerg … 7 debug Linuxrsyslog : @ UDP · @@ TCPjournalctl -u -p -b -f Windows4624 · 4625 · 4740 · 1102abonnements (WEF) Temps et duréeNTP · timestamps mseclogrotate · 6 mois à 1 an Centraliserlogging host · trap infoSRV-LOG · SIEM
La fiche en une image : à refaire de mémoire, sur une feuille, avant de passer aux exercices.

Les commandes clés

Pour…Commandes
Envoyer vers le central (Debian)*.info @@172.16.50.30:514 · rsyslogd -N1 · systemctl restart rsyslog
Recevoir (Debian)module(load="imudp") · input(type="imudp" port="514") · idem imtcp
Chercher (Debian)journalctl -u ssh -p err --since today · journalctl -b -1 · logger -p auth.warning "test"
Chercher (Windows)Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625}
Envoyer (Cisco)logging host 172.16.50.30 · logging trap informational · logging source-interface vlan 99
Horodater (Cisco)ntp server 172.16.99.252 · service timestamps log datetime msec
Vérifier (Cisco)show logging · show ntp status · show clock

Tout cela tient sur une page : utilise le bouton Mémo à imprimer en haut de la fiche.

Tutoriels liés

Des guides PDF pas à pas pour mettre cette fiche en pratique sur tes machines.

Voir tous les tutoriels

La pratiqueLe quiz noté pour vérifier tes acquis, les exercices à rendre à ton professeur, le fil rouge Packet Tracer, puis un court TP au labo.

11. Quiz noté

8 questions · 10 minutesRéponds à toutes les questions, puis valide. Seule ta première tentative est enregistrée : elle compte dans ton suivi. Ensuite, tu peux t'entraîner autant que tu veux.

1. Un équipement est réglé avec logging trap warnings (niveau 4). Quels messages envoie-t-il au serveur ?

2. Quel est le port et le protocole par défaut de syslog ?

3. Dans une règle rsyslog, que signifie @@172.16.50.30:514 ?

4. Après le redémarrage d'un serveur Debian, journalctl n'affiche plus l'historique. Que faut-il configurer ?

5. Quel identifiant d'événement Windows signale un échec d'ouverture de session ?

6. Pourquoi synchroniser tous les équipements avec NTP avant de centraliser leurs journaux ?

7. Quel est le rôle de logrotate ?

8. Sur un routeur Cisco, à quoi sert logging source-interface vlan 99 ?

12. Exercices : à toi de répondre

Écris ta réponse sous chaque énoncé et envoie-la à ton professeur. Quand il l'a validée, le corrigé s'affiche à la place du cadenas ; s'il te la renvoie « à revoir », lis son commentaire et corrige.

Exercice 1 – Lire un message (SIO1)

Le serveur central reçoit la ligne brute <38>Oct 14 09:12:03 srv-web sshd[812]: Failed password for root from 185.220.101.4 port 52214. Donne la facilité, la gravité (numéro et nom), la machine et le programme. Ce message est-il conservé si le serveur ne garde que les niveaux 0 à 5 ? Que révèle-t-il ?

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 2 – Configurer rsyslog (SIO1)

Sur SRV-WEB (Debian 13), écris les règles qui : 1) placent tous les messages d'authentification dans /var/log/auth.log ; 2) envoient au serveur 172.16.50.30, en TCP, tous les messages de gravité warning et plus grave ; 3) permettent de vérifier la syntaxe et d'appliquer la configuration. Explique comment tester de bout en bout.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 3 – Dépanner (SIO1)

Un technicien a configuré logging host 172.16.50.30 sur SW2. Une heure plus tard, SRV-LOG n'a toujours reçu aucun message de SW2, alors qu'il reçoit ceux de SW1. Propose une démarche de vérification en cinq points, du commutateur jusqu'au serveur, avec les commandes.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 4 – Concevoir (SIO2)

Brocéliande Logistique veut conserver les journaux de ses 12 équipements réseau et 6 serveurs, être alertée en cas de tentatives de connexion répétées et respecter la recommandation de la CNIL. Rédige une proposition argumentée (architecture, protocole, seuils, conservation, sécurité du serveur, outil) en une dizaine de lignes.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

13. Fil rouge : la journalisation centralisée

Étape 16sur 17
Fil rouge Packet Tracer · Journalisation centraliséeTu construis le réseau de Brocéliande Logistique fiche après fiche : chaque étape repart de la précédente.
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17

Tu pars de ta maquette de l'étape 15 (B2-28) : FR-15-NOM-Prenom.pkt.

Tu enregistres FR-16-NOM-Prenom.pkt, point de départ de l'étape 17 (B2-33 · Recette finale et dossier).

Où tu en es, où tu vas

À l'entrée de l'étape (fin de l'étape 15), tous les équipements sont synchronisés par NTP sur R1 et supervisés en SNMP depuis PC-ADMIN. Tu ajoutes le serveur SRV-LOG et tu fais envoyer les journaux de tous les routeurs et commutateurs vers lui. Tu n'as pas ta maquette FR-15 ? Reprends les fiches des étapes précédentes depuis la page du fil rouge de ton professeur.

ÉquipementModèleÀ l'entréeÀ la sortie
SRV-LOGServer-PTAbsent172.16.50.30/24, passerelle .254, DNS 172.16.50.10, service SYSLOG actif, SW1 Fa0/19
SW12960-24TTNTP, SNMP, gestion 172.16.99.11 ; Fa0/19 en VLAN 998, éteintFa0/19 en access VLAN 50, actif ; journaux envoyés à SRV-LOG depuis le VLAN 99
SW22960-24TTNTP, SNMP, gestion 172.16.99.12Journaux envoyés à SRV-LOG
R1, R3Routeur 1941HSRP (.252 / .253, virtuelle .254), R1 maître NTPJournaux envoyés depuis leur sous-interface G0/0.99
R2, SW31941, 2960-24TTRennes, NTP et SNMP de l'étape 15Journaux envoyés à SRV-LOG à travers la liaison WAN
SRV-01Server-PTDNS broceliande.lanEnregistrement srv-log → 172.16.50.30

Au labo, tu disposes des mêmes modèles en vrai : routeurs Cisco 1941, commutateurs Cisco 2960 et, pour le routage de niveau 3, commutateurs Cisco 3750. Dans Packet Tracer, choisis le 1941 et le 2960-24TT ; le 3750 n'y existe pas, on le remplace par le 3560-24PS, qui se configure de la même façon. Le serveur syslog de Packet Tracer (onglet Services → SYSLOG) affiche les messages reçus ; au labo, ce serait une VM Debian avec rsyslog (partie 14).

SIÈGE RENNES R1 R3 SW1 SW2 R2 SW3 SRV-LOG 172.16.50.30 · SW1 Fa0/19 syslog syslog UDP 514 · seuil informational R2 et SW3 : à travers la liaison WAN
Six équipements, un seul endroit pour lire leurs journaux, tous à la même heure.

Ce que tu ajoutes à cette étape

  • SRV-LOG, serveur syslog du site, dans le VLAN des serveurs.
  • L'envoi des journaux de R1, R2, R3, SW1, SW2 et SW3, avec une adresse source fixe.
  • Un horodatage précis (date, heure, millisecondes) sur tous les équipements.
  • Le nom srv-log.broceliande.lan dans le DNS.

1 Repartir de l'étape précédente

Ouvre FR-15-NOM-Prenom.pkt et enregistre-la tout de suite sous FR-16-NOM-Prenom.pkt (File → Save As).

2 Installer SRV-LOG

  1. Place un Server-PT, nomme-le SRV-LOG et relie-le à SW1 Fa0/19 (cuivre droit).
  2. Sur SW1, prépare le port : interface fa0/19, switchport access vlan 50, description SRV-LOG, no shutdown.
  3. Onglet Desktop → IP Configuration : 172.16.50.30 / 255.255.255.0, passerelle 172.16.50.254, DNS 172.16.50.10.
  4. Onglet Services → SYSLOG : vérifie que le service est sur On.
  5. Sur SRV-01, onglet Services → DNS : ajoute l'enregistrement A srv-log.broceliande.lan → 172.16.50.30.

3 Faire envoyer les journaux par R1

Cisco IOS R1 · journalisation centraliséeidem sur R3
R1(config)# service timestamps log datetime msec ! date, heure et millisecondes
R1(config)# logging host 172.16.50.30
R1(config)# logging trap informational
R1(config)# logging source-interface g0/0.99 ! toujours la même adresse source
R1(config)# end
R1# show logging ! « Logging to 172.16.50.30 »
R1# copy running-config startup-config

4 À toi : les commutateurs et Rennes

Configure de la même façon SW1 et SW2 (source vlan 99), puis R2 (source g0/0) et SW3 (source : son interface de gestion). Pour t'échauffer, complète d'abord la configuration de SW2. Si ta version de Packet Tracer refuse une commande (par exemple logging source-interface), note-la dans ton dossier et applique-la sur le matériel du labo.

Sur SW2 : horodatage précis, envoi vers SRV-LOG, seuil informational, adresse source de gestion. Vérifie chaque ligne avec ✓, ou tout d'un coup avec Vérifier.

SW2(config)#
SW2(config)#
SW2(config)#
SW2(config)#

5 Provoquer des événements et les retrouver

  1. Sur SW2, éteins puis rallume un port libre (interface fa0/15, shutdown, no shutdown) : les messages %LINK et %LINEPROTO doivent apparaître dans l'onglet Services → SYSLOG de SRV-LOG.
  2. Sur R2, entre puis sors du mode configuration : le message %SYS-5-CONFIG_I traverse la liaison WAN et arrive sur SRV-LOG.
  3. Compare les heures des messages : elles doivent se suivre dans l'ordre réel des actions.

6 Valider l'étape : le cahier de recette

N°TestCommandeRésultat attenduOK
1SRV-LOG est joignableping srv-log.broceliande.lan depuis PC-ADMINRéponses de 172.16.50.30
2R1 envoie ses journauxshow logging sur R1« Logging to 172.16.50.30 », trap informational
3Un événement de SW2 arriveshutdown / no shutdown de Fa0/15 sur SW2Messages %LINK visibles sur SRV-LOG
4Rennes envoie à travers le WANSortie du mode configuration sur R2%SYS-5-CONFIG_I de R2 sur SRV-LOG
5Les horloges sont alignéesshow clock sur R1, SW2 et R2Même heure, sans astérisque
6Les messages sont horodatés finementLecture d'un message sur SRV-LOGDate, heure et millisecondes

14. Au labo : un vrai serveur syslog sous Debian

Objectif

Sur ton pool Proxmox (page Mes serveurs et VM), transforme une VM Debian 13 en serveur central rsyslog, fais-lui envoyer les journaux d'une seconde VM, puis vérifie la rotation et la persistance. Compte une heure.

MachineSystèmeRôle dans le TP
SRV-LOGDebian 13 (clone de ta VM Debian)Serveur central : reçoit en UDP et TCP 514, un fichier par machine
SRV-LINUXDebian 13 (VM de la fiche B2-14)Client : envoie ses messages de gravité info et plus grave en TCP
Windows Server 2025VM du pool (facultatif)Lecture des ID 4624 et 4625 dans l'Observateur d'événements

Ce que tu ajoutes à cette étape

  • Un collecteur rsyslog qui range chaque machine dans son fichier.
  • Un client qui envoie ses journaux en TCP.
  • Une rotation quotidienne avec un an de conservation.
  • Un journal persistant qui survit au redémarrage.

1 Préparer les deux VM

Debian 13 sur les deux VM
$ sudo apt update && sudo apt install -y rsyslog
$ timedatectl # « System clock synchronized: yes » (sinon : sudo apt install -y systemd-timesyncd)
$ hostnamectl # chaque VM doit avoir un nom distinct : srv-log et srv-linux

2 Configurer la réception sur SRV-LOG

Crée /etc/rsyslog.d/10-reception.conf avec le contenu de la partie 3.2, crée le dossier /var/log/distants, vérifie la syntaxe puis redémarre rsyslog.

Debian 13 SRV-LOG
$ sudo mkdir -p /var/log/distants
$ sudo nano /etc/rsyslog.d/10-reception.conf
$ sudo rsyslogd -N1 # « End of config validation run. Bye. »
$ sudo systemctl restart rsyslog
$ sudo ss -lunpt | grep 514 # udp et tcp à l'écoute

3 Configurer l'envoi sur SRV-LINUX

Sur SRV-LINUX, complète : la ligne de /etc/rsyslog.d/90-central.conf qui envoie les messages info et plus graves vers l'adresse de ton SRV-LOG (ici 172.16.50.30) en TCP, la vérification de syntaxe, puis le message de test.

90-central.conf ›
$
$
$

4 Vérifier, faire tourner, rendre persistant

  1. Sur SRV-LOG : sudo tail -f /var/log/distants/srv-linux.log affiche le message de test. Provoque un échec de connexion SSH sur SRV-LINUX et retrouve-le.
  2. Crée /etc/logrotate.d/distants (partie 6.2), puis teste sans attendre la nuit : sudo logrotate -f /etc/logrotate.d/distants et liste le dossier.
  3. Sur SRV-LINUX : Storage=persistent dans /etc/systemd/journald.conf, redémarre systemd-journald, puis redémarre la VM et vérifie journalctl --list-boots.
  4. Facultatif, sur Windows Server : trois échecs de connexion volontaires, puis filtre le journal Sécurité sur l'ID 4625.

5 Le cahier de recette du TP

N°TestCommandeRésultat attenduOK
1Le serveur écoutess -lunpt | grep 514 sur SRV-LOGrsyslogd en UDP et TCP 514
2Un message de test arrivelogger sur SRV-LINUXLigne dans distants/srv-linux.log
3Un échec SSH est tracéMauvais mot de passe, puis grep Failed sur SRV-LOGLigne Failed password avec l'adresse source
4La rotation fonctionnelogrotate -f puis ls /var/log/distantsFichier .1 créé, fichier courant vide
5Le journal survit au redémarragejournalctl --list-boots sur SRV-LINUXAu moins deux démarrages listés
Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.
Se connecter