
Waldemar Schneider
IT-Systemintegrator, der sowohl die Produktionshalle als auch den Serverraum versteht.
© 2026 Waldemar Schneider
Portfolio

Suricata IDS auf OPNsense
Inhalt
Projektübersicht
Suricata 8.0.5 wurde als Netzwerk-IDS auf OPNsense aktiviert — ein weiterer Baustein der mehrschichtigen Netzwerksicherheit im Heimnetz. Es überwacht das WAN-Interface im IDS-Mode: jedes eingehende Paket wird live gegen Regelsets geprüft, auffälliger Traffic wird geloggt.
1. Situation (Ausgangslage)
CrowdSec war bereits aktiv und blockierte bekannte Angreifer-IPs auf Basis von Log-Auswertungen. Das deckt Verhaltensmuster über Zeit gut ab, analysiert aber immer im Nachhinein. Es fehlte eine Schicht die direkt auf Netzwerkebene schaut: einzelne Pakete mit bekannten Exploit- oder Malware-Signaturen, Port-Scans und Angriffe auf Webserver. Beide Systeme ergänzen sich und adressieren unterschiedliche Erkennungsebenen — ein klassisches Defense-in-Depth-Prinzip: mehrere unabhängige Schutzschichten statt eines einzelnen Kontrollpunkts.
2. Task (Zielsetzung)
- Paketbasierte Erkennung: Suricata auf dem WAN-Interface einrichten, sodass jedes eingehende Paket gegen Signaturen geprüft wird.
- Professionelle Kalibrierungsphase: Zuerst IDS-Mode (nur loggen), um False-Positive-Rate zu kennen bevor auf IPS-Mode (blocken) gewechselt wird.
- Relevante Regelsets aktivieren: Auf die tatsächliche Bedrohungslage zuschneiden statt alles blind zu aktivieren.
3. Action (Umsetzung)
A. Suricata einrichten und Interface zuweisen
Suricata war als Paket bereits auf OPNsense vorhanden. In OPNsense 26.x ist es direkt über Services - Intrusion Detection in der GUI eingebunden, ohne separates Plugin. Als Interface wurde ausschliesslich WAN gewählt: Angriffe kommen von aussen, LAN-Traffic bewusst weggelassen um Ressourcen zu schonen und den Fokus klar zu halten. Capture Mode: PCAP live mode (IDS). Im IDS-Mode bekommt Suricata eine Kopie jedes Pakets, greift aber nicht in den Datenstrom ein.
B. Regelsets auswählen und herunterladen
Aus den verfügbaren Emerging-Threats-Open-Regelsets wurden vier aktiviert: emerging-exploit für bekannte Angriffe auf Dienste, emerging-malware für Schadsoftware-Kommunikation, emerging-scan für Port-Scans und Reconnaissance, emerging-web_server für Angriffe auf Webserver. Bewusst nicht aktiviert: emerging-retired (veraltet, nur Lärm), emerging-hunting (sehr aggressiv, hohe False-Positive-Rate) und die App-Detection-Regelsets (kein Sicherheitswert). Die ET-Open-Regelsets werden von Proofpoint gepflegt und sind täglich aktualisiert.
C. Verhalten beim Start verstehen
Beim ersten Start loggete Suricata eine Reihe von Warnungen der Art "flowbit X is checked but not set". Das sind keine Fehler: eine Regel will auf Information zurückgreifen, die von einer anderen Regel aus einem nicht geladenen Regelset gesetzt werden müsste. Suricata ignoriert diese Abhängigkeit und arbeitet korrekt weiter. Das zu verstehen war wichtig, um den Startvorgang richtig einzuschätzen.
4. Result (Ergebnis & Verifikation)
Suricata läuft stabil im IDS-Mode auf dem WAN-Interface. Nach 5 Minuten Laufzeit waren bereits über 15.000 Pakete analysiert. Die Log-Dateien (eve.json, stats.log) wurden korrekt angelegt. Der nächste Schritt ist die Auswertung der ersten Alerts, Identifikation von False Positives und anschliessend der Wechsel in den IPS-Mode.
| Prüfpunkt | Ergebnis |
|---|---|
| Suricata-Service läuft | ja, verifiziert |
| Log-Dateien angelegt | eve.json, stats.log, Start-Log |
| "Engine started" im Start-Log | vorhanden |
| Pakete werden analysiert | über 15.000 in den ersten 5 Minuten |
| IDS-Mode aktiv, kein Blocking | bestätigt |
Lessons Learned
- IDS vor IPS ist professionelle Praxis: Erst beobachten und die False-Positive-Rate kennenlernen, dann blocken. Direkt mit IPS-Mode zu starten riskiert unterbrochene legitime Verbindungen.
- Regelset-Auswahl ist keine Kleinigkeit: Nicht jedes verfügbare Regelset aktivieren. Aggressive Regelsets wie
emerging-huntingproduzieren so viele Fehlalarme, dass sie den Nutzen aufheben. - CrowdSec und Suricata ergänzen sich: CrowdSec erkennt Verhaltensmuster über Zeit aus Logs. Suricata erkennt einzelne Pakete anhand von Signaturen, live. Beides zusammen ergibt eine deutlich breitere Abdeckung als jedes System allein.
- Suricata sieht keine Domainnamen: In den Logs stehen IP-Adressen. Domainnamen müssen separat nachgeschlagen werden.