DoS-Demo mit Suricata auf OPNsense: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „== Topologie == Angreifer → OPNsense (WAN mit Suricata) → Webserver == Voraussetzungen == * OPNsense mit WAN/LAN, funktionierendem NAT/Routing * Webserver…“)
 
Zeile 1: Zeile 1:
 +
= DoS-Demo mit Suricata auf OPNsense =
 +
 
== Topologie ==
 
== Topologie ==
Angreifer → OPNsense (WAN mit Suricata) → Webserver
+
Angreifer → OPNsense (WAN mit Suricata IPS) → Webserver
  
 
== Voraussetzungen ==
 
== Voraussetzungen ==
* OPNsense mit WAN/LAN, funktionierendem NAT/Routing
+
* OPNsense mit WAN/LAN, NAT und funktionierendem Routing
 
* Webserver hinter OPNsense (Port 80 offen)
 
* Webserver hinter OPNsense (Port 80 offen)
 
* Angreifer-Host mit hping3
 
* Angreifer-Host mit hping3
* In OPNsense: System → Einstellungen Netzwerk: Hardware-Offloading (TSO/LRO/Checksum) deaktivieren
+
* In OPNsense: System → Settings → Networking → Hardware offloading deaktivieren (Checksum, TSO, LRO)
  
== Baseline ohne IPS ==
+
== Ausgangstest ohne IPS ==
* Erreichbarkeit testen
+
* Erreichbarkeit prüfen:
 
<pre>
 
<pre>
 
curl -I http://web.it214.xinmen.de/
 
curl -I http://web.it214.xinmen.de/
 
</pre>
 
</pre>
  
* Angriff starten (nur kurz laufen lassen!)
+
* Angriff starten (nur kurz laufen lassen):
 
<pre>
 
<pre>
 
sudo hping3 -S --flood -V -p 80 web.it214.xinmen.de
 
sudo hping3 -S --flood -V -p 80 web.it214.xinmen.de
Zeile 22: Zeile 24:
  
 
== Suricata als IPS aktivieren ==
 
== Suricata als IPS aktivieren ==
* Dienste → Intrusion Detection → Einstellungen
+
* Services → Intrusion Detection → Administration
** Enabled → Haken setzen
+
** Haken bei "Enable IDS"
** IPS Mode → Haken setzen
+
** Haken bei "IPS mode"
** Interfaces → WAN auswählen
+
** Interface: WAN auswählen
* Rule Sets
+
** Save und Start
** „ET open“ aktivieren und aktualisieren
+
 
** Optional Kategorien: dos, scan, bad-traffic
+
* Services → Intrusion Detection → Download
* Policies
+
** Ruleset "ET open" aktivieren
** Neue Policy erstellen
+
** Download & Update Rules ausführen
 +
 
 +
* Services → Intrusion Detection → Policies
 +
** Neue Policy hinzufügen
 
*** Action: drop
 
*** Action: drop
*** Kategorien: DoS/Scan
+
*** Categories: dos.rules, scan.rules (weitere falls nötig)
*** Enabled
+
*** Enabled anhaken
*** Save Apply
+
** Save und Apply
* Suricata starten
 
  
== Test mit IPS ==
+
== Test mit aktivem IPS ==
* Erreichbarkeit prüfen
+
* Normalen HTTP-Request prüfen:
 
<pre>
 
<pre>
 
curl -I http://web.it214.xinmen.de/
 
curl -I http://web.it214.xinmen.de/
 
</pre>
 
</pre>
  
* Angriff wiederholen
+
* Angriff wiederholen:
 
<pre>
 
<pre>
 
sudo hping3 -S --flood -V -p 80 web.it214.xinmen.de
 
sudo hping3 -S --flood -V -p 80 web.it214.xinmen.de
 
</pre>
 
</pre>
  
* Erwartung: Flood-Pakete werden gedroppt, legitimer Traffic geht durch
+
* Erwartung: Suricata verwirft die Flood-Pakete, Webserver bleibt erreichbar
* Prüfung: Firewall Protokolle IDS/IPS (Alerts)
+
* Kontrolle: Services Intrusion Detection → Alerts → Einträge mit "drop" sichtbar
  
== Feinjustierung ==
+
== Anpassungen ==
* Falls keine Drops:
+
* Falls keine Drops sichtbar: Policy an oberste Stelle verschieben und Apply
** Policy an oberste Position verschieben
+
* Für nachvollziehbare Demo gedrosselten Flood verwenden:
** Regeln gezielt auf drop setzen
 
* Gedrosselten Angriff verwenden:
 
 
<pre>
 
<pre>
 
sudo hping3 -S -i u500 -V -p 80 web.it214.xinmen.de
 
sudo hping3 -S -i u500 -V -p 80 web.it214.xinmen.de
 
</pre>
 
</pre>
  
== Troubleshooting ==
+
== Fehlerbehebung ==
* Keine Drops sichtbar → IPS Mode prüfen, Rule-Updates laden
+
* Keine Drops: prüfen ob IPS mode aktiv, Regeln aktualisiert
* OPNsense überlastet Flood nur kurz, CPU erhöhen, Offloading aus
+
* OPNsense überlastet: Flood nur kurz laufen lassen, vCPU/RAM erhöhen
* Legitimer Traffic blockiert Alerts prüfen, Ausnahmen oder Kategorien anpassen
+
* Legitime Verbindungen blockiert: Alerts prüfen, spezifische Regeln deaktivieren oder Policy anpassen

Version vom 27. August 2025, 17:35 Uhr

DoS-Demo mit Suricata auf OPNsense

Topologie

Angreifer → OPNsense (WAN mit Suricata IPS) → Webserver

Voraussetzungen

  • OPNsense mit WAN/LAN, NAT und funktionierendem Routing
  • Webserver hinter OPNsense (Port 80 offen)
  • Angreifer-Host mit hping3
  • In OPNsense: System → Settings → Networking → Hardware offloading deaktivieren (Checksum, TSO, LRO)

Ausgangstest ohne IPS

  • Erreichbarkeit prüfen:
curl -I http://web.it214.xinmen.de/
  • Angriff starten (nur kurz laufen lassen):
sudo hping3 -S --flood -V -p 80 web.it214.xinmen.de
  • Erwartung: Webserver nicht mehr erreichbar

Suricata als IPS aktivieren

  • Services → Intrusion Detection → Administration
    • Haken bei "Enable IDS"
    • Haken bei "IPS mode"
    • Interface: WAN auswählen
    • Save und Start
  • Services → Intrusion Detection → Download
    • Ruleset "ET open" aktivieren
    • Download & Update Rules ausführen
  • Services → Intrusion Detection → Policies
    • Neue Policy hinzufügen
      • Action: drop
      • Categories: dos.rules, scan.rules (weitere falls nötig)
      • Enabled anhaken
    • Save und Apply

Test mit aktivem IPS

  • Normalen HTTP-Request prüfen:
curl -I http://web.it214.xinmen.de/
  • Angriff wiederholen:
sudo hping3 -S --flood -V -p 80 web.it214.xinmen.de
  • Erwartung: Suricata verwirft die Flood-Pakete, Webserver bleibt erreichbar
  • Kontrolle: Services → Intrusion Detection → Alerts → Einträge mit "drop" sichtbar

Anpassungen

  • Falls keine Drops sichtbar: Policy an oberste Stelle verschieben und Apply
  • Für nachvollziehbare Demo gedrosselten Flood verwenden:
sudo hping3 -S -i u500 -V -p 80 web.it214.xinmen.de

Fehlerbehebung

  • Keine Drops: prüfen ob IPS mode aktiv, Regeln aktualisiert
  • OPNsense überlastet: Flood nur kurz laufen lassen, vCPU/RAM erhöhen
  • Legitime Verbindungen blockiert: Alerts prüfen, spezifische Regeln deaktivieren oder Policy anpassen