Skip to Content
SécuritéPartie 15 — Détection & réponse à incident15.2 — Détection, monitoring & alerting

Chapitre 15.2 — Détection, monitoring & alerting

⏱️ TL;DR — Des logs (chapitre 15.1) ne servent que si on les exploite. La détection transforme les logs en signaux : pics d’échecs de login (bruteforce/stuffing), rafales de 403 en changeant des ids (IDOR tenté), dépassements de rate limit, salves de payloads d’injection, connexions depuis des lieux/horaires anormaux, exfiltration (volume de données sortant inhabituel). Le monitoring surveille en continu (logs centralisés, métriques, uptime, erreurs), et l’alerting te prévient à temps — l’enjeu étant d’alerter sur ce qui compte sans noyer sous le bruit (fatigue d’alerte). L’objectif : réduire le temps de détection, qui décide de la gravité d’un incident.

🎯 Objectifs

  • Transformer les logs en signaux de détection (motifs d’attaque, anomalies).
  • Mettre en place un monitoring continu (logs centralisés, métriques, erreurs).
  • Configurer l’alerting utile et éviter la fatigue d’alerte.
  • Comprendre pourquoi le temps de détection est un facteur clé de gravité.

Des logs aux signaux

Journaliser ne détecte rien en soi : il faut analyser les logs pour en tirer des signaux d’attaque. Quelques signaux classiques, directement issus des événements du chapitre 15.1 :

SignalCe qu’il révèle
Pic d’échecs de login depuis une IP / vers un compteBruteforce (Partie 4).
Échecs de login répartis sur beaucoup de comptes depuis de nombreuses IPCredential stuffing (Partie 4).
Rafale de 403 en changeant des idsTentative d’IDOR / énumération (Partie 5).
Salve de payloads (' OR, <script>, ../) sur un endpointSondage d’injection/XSS/traversée (Parties 6-9).
Dépassements de rate limit (429) en masseAbus/scraping/DoS (Partie 14).
Connexion anormale (nouveau pays, horaire inhabituel, nouvel appareil)Compte compromis.
Volume de données sortant inhabituelExfiltration en cours.
Violations CSP en salve (Partie 7)Tentative de XSS.
Nouvelle dépendance / changement inattenduSupply chain (Partie 12).

La détection consiste à rechercher ces motifs dans les logs — par des règles (seuils : « N échecs en M minutes »), de la corrélation (relier des événements à travers services via le requestId), et parfois des approches par anomalie (écart au comportement normal). On n’a pas besoin d’un SIEM sophistiqué pour commencer : des requêtes/règles sur des logs centralisés couvrent déjà beaucoup.

Monitoring : surveiller en continu

Le monitoring (cours Serveur Linux) rassemble et surveille en continu :

  • Logs centralisés : agréger les logs de tous les services en un endroit requêtable (c’est ce qui permet la détection). Des solutions vont du simple (logs centralisés + requêtes) au SIEM (corrélation avancée).
  • Métriques : CPU, mémoire, trafic, taux d’erreurs, latence — des anomalies (pic de 500, de trafic, de CPU) peuvent signaler une attaque (DoS, exploitation).
  • Disponibilité (uptime) et santé des services.
  • Supervision applicative des erreurs (ex. Sentry) : les erreurs peuvent trahir des tentatives d’exploitation.

Le but : ne pas être aveugle. Une intrusion qui provoque des erreurs, un pic de trafic, un volume sortant anormal doit se voir sur un tableau de bord.

Alerting : être prévenu à temps (sans se noyer)

Détecter ne sert à rien si personne ne réagit à temps. L’alerting notifie les bonnes personnes quand un signal significatif apparaît. Le défi est le dosage :

  • Alerter sur ce qui compte : les signaux à fort indice d’attaque (pic d’échecs de login, exfiltration probable, violations en masse), routés vers le bon canal (astreinte pour le critique).
  • Éviter la fatigue d’alerte : trop d’alertes (ou trop de faux positifs) → on les ignore, et la vraie alerte passe inaperçue. Mieux vaut peu d’alertes pertinentes que beaucoup de bruit. On règle les seuils, on regroupe, on priorise.
  • Rendre l’alerte actionnable : une alerte doit dire quoi regarder et quoi faire (pas juste « anomalie »).

⚠️ Piège — La fatigue d’alerte est aussi dangereuse que l’absence d’alerte. Une équipe noyée sous des centaines de notifications (dont 99 % de bruit) finit par toutes les ignorer — et le jour où l’alerte critique tombe, elle se perd dans le flux. Un système qui « alerte sur tout » n’alerte, en pratique, sur rien. Vise la pertinence : moins d’alertes, mieux ciblées, actionnables, avec des seuils réglés et priorisés. Une alerte doit être un signal, pas un bruit de fond.

Le temps de détection décide de la gravité

Le message central : ce qui distingue un incident maîtrisé d’une catastrophe, c’est souvent le temps de détection (et de réponse). Une intrusion repérée en minutes (grâce à une bonne détection/alerting) est contenue avant de faire des dégâts ; la même intrusion découverte des mois plus tard (par un tiers, parce qu’on ne surveillait rien) a eu tout le temps d’exfiltrer, de pivoter, de persister. Investir dans la détection, c’est réduire la fenêtre pendant laquelle un attaquant agit sans être vu.

💡 Réflexe — Pour chaque défense mise en place dans le cours, demande-toi : « et si elle échoue, le verrai-je ? ». Une protection anti-bruteforce plus une alerte sur les pics d’échecs ; une CSP plus un suivi des violations ; un rate limiting plus une alerte sur les dépassements massifs. La détection est le filet du filet : elle rattrape ce qui a franchi les défenses préventives, à condition d’être branchée sur des signaux pertinents et de réveiller quelqu’un à temps.

🎯 Côté attaquant — L’attaquant mise sur la lenteur de détection : il agit bas et lent (bruteforce sous les seuils, exfiltration progressive), efface ses traces (chapitre 15.1), et compte sur l’absence de monitoring ou la fatigue d’alerte de la victime (ses actions se noient dans le bruit). Plus ton temps de détection est long, plus il exfiltre, pivote et persiste (backdoors) tranquillement. Une détection réactive et un alerting pertinent cassent son avantage : dès que son activité génère un signal (pic d’échecs, 403 en série, volume sortant), quelqu’un est prévenu et l’horloge tourne contre lui.

🧭 Sur FormaCampus — FormaCampus centralise ses logs (chapitre 15.1) dans un système requêtable et y applique des règles de détection : pics d’échecs de login (par IP et par compte → bruteforce/stuffing), rafales de 403 en changeant des ids (IDOR tenté), salves de payloads d’injection, dépassements de rate limit en masse, connexions depuis des lieux inhabituels, et volume sortant anormal (exfiltration). Le monitoring (métriques, erreurs via Sentry, uptime) complète. L’alerting est dosé : seules les alertes à fort indice partent vers l’astreinte (le reste alimente des tableaux de bord), avec des seuils réglés pour éviter la fatigue. L’objectif affiché : un temps de détection court, pour contenir un incident avant qu’il ne devienne une violation de données majeure (chapitre 15.3).

✏️ Exercices

Exercice 1 — Conçois une détection. À partir des logs, comment détecter (a) un bruteforce ciblé sur un compte, et (b) une tentative d’IDOR ? Décris le signal et le seuil.

✅ Solution

(a) Bruteforce ciblé : signal = un grand nombre d’échecs de login (login_failed) sur le même compte (ou depuis la même IP) sur une courte fenêtre. Règle : « ≥ N login_failed pour le même userId/email en M minutes » (ex. ≥ 20 en 5 min) → alerte + éventuellement blocage/captcha (Partie 4). (Pour le stuffing distribué, le signal est différent : beaucoup de comptes touchés depuis de nombreuses IP en peu de temps → règle globale, pas par compte.) (b) IDOR tenté : signal = une série de 403 (accès refusés) provenant du même acteur (userId/IP) sur des ressources qui ne lui appartiennent pas, souvent avec des ids incrémentaux/variés. Règle : « ≥ N réponses 403 (ou accès à des objets d’autrui) pour le même acteur en M minutes ». Ces deux détections reposent sur les événements journalisés au chapitre 15.1 (échecs de login, 403) — d’où l’importance de les logger.

Exercice 2 — Faux positifs. Une équipe reçoit 500 alertes/jour, presque toutes bénignes, et a fini par les ignorer. Un vrai incident est passé inaperçu. Que faire ?

✅ Solution

C’est un cas classique de fatigue d’alerte : trop de bruit → alertes ignorées → la vraie alerte se perd. Actions : (1) réviser les seuils et les règles pour ne garder que les signaux à fort indice d’attaque (supprimer/atténuer ce qui génère du bruit bénin) ; (2) prioriser — router seulement le critique vers l’astreinte (réveiller quelqu’un), le reste vers des tableaux de bord/résumés consultés en revue ; (3) regrouper les alertes corrélées (une salve = une alerte, pas 200) ; (4) rendre chaque alerte actionnable (quoi regarder, quoi faire) ; (5) mesurer et réduire le taux de faux positifs en continu. Objectif : moins d’alertes, plus pertinentes — une alerte doit être un signal qu’on traite, pas un bruit qu’on ignore. La qualité prime sur la quantité.

🧠 Quiz de révision

1. Qu’est-ce que la détection, par rapport à la simple journalisation ?

La détection exploite les logs pour en tirer des signaux d’attaque (pics d’échecs, rafales de 403, salves de payloads, volume sortant anormal…), via des règles (seuils), de la corrélation et des approches par anomalie. Journaliser sans analyser ne détecte rien.

2. Cite trois signaux de détection et l’attaque associée.

Par ex. : pic d’échecs de login (bruteforce/stuffing, Partie 4) ; rafale de 403 en changeant des ids (IDOR tenté, Partie 5) ; salve de payloads ' OR/<script>/../ (injection/XSS/traversée) ; volume sortant inhabituel (exfiltration) ; violations CSP en masse (XSS, Partie 7).

3. Que rassemble le monitoring ?

Les logs centralisés (requêtables → base de la détection), les métriques (CPU, trafic, taux d’erreurs, latence), la disponibilité (uptime) et la supervision applicative des erreurs (Sentry). Objectif : ne pas être aveugle — qu’une intrusion se voie.

4. Qu’est-ce que la fatigue d’alerte et comment l’éviter ?

C’est l’effet d’un excès d’alertes (surtout de faux positifs) : l’équipe finit par toutes les ignorer, et la vraie alerte passe. On l’évite en dosant : alerter seulement sur ce qui compte, régler les seuils, regrouper, prioriser (critique → astreinte), et rendre les alertes actionnables. Pertinence > quantité.

5. Pourquoi le temps de détection est-il un facteur clé de gravité ?

Parce qu’une intrusion détectée en minutes est contenue avant de faire des dégâts, tandis que la même découverte des mois plus tard a eu le temps d’exfiltrer, pivoter et persister. Réduire le temps de détection (via monitoring + alerting pertinent) raccourcit la fenêtre d’action de l’attaquant.


Chapitre suivant : Réponse à incident & notification — quand la détection sonne : contenir, éradiquer, rétablir, apprendre, et notifier une violation de données (RGPD).

Last updated on