w00tw00t Scans mit fail2ban blockieren

In meinen Logfiles tauchen immer häufiger Anfragen des Schwachstellenscanners dfind auf. Kurzum: Die sollen blockiert werden! Eine einfache Möglichkeit dazu, möchte ich euch hier vorstellen.

Man erkennt die Scans an Einträge der Art 85.214.xxx.xxx - - [14/Apr/2014:23:46:37 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 172 "-" "-"  in den Logfiles eures Webservers.

Ein einfacher Weg zum blockieren der Anfragen ist fail2ban in Verbindung mit iptables. Das verhindert zwar nicht ganz die Versuche, aber restriktiv eingestellt, ist nach dem ersten Versuch Schluss.

Dazu erstellen wir im Verzeichnis /etc/fail2ban/filter.d/ die Datei wootwoot.conf mit folgendem Inhalt:

[Definition]
failregex = ^ .*"GET \/w00tw00t*
ignoreregex =

Dann muss noch die jail.conf um folgenden Block erweitert werden:

[wootwoot-scans]
enabled = true
action = iptables-allports
filter = wootwoot
logpath = /var/log/nginx/*.log
/var/log/nginx/*.1
/var/log/nginx/*.2
maxretry = 1
bantime = 2592000
findtime = 96400

Damit werden alle weiteren Zugriff der IP auf den Server für 31 Tage blockiert. Also aufpassen, dass man sich nicht selbst aussperrt. Mit einer negativen Bantime kann man eine dauerhafte Sperre einrichten, allerdings bringt das in Zeiten dynamischer IPs nicht viel. Außerdem wäre iptables nach kurzer Zeit mit Einträgen überflutet.

Wie man sieht ist der Schnipsel für nginx ausgelegt. Für den Apache findet man eine passende Konfiguration auf (im Abschnitt: Ban all DFind w00tw00t request): http://terraltech.com/secure-your-server-using-fail2ban/

Um die Konfiguration zu aktivieren muss mit dem Befehl service fail2ban restart noch fail2ban neustarten. Die blockierten Adressen kann man sich übrigens mit iptables -L anzeigen lassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert