WordPress gegen Brute Force Attacken absichern mit Fail2ban

Brute Force Attacke

Sicherheits Plugins für WordPress sind sehr beliebt, so hat fast jeder eine Liste von Must-Have-Sicherheits-Plugins auf seine WordPress Installation.

Unter all den Sicherheitsproblemen, die mit WordPress zu tun haben, hasse ich persönlich Brute Force Attacke am meisten, da diese einen immensen Schaden anrichten können. Nicht nur falls diese Attacken mal erfolg haben, nein auch der Traffic kann bei einer Großen Brute Force Attacke schnell in die Höhe gehen. Wer da keine Traffic Flatrate hat, der kommt nachher für den gesamten Traffic auf.

Brute Force Attacken werden durchgeführt um Passwörter zu knacken. In der Regel kommen dabei Hochleistungsrechner zum Einsatz mit denen es möglich ist verschiedene Passwortkombinationen in kürzester Zeit automatisch durchzuführen.

Häufig ist eine Brute Force Attacke erfolgreich, da WordPress Benutzer kurze Passwörter verwenden, damit ist die Anzahl der möglichen Kombinationen geschrumpft und das „erraten“ ist deutlich einfacher und Schneller.

Dem können wir mit Fail2Ban entgegenwirken. Fail2Ban durchsucht die Log Dateien. Werden eine bestimmte Anzahl von fehlerhaften Logins in einer kurzen Zeitspanne erkannt, so wird die entsprechende IP automatisch geblockt.

Darüber hinaus kann Fail2Ban auch andere Aktivitäten überwachen. Wer noch kein Fail2Ban installiert hat, dem kann ich folgenden Artikel empfehlen: https://www.modius-techblog.de/linux/fail2ban-richtig-unter-centos-7-installieren/

Wir erstellen unsere benutzerdefinierte Regel. Dazu legen wir auf dem Server im Ordner /etc/fail2ban/filter.d/ die Datei wp-login.conf an und füllen die mit folgendem Inhalt

# WP Brute Force Attacke Filter
[Definition]
failregex = ^ .* "POST .*wp-login.php
ignoreregex =

Die Regel fügen wir jetzt in die jail.local ein. Öffne die /etc/fail2ban/jail.local und packe am Ende der Datei folgenden Code hinzu

[wp-login]
enabled = true
port = http,https
filter = wp-login
logpath = /var/www/vhosts/your.domain.here/logs/*/access*log
maxretry = 5

Passe bitte den Wert „logpath“ an. Dort muss eure Log Datei angegeben werden. In der Regel ist das /var/log/access.log. Das ich gleich mehrere WordPress Installationen überwachen will, sieht die Zeile bei mir folgendermassen aus

logpath = /var/log/*access*log

maxretry = 5 gibt die Anzahl der Versuche an. Ich habe diesen auf 2 gestellt. Jetzt starten wir Fail2Ban neu.

service fail2ban restart

Das war es auch schon.

Schreibe einen Kommentar

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