Nov 152016
 

Fail2ban ist ein flexibles Intrusion Prevention System. In diesem Fall sollen Angriffe auf eine Typo3-Installation erkannt und geblockt werden.

Achtung: Die folgende Lösung zählt auch erfolgreiche Logins als Fehler und ist daher nur geeignet, wenn man IPs, von der viele erfolgreiche Logins zu erwarten sind, in /etc/fail2ban/jail.conf mit ignoreip ignoriert und gute Werte für findtime und maxretry findet, um eine noch zulässige Anzahl Logins von anderen IPs zu ermöglichen. Für Angriffe von ausgeschlossenen IPs besteht dann natürlich kein Schutz, was akzeptabel sein kann, wenn es “hausinterne” sind.

Zunächst als Datei /etc/fail2ban/filter.d/apache-typo3.conf einen neuen Filter anlegen:


[Definition]
failregex = ^<HOST> .*"POST .*loginProvider.*
ignoreregex =

In /etc/fail2ban/jail.local anlegen/hinzufügen:

[apache-typo3]
enabled = true
port = http,https
filter = apache-typo3
logpath = /var/www/logs/*access_log*

Hinweis: Fail2ban wird nicht wie erwartet funktionieren, wenn die Zeitzone der Einträge in den Logfiles eine andere ist, als die unter der fail2ban läuft. Nach Ändern der Zeitzone (dpkg-reconfigure tzdata) zudem nicht vergessen, den Apache neu zu starten. Ein Punkt, der mich Stunden Fehlersuche gekostet hat. Eine andere Falle kann sein, dass backend = auto in /etc/fail2ban/jail.conf auf bestimmten Systemen nicht funktioniert. Hier sollte backend = polling immer funktionieren.

 Leave a Reply