DoS-Demo mit Suricata auf OPNsense: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 16: | Zeile 16: | ||
</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 24: | Zeile 24: | ||
== Suricata als IPS aktivieren == | == Suricata als IPS aktivieren == | ||
| − | * Services → Intrusion Detection → Administration | + | * Menü: Services → Intrusion Detection → Administration |
| − | ** | + | ** Enable IDS → Haken setzen |
| − | ** | + | ** IPS mode → Haken setzen |
| − | ** | + | ** Interfaces → WAN auswählen |
| − | ** Save | + | ** Save → Start |
| − | * Services → Intrusion Detection → Download | + | * Menü: Services → Intrusion Detection → Download |
| − | ** | + | ** Rulesets auswählen: |
| + | *** ET open Emerging Threats Open Rules → aktivieren | ||
| + | *** ET open DoS rules → aktivieren | ||
| + | *** ET open Scan rules → optional, für Portscan-Demo | ||
| + | *** ET open Bad Traffic rules → optional | ||
** Download & Update Rules ausführen | ** Download & Update Rules ausführen | ||
| − | * Services → Intrusion Detection → Policies | + | * Menü: Services → Intrusion Detection → Policies |
| − | ** | + | ** Add new policy |
*** Action: drop | *** Action: drop | ||
| − | *** Categories: dos.rules, scan.rules ( | + | *** Categories auswählen: dos.rules, scan.rules, bad-traffic.rules (nur wenn aktiviert) |
*** Enabled anhaken | *** Enabled anhaken | ||
** Save und Apply | ** Save und Apply | ||
| + | ** Policy an oberste Position schieben | ||
== Test mit aktivem IPS == | == Test mit aktivem IPS == | ||
| Zeile 52: | Zeile 57: | ||
</pre> | </pre> | ||
| − | * Erwartung: Suricata verwirft | + | * Erwartung: Suricata verwirft Flood-Pakete, Webserver bleibt erreichbar |
* Kontrolle: Services → Intrusion Detection → Alerts → Einträge mit "drop" sichtbar | * Kontrolle: Services → Intrusion Detection → Alerts → Einträge mit "drop" sichtbar | ||
== Anpassungen == | == Anpassungen == | ||
| − | * Falls keine Drops sichtbar: Policy an | + | * Falls keine Drops sichtbar: prüfen ob IPS mode aktiv, Regeln aktuell, Policy an oberster Stelle |
* Für nachvollziehbare Demo gedrosselten Flood verwenden: | * Für nachvollziehbare Demo gedrosselten Flood verwenden: | ||
<pre> | <pre> | ||
| Zeile 63: | Zeile 68: | ||
== Fehlerbehebung == | == Fehlerbehebung == | ||
| − | * Keine Drops: | + | * Keine Drops: IPS mode prüfen (Administration), Regeln unter Download aktualisieren |
* OPNsense überlastet: Flood nur kurz laufen lassen, vCPU/RAM erhöhen | * OPNsense überlastet: Flood nur kurz laufen lassen, vCPU/RAM erhöhen | ||
| − | * Legitime Verbindungen blockiert: Alerts prüfen | + | * Legitime Verbindungen blockiert: im Tab Alerts die Rule-ID (SID) prüfen und gezielt deaktivieren oder in Policy auf alert setzen |
Version vom 27. August 2025, 17:37 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
- Menü: Services → Intrusion Detection → Administration
- Enable IDS → Haken setzen
- IPS mode → Haken setzen
- Interfaces → WAN auswählen
- Save → Start
- Menü: Services → Intrusion Detection → Download
- Rulesets auswählen:
- ET open Emerging Threats Open Rules → aktivieren
- ET open DoS rules → aktivieren
- ET open Scan rules → optional, für Portscan-Demo
- ET open Bad Traffic rules → optional
- Download & Update Rules ausführen
- Rulesets auswählen:
- Menü: Services → Intrusion Detection → Policies
- Add new policy
- Action: drop
- Categories auswählen: dos.rules, scan.rules, bad-traffic.rules (nur wenn aktiviert)
- Enabled anhaken
- Save und Apply
- Policy an oberste Position schieben
- Add new policy
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 Flood-Pakete, Webserver bleibt erreichbar
- Kontrolle: Services → Intrusion Detection → Alerts → Einträge mit "drop" sichtbar
Anpassungen
- Falls keine Drops sichtbar: prüfen ob IPS mode aktiv, Regeln aktuell, Policy an oberster Stelle
- Für nachvollziehbare Demo gedrosselten Flood verwenden:
sudo hping3 -S -i u500 -V -p 80 web.it214.xinmen.de
Fehlerbehebung
- Keine Drops: IPS mode prüfen (Administration), Regeln unter Download aktualisieren
- OPNsense überlastet: Flood nur kurz laufen lassen, vCPU/RAM erhöhen
- Legitime Verbindungen blockiert: im Tab Alerts die Rule-ID (SID) prüfen und gezielt deaktivieren oder in Policy auf alert setzen