Un NIDS (Network Intrusion Detection System) est un équipement ou logiciel qui analyse passivement le trafic réseau circulant sur un segment pour identifier des signatures d’attaques, des anomalies comportementales ou des violations de politiques de sécurité.

Le NIDS est placé en mode écoute (passif) sur le réseau, généralement via un port SPAN (port miroir) d’un commutateur ou un TAP réseau. Il ne modifie pas le trafic — il l’analyse et génère des alertes. Cette approche passive garantit qu’une défaillance du NIDS n’impacte pas la disponibilité du réseau, ce qui est crucial pour protéger un service web critique.

Modes de déploiement

Mode Description Avantage Limite
Port SPAN / Miroir Le switch copie tout le trafic vers le port NIDS Facile à déployer, non intrusif Risque de perte de paquets à fort débit
TAP réseau Équipement physique qui duplique le trafic optiquement Fiable, pas de perte de paquets Coût matériel supplémentaire
Agent déporté Agents légers sur les hôtes remontant au NIDS central Vision détaillée par hôte Charge sur les hôtes surveillés
Inline passif Placé dans le flux mais en mode lecture seule Analyse complète du trafic Point potentiel de ralentissement

Placement dans une architecture DMZ/LAN

Pour une architecture avec DMZ, plusieurs points de déploiement sont recommandés :

  • Entre le routeur internet et le pare-feu externe : détection des attaques avant tout filtrage
  • Dans la DMZ : surveillance du trafic vers/depuis les serveurs exposés (serveur web)
  • Entre le pare-feu interne et le LAN : détection des mouvements latéraux internes
  • Sur le LAN : surveillance du trafic inter-VLAN et détection d’anomalies internes

Méthodes de détection

Détection par signatures (Misuse Detection)

La méthode la plus répandue. Elle consiste à comparer le trafic analysé avec une base de règles et signatures décrivant des attaques connues (exploitation de CVE, scans de ports, injections SQL, XSS, buffer overflow…).

Détection par anomalies (Anomaly Detection)

Établit d’abord un profil de trafic normal (baseline), puis détecte tout écart significatif. Elle est capable de détecter des attaques inconnues (0-day) mais génère davantage de faux positifs.

Analyse de protocoles (Protocol Analysis)

Vérification de la conformité des protocoles réseau (TCP/IP, HTTP, DNS, SMB, FTP…) par rapport aux RFC officielles. Toute violation protocolaire peut indiquer une tentative d’évasion de sécurité.

Analyse comportementale (Behavioral Analysis)

Technique avancée qui modélise le comportement normal des utilisateurs, applications et flux réseau à l’aide de machine learning. Très efficace contre les attaques APT et les menaces internes.

Solutions du marché

Snort 3 — la référence open source mondiale

Développé initialement par Martin Roesch en 1998, maintenu aujourd’hui par Cisco Talos. C’est le NIDS open source le plus déployé au monde avec plus de 600 000 utilisateurs. Snort 3 apporte des performances multi-thread et une architecture modulaire.

Caractéristiques techniques :

  • Analyse en temps réel du trafic IP basée sur des règles structurées
  • Base de règles communautaire (gratuite) et Snort Subscriber Rules via Cisco Talos (payantes)
  • Trois modes : sniffer (capture), packet logger (journalisation), NIDS (détection)
  • Support des protocoles : TCP, UDP, ICMP, HTTP, FTP, SMB, DNS, SSL, etc.
  • Output : alertes syslog, base de données MySQL/PostgreSQL, format PCAP, Unified2

Suricata — haute performance

Développé par l’OISF, Suricata est le successeur moderne de Snort. Il supporte nativement le multi-threading, offrant des performances très supérieures sur les réseaux haut débit (10 Gbps et plus).

  • Multi-thread natif : exploite tous les cœurs processeur disponibles
  • Détection de protocoles applicatifs automatique (AppID) sans configuration manuelle
  • Compatible avec les règles Snort (VRT) et Emerging Threats (ET Open/Pro)
  • Output EVE JSON : format structuré idéal pour l’intégration avec les SIEM
  • Support IDS et IPS en mode inline (Netfilter/NFQueue ou AF_PACKET)

Zeek / Bro — analyse comportementale avancée

Zeek génère des logs structurés et détaillés décrivant l’ensemble des activités réseau observées plutôt que de chercher des signatures. Ces logs sont ensuite analysés par des scripts Zeek pour détecter des comportements suspects.

  • Logs très riches : conn.log, dns.log, http.log, ssl.log, files.log
  • Idéal pour la forensique réseau et la threat hunting
  • Souvent utilisé en complément de Suricata/Snort

SecurityOnion

Distribution Linux dédiée à la détection d’intrusions. Elle intègre Suricata, Zeek, Elasticsearch et Kibana en une plateforme cohérente. Très utilisée dans les SOC et environnements académiques.

Tableau comparatif

Solution Licence Multi-thread Règles Performance Intégration SIEM
Snort 3 Open Source Oui (v3) VRT / Community Moyenne-Haute Syslog / Unified2
Suricata Open Source Oui (natif) ET Open / VRT Très haute EVE JSON natif
Zeek / Bro Open Source Oui Scripts Zeek Haute Logs JSON / Kafka
SecurityOnion Open Source Oui ET + VRT Haute Kibana / Elastic
Cisco NGIPS Commerciale Oui Talos (premium) Très haute FMC / SIEM
Darktrace Commerciale Oui Auto (IA) Haute Native API

Application au projet Alert’Intrusion

Pour protéger la zone DMZ du projet Alert’Intrusion, Suricata est recommandé pour sa performance multi-thread et son intégration native avec Wazuh via les logs EVE JSON. Cette combinaison Suricata (NIDS) + Wazuh (HIPS/SIEM) offre une visibilité complète réseau et hôte au sein d’une plateforme unifiée.

Tests de détection prévus :

  • nmap -sS (SYN scan) → déclenche la règle ET:SCAN Nmap Scripting Engine
  • nmap -sU (UDP scan) → détecté par les règles de détection de scan UDP massif
  • nmap -sV (version scan) → détecté par les règles de banner grabbing
  • hping3 --flood (DoS SYN flood) → déclenche les règles de détection SYN flood

Sources