Fail2Ban
Worum geht es?
Fail2Ban ist ein Filter zur Abwehr von unerwünschtem Netzwerkverkehr, insbesondere Hacking-Versuche und unfreundliche Bots.
Was nutze ich?
Auf meinen
Wiki-Server nutze ich verschiedene Filter, unter anderem denjenigen gegen Brute-Force-SSL-Angriffe. Daneben habe ich auch eigene Filter für den eingehenden https-Verkehr aufgestellt:
robots.txt missachtende Bots
Die Zahl von Crawlern, die sich nicht an die Regeln von robots.txt hält, nimmt zu. Ich habe deshalb einen Mini-Honeypot in Form einer URL ins Wiki gepackt, die menschliche User nicht sehen, Crawler aber sehr wohl. Der Abruf dieser Datei wird per
robots.txt verboten. Wer die URL trotzdem abruft, wird für eine Stunde vom Server ausgesperrt.
(Wer also anderes tun sollte, als diese Seite lesen, kann den Link
https://wiki.doebe.li/ich-will-keine-bots anklicken und bekommt dann für 60 Minuten keine Antworten mehr von diesem Webserver...)
Hacking-Versuche
In diesem Filter sammle ich typische Anfragen von automatisierten Hacking-Versuchen. Eine IP-Adresse, die eine solche Anfrage stellt, wird für 24h gesperrt. Hilft mindestens gegen überflüssigen Traffic, der meinen Wikiserver belastet.
^.* .*"GET /.git.*$
^.* .*"GET /_phpmyadmin.*$
^.* .*"GET /admin.*$
^.* .*"GET /alive.php.*$
^.* .*"GET /app.*$
^.* .*"GET /?phpshells.*$
^.* .*"GET /backend.*$
^.* .*"GET /backup.*$
^.* .*"HEAD /backup.*$
^.* .*"GET /cgi-bin.*$
^.* .*"GET /core.*$
^.* .*"GET /credentials.*$
^.* .*"GET /dev/.*$
^.* .*"GET /home/.*$
^.* .*"GET /images.*$
^.* .*"GET /mysql/.*$
^.* .*"GET /php.*$
^.* .*"GET /old.*$
^.* .*"HEAD /old.*$
^.* .*"GET /sql.*$
^.* .*"GET /test/.*$
^.* .*"GET /wp.*$
^.* .*"HEAD /wp.*$
^.* .*"GET /wordpress.*$
^.* .*"HEAD /wordpress.*$