Suricata
Règles Suricata
IDS/IPS réseau, règles, sorties EVE JSON et analyse d’alertes corrélée au trafic.
Structure
action protocol source_ip source_port -> destination_ip destination_port (options)
Exemple de règle locale
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"LOCAL Suspicious executable download";
flow:established,to_server;
http.uri; content:".exe"; nocase;
classtype:policy-violation;
sid:1000001; rev:1;
)
Exemple DNS
alert dns $HOME_NET any -> any 53 (
msg:"LOCAL Long DNS query";
dns.query; pcre:"/^.{70,}$/";
classtype:bad-unknown;
sid:1000002; rev:1;
)
Mots-clés importants
| Mot-clé | Usage |
|---|---|
flow |
direction et état de session |
content |
motif binaire/texte |
pcre |
regex, plus coûteuse |
fast_pattern |
motif de présélection |
threshold |
limiter les alertes |
flowbits |
corréler des états |
filemagic |
type de fichier |
http.*, dns.*, tls.* |
buffers applicatifs |
Tester une règle
suricata -T -c /etc/suricata/suricata.yaml -S /etc/suricata/rules/local.rules
suricata -r test.pcap -c /etc/suricata/suricata.yaml -S local.rules -l test-output
Qualité
- SID unique local, par exemple ≥ 1 000 000 ;
- message clair ;
- protocole et direction spécifiques ;
- seuil si comportement fréquent ;
- PCAP de test et cas négatif ;
- documentation du faux positif.