DoS-Demo mit Suricata auf OPNsense: Unterschied zwischen den Versionen
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 | + | * 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 → | + | * In OPNsense: System → Settings → Networking → Hardware offloading deaktivieren (Checksum, TSO, LRO) |
| − | == | + | == Ausgangstest ohne IPS == |
| − | * Erreichbarkeit | + | * 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 == | ||
| − | * | + | * Services → Intrusion Detection → Administration |
| − | ** | + | ** Haken bei "Enable IDS" |
| − | ** IPS | + | ** Haken bei "IPS mode" |
| − | ** | + | ** Interface: WAN auswählen |
| − | * | + | ** Save und Start |
| − | ** | + | |
| − | ** | + | * Services → Intrusion Detection → Download |
| − | * Policies | + | ** Ruleset "ET open" aktivieren |
| − | ** Neue Policy | + | ** Download & Update Rules ausführen |
| + | |||
| + | * Services → Intrusion Detection → Policies | ||
| + | ** Neue Policy hinzufügen | ||
*** Action: drop | *** Action: drop | ||
| − | *** | + | *** Categories: dos.rules, scan.rules (weitere falls nötig) |
| − | *** Enabled | + | *** Enabled anhaken |
| − | + | ** Save und Apply | |
| − | |||
| − | == Test mit IPS == | + | == Test mit aktivem IPS == |
| − | * | + | * 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 | + | * Erwartung: Suricata verwirft die Flood-Pakete, Webserver bleibt erreichbar |
| − | * | + | * Kontrolle: Services → Intrusion Detection → Alerts → Einträge mit "drop" sichtbar |
| − | == | + | == Anpassungen == |
| − | * Falls keine Drops: | + | * Falls keine Drops sichtbar: Policy an oberste Stelle verschieben und Apply |
| − | + | * Für nachvollziehbare Demo gedrosselten Flood 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> | ||
| − | == | + | == Fehlerbehebung == |
| − | * Keine Drops | + | * Keine Drops: prüfen ob IPS mode aktiv, Regeln aktualisiert |
| − | * OPNsense überlastet | + | * OPNsense überlastet: Flood nur kurz laufen lassen, vCPU/RAM erhöhen |
| − | * | + | * 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
- Neue Policy hinzufügen
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