IT-Sicherheit
Suricata
Suricata ist eine quelloffene, multithreaded Netzwerk-Engine für Angriffserkennung (IDS), -abwehr (IPS) und Monitoring; Regelsprache weitgehend Snort-kompatibel.
- IDS / IPS / NSM in einer Engine
- Multithreaded
- Snort-kompatible Regeln
- EVE-JSON fürs SIEM
- GPLv2 (OISF)
Suricata ist die verbreitetste quelloffene Engine für netzbasierte Angriffserkennung. Sie kann gleichzeitig als IDS (Alarm), IPS (inline blockieren) und für Network Security Monitoring arbeiten, getragen von der gemeinnützigen OISF und lizenziert unter GPLv2.
Dieser Artikel erklärt die multithreaded Architektur und Betriebsmodi, die Snort-kompatible Regelsprache und ihre Quellen, die Protokollanalyse und Datei-Extraktion, das EVE-JSON-Format für die SIEM-Anbindung, den Umgang mit verschlüsseltem Verkehr sowie die Einbettung in Firewalls und die Abgrenzung zu Zeek.
1. Multithreaded und vielseitig
Suricata ist von Grund auf multithreaded und kann mehrere CPU-Kerne parallel nutzen, ein Architekturvorteil gegenüber der klassischen Single-Thread-Engine von Snort 2. Je nach Betriebsmodus liest sie eine Verkehrskopie (IDS) oder sitzt inline (IPS); als Schnittstellen dienen dabei AF_PACKET (passiv wie auch inline), NFQUEUE unter Linux oder Netmap in Firewalls. Für Hochlast gibt es Kernel-Bypass-Optionen wie DPDK und eBPF/XDP.
Inline-IPS und fail-open
Im NFQUEUE-Inline-Modus blockiert ein Absturz der Engine sonst den gesamten Verkehr. Die Option fail-open (ab Linux-Kernel 3.6) lässt den Kernel bei Überlast Pakete durch, das ist ein bewusster Kompromiss zwischen Verfügbarkeit und Schutz.
2. Regeln und ihre Quellen
Suricatas Regelsprache ist weitgehend Snort-kompatibel, viele Snort-Regeln laufen unverändert (mit kleinen semantischen Abweichungen, die man vor Produktiveinsatz testet). Die wichtigsten Regelquellen sind ET Open (Emerging Threats, kostenlos), das kommerzielle ET Pro und die Cisco-Talos-Regeln. Verwaltet werden sie mit dem Werkzeug suricata-update.
Regeln laden und Konfiguration testen
suricata-update # ET-Open-Regeln laden
suricata -T -c /etc/suricata/suricata.yaml # Konfiguration prüfen 3. Protokolle, Dateien, Fingerabdrücke
Über reine Signaturprüfung hinaus erkennt Suricata Protokolle automatisch (portunabhängig) und parst Dutzende davon (HTTP, TLS, DNS, SMB und mehr). Sie kann Dateien aus dem Verkehr extrahieren und deren Hashes (MD5/SHA1/SHA256) für den Abgleich mit Bedrohungslisten berechnen. Bei TLS protokolliert sie Metadaten und JA3/JA4-Fingerabdrücke, mit denen sich verdächtige Clients auch ohne Entschlüsselung erkennen lassen.
4. EVE-JSON fürs SIEM
Suricatas zentrale Ausgabe ist das EVE-JSON-Format: strukturierte Ereignisse (Alarme, Flows, HTTP, DNS, TLS, Datei-Infos) in einer Datei, die sich direkt in ein SIEM oder einen Log-Stack (OpenSearch, Elastic, Loki, Wazuh) einspeisen lassen. Damit fügt sich Suricata nahtlos in die Detektions- und Korrelations-Pipeline ein (Querverweise IDS/IPS und SIEM).
5. In Firewalls und neben Zeek
Suricata ist die IDS/IPS-Engine in OPNsense und pfSense (eigene Artikel) und dort über die Oberfläche konfigurierbar. Häufig läuft sie zusammen mit Zeek (eigener Artikel): Suricata liefert die signaturbasierte Echtzeit-Erkennung und das Blockieren, Zeek den tiefen Protokoll-Kontext für Forensik und Threat Hunting. Sie konkurrieren nicht, sie ergänzen sich.
6. Stärken und Grenzen
| Stärken | Grenzen |
|---|---|
| Multithreaded, skaliert mit CPU-Kernen | Regelqualität entscheidet über Fehlalarme |
| IDS, IPS und NSM in einer Engine | Inline-IPS: schlechte Regeln können Dienste blockieren |
| Snort-kompatible Regeln, freie ET-Open-Quelle | verschlüsselter Inhalt nur über Metadaten/JA3 erfassbar |
| EVE-JSON für nahtlose SIEM-Anbindung | Hochlast-Tuning (DPDK, Affinity) ist aufwendig |
| In OPNsense/pfSense integriert; GPLv2 | Regelpflege bleibt Daueraufgabe |
Häufige Fragen zu Suricata
Beide sind signaturbasierte Netzwerk-IDS/IPS mit weitgehend kompatibler Regelsprache. Der wichtigste technische Unterschied: Suricata ist von Grund auf multithreaded und nutzt mehrere CPU-Kerne parallel, während die klassische Snort-2-Engine single-threaded war (Snort 3 hat Multithreading nachgezogen). Suricata bringt zudem natives EVE-JSON-Logging, automatische Protokollerkennung und Datei-Extraktion mit. Viele Snort-Regeln laufen in Suricata, sollten aber vor Produktiveinsatz getestet werden.
Schrittweise. Zunächst im reinen IDS-/Alarm-Modus betreiben und beobachten, welche Regeln Fehlalarme erzeugen, diese unterdrücken oder anpassen. Erst danach gezielt einzelne Regelgruppen auf Blockieren (drop) umschalten. Im Inline-Modus sollte fail-open konfiguriert sein, damit ein Engine-Absturz nicht den ganzen Verkehr blockiert. So vermeidet man, dass eine schlechte Regel legitime Dienste lahmlegt.
Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.
Der nächste Schritt
Suricata im eigenen Haus richtig einsetzen?
Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.