Das immer wiederkehrende heiße Thema DDoS Schutz. Das betrifft natürlich nicht nur RouterOS, sondern alle möglichen Systeme die in der ersten Linie direkt nach dem Modem stehen. Doch hier zeige ich euch nun wie man zumindest in Teilen mit RouterOS einige Regeln einpflegen kann die einen vor TCP Floods und mehr schützen können.

Ganz wichtig: Ist die DDoS größer (Bandbreite) als die anliegende Internetverbindung, kann man eh nichts tun, da die Leitung zu 100% voll ist.

Ganz wichtig 2: Macht bestenfalls ALLE Ports ganz zu die Ihr nicht braucht. Und wenn Ihr eine Source-IP habt für die Verbindung, dann setzt bitte in der Firewall Regel auch diese im Source-IP Bereich.

Mikrotik hEX S Ethernet-Router, 10, 100,1000 MBit/s, 10/100/1000Base-T(X), Schwarz, 256 MB, 11 W, DC
  • Mikrotik hEX S Ethernet-Schnittstelle: Gigabit Ethernet.
  • Kabeltechnologie: 10/100/1000Base-T (X).
  • LAN Ethernet: Datenübertragungsrate: 10,100,1000 Mbit/s. Interner Speicher: 256 MB. Farbe: Schwarz. Typischer Stromverbrauch: 11 W.

IP Filter Regeln gegen DDoS – Beispiele

Das wichtigste ist erstmal die SynCookies Option unter IP -> Settings zu aktivieren. Damit werden zu sendende Pakete mit einem kleinen Hash versehen, welcher beim Empfang des Rückpaketes wieder angehängt und korrekt sein muss. Ist der Hash nicht korrekt werden zukünftige Pakete verworfen.

TCP SynCookies RouterOS
TCP SynCookies RouterOS

Invalide TCP Pakete

Diese Regel blockiert alle Pakete, die kein SYN-Paket sind und nicht zu einer bestehenden TCP-Verbindung gehören.

/ip firewall filter
add action=drop chain=input connection-state=invalid

Neue Pakete die nicht SYN sind

Dadurch werden alle Pakete blockiert, die neu sind oder nicht zu einer bestehenden Verbindung gehören und das SYN-Flag nicht verwenden. Diese Regel ähnelt der „Invalide TCP Pakete Regeln“, fängt aber trotzdem nochmal zusätzlich etwas ab.

/ip firewall filter
add action=drop chain=input connection-state=new protocol=tcp tcp-flags=!syn

Ungewöhnliche MSS Paket-Werte

Diese Regel blockiert neue Pakete, die einen TCP-MSS-Wert verwenden, der nicht üblich ist. Dies hilft, dumme SYN-Floods zu blockieren.

/ip firewall filter
add action=drop chain=input connection-state=new protocol=tcp tcp-mss=!536-65535

Port Scans minimieren

Diese Regel verhindert das Fluten von Portscanabfragen. Es werden mit dieser Regel 2 Portabfragen (< Port 1024) genehmigt innerhalb von 3 Sekunden. Alles andere wird geblockt.

/ip firewall filter
add action=drop chain=input protocol=tcp psd=20,3s,10,2

ICMP Flood (Ping) verhindern

Folgende Regel erlaubt einen einzigen Ping pro Sekunde und alles andere wird geblockt. Somit kann man nicht geflutet werden, aber selbst zum testen bekommt gerne einen Ping pro Sekunde durch.

/ip firewall raw
add action=drop chain=prerouting limit=!1,1:packet protocol=icmp

Smurf Attacken mindern – RST Floods

Hiermit werden TCP RST Pakete limitiert auf 2 Stück pro Sekunde. Wenn mehr RST Paket rein kommen sollte, stimmt ohne hin in deiner Applikation nicht.

/ip firewall filter
add action=drop chain=input limit=2,2:packet protocol=tcp tcp-flags=rst

Weitere Infos und Hinweise zu DDoS

Alle oben genannten Regeln können dir gut dabei helfen die DDoS Attacke besser einzuschätzen und evtl. sogar abzumindern. Diese Regeln blocken eigentlich zu 95% die Standard Attacken ab und lässt die Pakete droppen. Es gibt noch viele weitere Regeln welche man einpflegen könnte, aber das wären nur noch Spezial Regeln.
Du könntest noch darüber nachdenken IP Filter Listen zu nutzen wo ohnehin schon böse Source-IPs drauf stehen. Spamhaus.org ist da ein Beispiel.