Accueil » Formations » Administration sécurité » Introduction à Suricata » TP07 – Réduction du bruit : seuils et suppressions
← Introduction à Suricata

// travaux pratiques · Administration sécurité

TP07 - Réduction du bruit : seuils et suppressions

  • TP 7 / 8
  • 5 étapes
  • ≈ 30 min
  • Accès libre

Objectif : réduire le bruit produit par une règle trop bavarde, d’abord en ajoutant un seuil dans la règle, puis en déclarant une suppression ciblée dans threshold.config, sans désactiver la détection.

Prérequis :

  • TP04 terminé : règles 1000002 et 1000004 actives.
  • Adresse IP de la sonde connue (10.0.2.10).

Actions à réaliser :

  1. Mesurer le bruit. Envoyez vingt requêtes HTTP avec curl, puis comptez les alertes 1000004 :

    for i in $(seq 1 20); do curl -s -o /dev/null http://testmynids.org/uid/index.html; done
    sudo jq -c 'select(.event_type=="alert" and .alert.signature_id==1000004)' /var/log/suricata/eve.json | wc -l

    Notez le résultat : il a augmenté d’environ vingt.

  2. Ajouter un seuil dans la règle. Dans /etc/suricata/rules/local.rules, remplacez la règle 1000004 par la version suivante (une alerte au maximum par source et par minute, révision 2) :

    alert http any any -> any any (msg:"LAB User-Agent curl"; flow:established,to_server; http.user_agent; content:"curl"; nocase; threshold: type limit, track by_src, count 1, seconds 60; sid:1000004; rev:2;)
    sudo suricata -T -c /etc/suricata/suricata.yaml
    sudo suricatasc -c reload-rules
  3. Mesurer de nouveau. Relancez la boucle de vingt requêtes et le comptage : une seule alerte supplémentaire doit apparaître dans la minute.

  4. Activer le fichier de seuils. Dans suricata.yaml, la clé threshold-file est commentée par défaut. Décommentez-la :

    threshold-file: /etc/suricata/threshold.config

    Puis ajoutez une suppression de la règle DNS 1000002 pour la seule sonde :

    echo "suppress gen_id 1, sig_id 1000002, track by_src, ip 10.0.2.10" | sudo tee -a /etc/suricata/threshold.config
  5. Appliquer et vérifier.

    sudo suricata -T -c /etc/suricata/suricata.yaml
    sudo systemctl restart suricata
    sudo resolvectl flush-caches
    getent hosts example.com
    sudo tail -n 5 /var/log/suricata/fast.log

Vérification / résultat attendu :

  • Avant le seuil : une alerte 1000004 par requête. Après : une alerte par minute et par source.
  • Après la suppression, la résolution de example.com depuis la sonde ne génère plus d’alerte 1000002, alors que la règle reste active pour toutes les autres adresses source.

Pour aller plus loin : documentez chaque exception dans un commentaire au-dessus de la ligne de threshold.config (raison, date, auteur) et testez la directive rate_filter, qui modifie l’action d’une règle au-delà d’un certain volume.

// formation sur mesure

Former votre équipe sur ce sujet ?

Azur Secure anime des sessions intra-entreprise, à distance ou dans vos locaux sur la Côte d'Azur, adaptées au niveau de vos équipes.

Demander un programme
Défiler vers le haut