🎯 TUTORIEL PAS À PAS
🛡️ Installation et configuration de Suricata
📅 Mis à jour : Août 2026
⏱️ Durée : 45 min
📋 Niveau : Intermédiaire / Avancé
🐧 Debian 13
🐳 Docker
🛡️ Suricata
Suricata est un moteur d’analyse réseau open-source, haute performance, capable
d’effectuer de l’IDS (Intrusion Detection System), de l’IPS
(Intrusion Prevention System) et de l’analyse de sécurité réseau (NSM). Il utilise des
règles (similaires à Snort) pour détecter les menaces, et peut analyser
le trafic en temps réel ou sur des fichiers PCAP.
📌 Ce tutoriel couvre :
- L’installation sur Debian 13 (bare-metal).
- L’installation via Docker (conteneur léger).
- La configuration avancée (règles, fichiers de logs, modes IDS/IPS).
- Le test et la validation de l’installation.
1 Présentation de Suricata
Qu’est-ce que Suricata ?
- Moteur IDS/IPS : détection et prévention des intrusions.
- Multi-threadé : conçu pour les réseaux à haut débit.
- Compatibilité : utilise les règles Snort (VRT) et Emerging Threats.
- Analyse avancée : protocoles (HTTP, TLS, SSH, etc.), file extraction, TLS fingerprinting.
- Mode IPS : peut bloquer activement le trafic malveillant (avec Netfilter ou NFQUEUE).
2 Installation sur Debian 13
2.1 – Mise à jour du système
$ sudo apt update && sudo apt upgrade -y
2.2 – Installation du paquet Suricata
Sur Debian 13, Suricata est disponible dans les dépôts officiels.
$ sudo apt install suricata -y
✅ Suricata est installé. Vérifiez la version : suricata --version.
2.3 – Installation des règles (Emerging Threats)
Téléchargez les règles open-source d’Emerging Threats pour une protection de base.
$ sudo suricata-update
✅ Les règles sont téléchargées et installées dans /var/lib/suricata/rules/.
💡 Astuce : Pour des règles plus complètes, vous pouvez utiliser suricata-update --enable-source oisf/trafficid.
2.4 – Configuration de l’interface réseau
Identifiez l’interface réseau à surveiller (ex: eth0, ens192).
$ ip a
Modifiez le fichier de configuration /etc/suricata/suricata.yaml pour définir l’interface.
$ sudo nano /etc/suricata/suricata.yaml
# Recherchez la section "af-packet" ou "pcap" et définissez l’interface
af-packet:
- interface: eth0
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
use-mmap: yes
tpacket-v3: yes
🔍 Explication : Le mode af-packet est plus performant que pcap sur Linux.
Il permet une capture à haute vitesse avec peu de latence.
2.5 – Test de la configuration
Vérifiez que la configuration est correcte.
$ sudo suricata -T -c /etc/suricata/suricata.yaml
✅ Si tout est correct, vous verrez Configuration provided passed validation.
2.6 – Démarrage du service
$ sudo systemctl enable suricata
$ sudo systemctl start suricata
$ sudo systemctl status suricata
✅ Suricata est actif. Les logs sont dans /var/log/suricata/.
2.7 – Visualisation des alertes
Consultez le fichier d’alertes en temps réel pour voir les détections.
$ sudo tail -f /var/log/suricata/fast.log
3 Installation via Docker
L’approche conteneurisée est idéale pour une isolation rapide, des tests ou un déploiement
sans dépendances système.
3.1 – Prérequis
Assurez-vous que Docker et Docker Compose sont installés.
3.2 – Créer le répertoire du projet
$ mkdir -p ~/suricata-docker && cd ~/suricata-docker
3.3 – Créer le fichier docker-compose.yml
$ nano docker-compose.yml
---
services:
suricata:
image: jasonish/suricata:latest
container_name: suricata
restart: always
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
- SYS_NICE
volumes:
- ./rules:/var/lib/suricata/rules
- ./logs:/var/log/suricata
- ./suricata.yaml:/etc/suricata/suricata.yaml:ro
command: -i eth0
🔍 Explication :
network_mode: host : permet de capturer le trafic réseau de l’hôte.
cap_add : ajoute les capacités nécessaires à la capture réseau.
volumes : persiste les règles, les logs et la configuration.
command: -i eth0 : interface à surveiller.
3.4 – Créer un fichier de configuration personnalisé
Si vous souhaitez personnaliser la configuration, créez un fichier suricata.yaml.
$ nano suricata.yaml
Vous pouvez utiliser la configuration par défaut ou l’adapter à vos besoins.
3.5 – Téléchargement des règles et démarrage
$ mkdir -p rules logs
$ docker compose run --rm suricata suricata-update
$ docker compose up -d
✅ Le conteneur Suricata est démarré et analyse le trafic.
3.6 – Consultation des logs
$ docker compose logs -f
Les alertes sont disponibles dans le volume ./logs/fast.log.
4 Configuration avancée
4.1 – Mode IPS (Prévention)
Pour activer le mode IPS, Suricata doit être configuré pour bloquer le trafic malveillant.
Cela nécessite généralement l’utilisation de NFQUEUE.
# Dans suricata.yaml, activer le mode IPS
af-packet:
- interface: eth0
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
use-mmap: yes
tpacket-v3: yes
mode: IPS
# Pour le mode IPS, ajouter :
# copy-mode: ips
# copy-iface: eth1 (interface de sortie)
⚠️ Attention : Le mode IPS est plus intrusif et nécessite une configuration réseau adaptée
(bridge, redirection de paquets, etc.). Testez-le d’abord en environnement de laboratoire.
4.2 – Ajout de règles personnalisées
Vous pouvez ajouter vos propres règles dans le fichier /etc/suricata/rules/local.rules.
# Exemple de règle : alerter sur un scan de port
alert tcp $HOME_NET any -> $EXTERNAL_NET 1:1024 (msg:"Port Scan détecté"; flags:S; threshold: type both, track by_src, count 10, seconds 10; sid:1000001; rev:1;)
💡 Astuce : Utilisez suricata-update pour intégrer vos règles locales.
suricata-update --local /etc/suricata/rules/local.rules
4.3 – Export des logs vers un système externe
Suricata peut exporter ses alertes au format EVE JSON pour une intégration avec
un SIEM (ex: Elasticsearch, Graylog).
# Dans suricata.yaml
outputs:
- eve-log:
enabled: yes
filetype: regular
filename: eve.json
types:
- alert
- http
- dns
- tls
✅ Test de validation
🎉 Installation réussie si :
- Suricata est en cours d’exécution (
systemctl status suricata ou docker compose ps).
- Des alertes sont générées dans
/var/log/suricata/fast.log (ou ./logs/fast.log pour Docker).
- La commande
suricata --version affiche la version installée.
- Les règles sont chargées et appliquées (vérifiez
suricata -T -c /etc/suricata/suricata.yaml).
📚 Ressources complémentaires
BTS SIO – Lycée NDLP Avranches – Tutoriel Suricata v1.0