WP-Fail2Ban – Auf fehlerhafte Logins reagieren

WordPress-Seiten sind sehr beliebt, was Angriffe angeht. Das ist schon alleine deshalb so, weil WordPress (WP) auf sehr vielen Seiten genutzt wird. Laut kinsta.com liegt der Marktanteil von WP (Web-Seiten) bei derzeit 37%. Ein entsprechend hoher Marktanteil macht ein Produkt natürlich auch attraktiver für Angreifer.

Wenn du die Log-Dateien deiner Webseite durchsiehst, wirst du mit Sicherheit gescheiterte Login-Versuche, XML-Attacken und ähnliches finden. Angreifer gehen in der Regel so vor, dass sie Logins gleich mehrfach versuchen. Auf solche Mehrfach-Versuche, oder aber auch einzelne Versuche können wir reagieren: via Fail2Ban.

Was ist Fail2Ban?

Fail2Ban ist ein Linux-Tool, welches fortlaufend vordefinierte Log-Dateien prüft und auf Events reagieren kann. Das Tool überwacht die Log-Dateien mittels regulärer Ausdrücke und kann in der Folge mit IPTables- und Firewall-Regeln reagieren. Das bedeutet: erkennt das Tool beispielsweise drei Fehlerhafte Login-Versuche in Folge, wird die zugehörige IP-Adresse für eine bestimmte Zeit via IPTables gesperrt.

WordPress: Admin-Account und unbekannte Accounts

In der Default-Einstellung wirst Du einen Admin-Account namens admin in deiner WP-Installation haben. Dies ist bereits eine Information für Angreifer. Der Angreifer kennt nicht, welche Accounts auf deinem System vorhanden sind, wird aber bei den meisten WP-Systemen richtig legen, wenn er einen Benutzer admin vermutet. Daher ist es bei solchen Systemen grundsätzlich eine gute Idee, den eigenen Nickname zum Admin zu machen und auf den „admin“-Account zu verzichten, bzw. diesen zu löschen. Es ist sowieso bei fast allen Systemen besser, man verbindet nicht die Funktion (Administrator) mit dem Benutzernamen (admin).

WP-Fail2Ban: Voraussetzungen

Das WP-Plugin WP-Fail2Ban wird nur dann in deiner WP-Umgebung funktionieren, wenn die Basis-Software fail2ban auf dem Server installiert ist. Wenn auf dem Server bereits fail2ban installiert ist und für WP-Fail2Ban konfiguriert ist, reicht es aus, wenn du das Plugin einfach aktivierst.
Sollte dies nicht der Fall sein, musst Du (nach der Installation von fail2ban) die Filter-Dateien in das Standard-Verzeichnis /etc/fail2ban/filter.d kopieren (wordpress-soft.conf, wordpress-hard.conf, wordpress-extra.conf).

Das gewünschte Verhalten von WP-Fail2Ban passt du dann in der Datei jail.local an.

Um zu verhindern, dass bei Software-Updates die eigenen Anpassungen überschrieben werden, kopierst du die Datei /etc/fail2ban/jail.conf nach /etc/fail2ban/jail.local. Die Datei jail.local wird bei Updates nicht überschrieben, besitzt für das Programm allerdings eine höhere Gewichtung als jail.conf. Sprich: ist auf dem System eine Datei jail.local vorhanden, wird diese anstelle der jail.conf genutzt.

Hinweis zur Anpassung der Konfigurations-Datei jail.conf

Der Datei jail.local fügst du nun folgende Zeilen an:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[wordpress-hard]
enabled = true
filter = wordpress-hard
logpath = /var/log/auth.log
maxretry = 1
port = http,https
action  = %(action_mwl)s

[wordpress-soft]
enabled = true
filter = wordpress-soft
logpath = /var/log/auth.log
maxretry = 3
port = http,https
action  = %(action_mwl)s

Die Parameter maxretry kannst Du nach eigener Vorstellung anpassen. Diese Parameter bestimmen, wie oft sich der in den Filter-Regeln festgelegte Zustand wiederholen darf. Ein Beispiel: Ein existierender Benutzer (wordpress-soft) meldet sich am Admin-Interface mit einem falschen Passwort an: Er darf drei Mal ein falsches Passwort eingeben, bevor er geblockt wird. Versucht jemand, sich als Benutzer anzumelden, den es in der WordPress-Umgebung gar nicht gibt (wordpress-hard), so wird er gleich nach dem ersten Versuch geblockt. Die genauen Regeln sind in den o.g. Filter-Dateien beschrieben.

Schreibe einen Kommentar

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

Durch die Abgabe eines Kommentars akzeptieren sie die Datenschutzerklärung von net73.de

ähnliche Beiträge