Fail2ban ist eine Wissenschaft. (Artikel von 2010-02-21 19:00)
Naja, nicht wirklich. Aber die Regular Expression sind es. Einfache Dinge gehen mir mittlerweile gut von der Hand, aber die Lücken sind größer als die Wissensinseln. Wenn man sich allerdings den Wikipedia Artikel ansieht kann man schon zu den Schluß kommen, das es die Regex eine Wissenschaft sind. Für mich sind sie das auch. Anders ist es nicht zu erklären, das ich Stunden brauchte, bis ich den Ausdruck für pure-ftpd richtig erstellt hatte.
Doch wie testet man das eigentlich richtig? Dafür hat fail2ban das tool fail2ban-regex mitgeliefert
Der korrekte Aufruf erschließt sich nicht sofort. Der richtige Aufruf lautet:
fail2ban-regex logfile 'regexp'
pure-ftpd(?:\[\d+\])?: \(.+?@<HOST>\) \[WARNING\] %(__errmsg)s \[.+\]\s*$Für sasl sieht es so aus
: warning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: \w+Update 27.8.2011:
weil die ewige Sucherei nach irgendwelchen lücken in Programmen, die ich gar nicht installiert habe, mich a) nervt und b) unnötig das error.log vollmüllt, habe ich nun mittlerweile dieses hier:
fail2ban-regex /tmp/v '[[]client (?P<host>\S*)[]] File does not exist: .*\.php'
Wo /tmp/v ein Ausschnitt eines Apachelogs ist, wo einige der Fehler gehäuft auftreten.
Der regexp Ausdruck in den ' ' ist exakt der Ausdruck, der in die Jail Datei in /etc/fail2ban/filter.d/ gehört.
Noch der Hinweis, das hinter dem regexp in der Datei kein space sein darf, es gehört sonst zum Ausdruck.
Happy Hacking!
Seit einiger Zeit beobachtete ich erneut eine Riesenlast auf dem Apache Server. Eine unserer Webseiten wurde massiv von http HEAD Anfragen überhäuft. 60000 http HEAD Requests. Die aufgerufene Seite ist immer - wie sollte es auch anders sein - ein Joom
Tracked: Feb 20, 12:03