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)
Von Andreas Huser, Technische Beratung & Architektur Aktualisiert am 10 Min. Lesezeit

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ärkenGrenzen
Multithreaded, skaliert mit CPU-KernenRegelqualität entscheidet über Fehlalarme
IDS, IPS und NSM in einer EngineInline-IPS: schlechte Regeln können Dienste blockieren
Snort-kompatible Regeln, freie ET-Open-Quelleverschlüsselter Inhalt nur über Metadaten/JA3 erfassbar
EVE-JSON für nahtlose SIEM-AnbindungHochlast-Tuning (DPDK, Affinity) ist aufwendig
In OPNsense/pfSense integriert; GPLv2Regelpflege 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.

Erstgespräch vereinbaren oder Formular ausfüllen