Surveillance des paquets réseau avec Suricata
1. Introduction
1.1 Contexte du projet
Avec l'essor des cyberattaques, la surveillance du trafic réseau est devenue
essentielle pour prévenir et détecter les menaces. Dans ce projet, nous utilisons
Suricata, un IDS/IPS open-source, pour surveiller les paquets ICMP entre un
client Windows et un serveur Ubuntu.
1.2 Objectifs
Installer et configurer Suricata sur un serveur Ubuntu.
Comprendre le format des règles Suricata et en créer.
Analyser les paquets ICMP et générer des alertes.
Interpréter les logs produits par Suricata.
2. Environnement de travail
Serveur : Ubuntu 20.04 (VM)
Client : Windows 10 (VM)
Mode réseau : Bridged (Réseau en pont) pour attribuer des IP uniques
aux machines
Logiciels :
o Suricata (sur Ubuntu)
o Wireshark (facultatif, pour observer le trafic)
o Un terminal Windows (CMD ou PowerShell) pour envoyer des
pings
3. Installation et configuration de Suricata
3.1 Installation de Suricata sur Ubuntu
sudo apt update && sudo apt install suricata -y
3.2 Vérification de l'installation
suricata --build-info
3.3 Configuration de Suricata
Modifier le fichier de configuration :
sudo nano /etc/suricata/suricata.yaml
Vérifier et adapter :
default-rule-path: /etc/suricata/rules
rule-files:
- suricata.rules
4. Création et test des règles Suricata
4.1 Format des règles Suricata
Exemple de règle pour détecter les paquets ICMP :
alert icmp any any -> any any (msg:"ICMP packet detected"; sid:1000001; rev:1;)
4.2 Ajout de la règle
echo 'alert icmp any any -> any any (msg:"ICMP packet detected"; sid:1000001; rev:1;)' | sudo tee -
a /etc/suricata/rules/suricata.rules
4.3 Redémarrage de Suricata
sudo systemctl restart suricata
5. Tests et analyse des logs
5.1 Envoi de trafic ICMP depuis le client Windows
Sur le terminal Windows :
ping 10.0.2.15 -n 4
(Supposant que 10.0.2.15 est l'IP du serveur Ubuntu)
5.2 Vérification des alertes
Sur Ubuntu, consulter le fichier fast.log :
sudo tail -f /var/log/suricata/fast.log
Exemple de sortie :
02/22/2025-14:00:01.123456 [**] [1:1000001:1] ICMP packet detected [**] [Priority: 3] {ICMP}
10.0.2.5 -> 10.0.2.15
5.3 Analyse des logs JSON
sudo tail -f /var/log/suricata/eve.json
Exemple d'alerte :
{
"timestamp": "2025-02-22T14:00:01.123456Z",
"flow_id": 123456789,
"event_type": "alert",
"src_ip": "10.0.2.5",
"dest_ip": "10.0.2.15",
"proto": "ICMP",
"alert": {
"action": "allowed",
"gid": 1,
"signature_id": 1000001,
"rev": 1,
"signature": "ICMP packet detected",
"category": "Misc activity",
"severity": 3
}
}
6. Conclusion
Ce projet a permis d’installer et configurer Suricata pour la surveillance des
paquets ICMP. Nous avons vu comment créer des règles et interpréter les logs.
L’outil permet de détecter diverses activités suspectes en adaptant les règles
selon les besoins.
Perspectives : Intégrer Suricata à une interface graphique (comme Kibana) pour
une meilleure visualisation des alertes.