Exercice : Écriture et test de règles Snort

📥 Kali Virtual Machine (Direct link)

Objectif

Découvrir la syntaxe des règles Snort et les tester en simulant des attaques simples depuis Kali Linux.


⚠️ Démarrer snort avec un affichage sur la console par la commande :


snort -i 1 -c C:\Snort\etc\snort_etml.conf -A console

Partie 1 – Détection simple du ping

Écrivez une règle Snort qui alerte dès qu’un ICMP Echo Request (ping) est envoyé vers votre serveur.

Indice : le mot-clé à utiliser est icmp et le type de message 8.

Zone de réponse


Partie 2 – Détection simple des SYN

Écrivez une règle Snort qui alerte dès qu’un paquet TCP SYN arrive sur n’importe quel port de votre serveur.
Cela permet de détecter un scan ou une tentative de connexion.

Indice : utilisez l’option flags:S;.

Zone de réponse


Partie 3 – Ajout de seuils (thresholding)

Améliorez vos règles pour éviter les faux positifs en ajoutant des conditions de fréquence.

  1. Détecter les 5 pings en 30 secondes provenant de la même adresse source.
    Indice : utilisez l’option detection_filter.

Zone de réponse

  1. Détecter plus de 100 paquets SYN envoyés depuis la même source en moins de 10 secondes.
    Indice : même option que ci-dessus, mais adaptée au protocole TCP.

Zone de réponse


Partie 4 – Test avec Kali

Depuis la machine Kali, testez vos règles :

  1. Ping simple vers le serveur → Snort doit alerter immédiatement.

    ping -c 1 <IP_SERVEUR>
    
  2. Ping flood pour déclencher la règle avec seuil.

    ping -f -c 10 <IP_SERVEUR>
    
  3. Scan SYN avec Nmap pour déclencher la règle TCP.

    nmap -sS <IP_SERVEUR>
    

Question 1 : Quelle différence observez-vous entre une règle sans seuil et une règle avec seuil ?

Zone de réponse

Question 2: Pourquoi est-il important d’ajouter des seuils dans un IDS utilisé en production ?

Zone de réponse

Question 3 : Comment pourriez-vous affiner la règle SYN pour réduire les faux positifs dans un environnement réel ?

Zone de réponse