Suricata IPS sur pfSense
Installer Suricata sur pfSense, choisir le mode en ligne et gérer les règles de détection et de prévention.
Installer un IDS/IPS sur pfSense avec Suricata
Installation d’un système de détection et de prévention des intrusions (IDS/IPS) sur pfSense.
Nous utilisons Suricata, une solution open source qui surveille le trafic réseau, détecte les menaces et peut les bloquer en temps réel.
1. Points à vérifier avant l’installation
Deux modes de fonctionnement sont disponibles sur pfSense : Inline et Legacy.
- Mode Inline : bloque activement les menaces en temps réel.
- Mode Legacy : capture une copie (pcap) des paquets en transit et laisse passer le trafic avant de l’analyser. Il peut bloquer une adresse IP, mais le trafic circule même lorsque le caractère malveillant du contenu n’a pas encore été déterminé.
Je vais utiliser le mode Inline pour bloquer plus précisément les acteurs malveillants.
2. Installation de Suricata
L’installation de Suricata sur pfSense comprend les étapes suivantes :
- Activer les dépôts et les dépendances nécessaires.
- Installer le paquet Suricata.
- Configurer les interfaces réseau.
- Tester les règles avec un peu de fuzzing d’URL.
3. Sources des règles
Suricata propose plusieurs sources de règles, chacune s’appuyant sur différentes informations concernant les menaces :
- Snort : des règles propriétaires pour une détection de qualité.
- Emerging Threats (ET) : des règles gratuites et open source couvrant de nombreuses menaces.
- Community : des règles de base proposées par la communauté.
- GeoIP : des informations sur l’origine géographique probable des menaces.
4. Gestion des règles
Plusieurs mécanismes permettent de gérer les règles différemment :
- Gestion des SID : activer ou désactiver certaines règles identifiées par leur Signature ID.
- DROP all categories : supprimer les paquets correspondant aux règles de certaines catégories pour améliorer la prévention.
- Exclusion de règles : retirer certaines règles de catégories afin de limiter les faux positifs et le bruit dans les alertes.
4.1 Désactiver des règles
Il peut être nécessaire de désactiver des règles qui produisent des alertes inutiles. Nous verrons comment désactiver des règles individuelles pour affiner la configuration de Suricata.
6. Tester Suricata
Les tests sont essentiels pour vérifier que Suricata détecte et bloque correctement les menaces. Pour le moment, j’ai uniquement essayé de tester mon site avec ffuf pour observer son fonctionnement :
1
2
3
4
5
6
7
8
9
sudo apt install git
wget https://go.dev/dl/go1.23.2.linux-amd64.tar.gz
sudo su
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
exit
git clone https://github.com/ffuf/ffuf ; cd ffuf ; go get ; go build
wget https://raw.githubusercontent.com/six2dez/OneListForAll/refs/heads/main/onelistforallmicro.txt
ffuf -c -w onelistforallmicro.txt -u [target.com]/FUZZ
À compléter
- Ajouter des captures d’écran.
- Préciser quelle interface surveiller et les bonnes pratiques.
- Détailler les limites avec les VLAN et le besoin d’une interface dédiée.
- Expliquer la gestion des journaux.
- Ajouter des précisions sur les sources de règles : ETOPEN, Abuse.ch Botnet C2, GeoLite2 et l’utilisation des règles Snort.
- Détailler la configuration des interfaces.