
Gestern bemerkte ich eine seltsame Aktivität meines bescheidenen Webservers: Er war mäßig warm, die Festplattenköpfe zuckten und die LAN-Aktivität war ungewöhnlich hoch.
Als ich mir die Protokolle ansah, stellte ich fest, dass ein Host meinen Webserver mit roher Gewalt nach Dokumenten durchsucht, um Dateinamen zu ermitteln.
Gibt es einen Schutz gegen einen solchen Brute-Force-Angriff, den ich in RouterOS implementieren könnte?
Antwort1
Ja, es gibt einen Schutz. Grundsätzlich müssen Sie eine Firewall-Regel hinzufügen, um solche Hosts zu erkennen (Kriterium: mehrere TCP/Port 80-Verbindungen vom selben Host) und, wenn Sie eine haben, diese Quell-IP zu einer Adressliste hinzufügen.
/ip firewall filter add chain=input protocol=tcp dst-port=80 connection-limit=200,32 \
action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d
Blockieren Sie dann eingehende Verbindungen von dieser Adressliste.
/ip firewall filter add chain=input src-address-list=blocked-addr action=drop
Sie müssen das Limit (hier 200) einstellen. Und auch die Kette (Eingabe, wenn der Webserver das Mikrotik-Gerät ist, Weiterleitung, wenn es ein anderer Webserver ist).
Dies ist aus dem Wiki übernommen: http://wiki.mikrotik.com/wiki/DoS_attack_protection
Antwort2
Die Antwort von Benoit ermöglicht das Blockieren von Hosts, die gleichzeitig Anfragen stellen. Aber wenn sie die Verbindungen genauso schnell schließen, wie sie sie öffnen, erhalten Sie möglicherweise nicht viele davon zum Filtern. Eine andere Logik besteht darin, diejenigen zu verwenden, dst-limit
die eine Ratenbegrenzung haben.
- Wir fügen eine Rate-Limit-Liste hinzu:
/ip firewall address-list
add list=rate-limit
- Anschließend legen wir die Filterregeln fest:
- Springen Sie zur Rate-Limit-Kette für alle neuen Verbindungen im WAN;
- Überprüfen Sie, ob in der letzten Minute 10 Verbindungen bestanden haben, mit Intervallen von 5 basierend auf der
dst-address
und Zurücksetzen nach 2 Minuten Inaktivität - Wenn das Ziellimit erreicht ist, wird die Rückgabeaktion übersprungen und die nächste Aktion in der Rate-Limit-Kette ausgeführt –
add-src-to-address-list
zur Rate-Limit-Liste mit 10 Minuten-Timeout.
/ip firewall filter
add chain=forward action=jump jump-target=rate-limit connection-state=new in-interface-list=WAN
chain=rate-limit action=return dst-limit=10/1m,5,dst-address/2m
chain=rate-limit action=add-src-to-address-list address-list=rate-limit address-list-timeout=10m
- Zum Schluss geben wir den Drop im Rohzustand hinzu, so sparen wir Ressourcen:
/ip firewall raw
add action=drop chain=prerouting src-address-list=rate-limit
Sie können mit der Anzahl der Verbindungen und den Zeiteinstellungen experimentieren, um sie je nach Bedarf zu optimieren. Sie können auf der Registerkarte Firewall/Verbindungen mit einem Filter für Ihre öffentliche IP-Adresse überwachen, um zu sehen