Joomla, Apache Auth und fail2ban

Kategorie: Blog Veröffentlicht: Freitag, 23. August 2013 Drucken E-Mail

Da sich auf meinen Joomla Seiten die fehlgeschlagen Loginversuche in letzter Zeit häufen und ich sowieso fail2ban für SSH und andere Dienste nutze hab ich mir gedacht ich könnte es auch dazu nutzen, fehlgeschlagene Loginversuche in Joomla damit zu blocken. Fail2ban bringt per default eine Apache-Auth Konfiguration mit, muss man Jommla eigentlich nur noch dazu bringen fehlgeschlagene Logins ins Apache Error Log zu schreiben. Unter extension.joomla.org gibts dazu auch ein Plugin von Dimitrios Ntoulas für Joomla 2.5

Einziges Problem dabei ist, daß die default Regex von fail2ban nicht darauf greift. Im Original sieht die conf Datei unter /etc/fail2ban/filter.d/apache-auth.conf so aus

# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision$
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = apache-common.conf

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failure messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values:  TEXT
#
failregex = ^%(_apache_error_client)s user .* (authentication failure|not found|password mismatch)\s*$
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Interessant ist die Zeile failregex = ^%(_apache_error_client)s user .* (authentication failure|not found|password mismatch)\s*$. Das ist der reguläre Ausdruck, der für die Logeinträge zuständig ist. Diesen müssen wir durch einen tauschen, der auch matched.

failregex =  [[]client <HOST>[]] user .* (authentication failure|not found|password mismatch)

 Ab wievielen Fehlversuchen man die jeweilige IP wielange blockt ist Geschmachssache. Ich finde 3 Versuche sind genug, danach wird die IP für eine Stunde geblockt und gut ist. Alle Infos zu fail2ban gibts unter www.fail2ban.org

 

über mich
Michael Pfister
Autor: Michael Pfister
Seit mehr als 12 Jahren Webentwickler mit Schwerpunkt PHP, Javascript und CSS Zur Zeit arbeite ich bei T-Systems Schweiz als System Engineer mit dem Schwerpunkt Automatisierung. Und nebenbei fahr ich noch Fahrrad;-)

Zugriffe: 6903
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok