Das Ende der Loginversuche auf wp-login.php

Um Bruteforce Attacken abzuschalten die stupide Passwörter und Usernamen ausprobieren ist eine schöne Lösung dies per fail2ban zu erledigen.

Leider benötigt das ssh Zugang und die entsprechenden Rechte.

Hat man diese ist das nervige herumprobieren schnell abgestellt:

1. in /etc/fail2ban/filter.d eine neue Filterregel(datei) anlegen

nano apache-wplogin.conf

[Definition]
failregex = ^<HOST> .*“POST .*/wp-login\.php HTTP.* 200 .*$
ignoreregex =

WICHTIG: bei copy&paste wird gern < und > durch &lgt; ersetzt… dann funktioniert die regex NICHT.

2. in /etc/fail2ban/jail.local folgendes ergänzen:

[apache-wplogin]
enabled = true
filter = apache-wplogin
action = iptables-multiport[name=apache-wplogin, port=“http,https“, protocol=tcp]
port = http,https
maxretry = 5
findtime = 3200
bantime = 86400
logpath = /var/www/vhosts/*/statistics/logs/access_log

logpath muss entsprechend angepasst werden. Hier ist meine config passend für Plesk. Rertry, findtime und bantime entsprechend anpassen.

Schön ist es hier wenn gerade jemand ausgiebig an der wp-login herumprobiert. Eine Konsole öffnen und per tail -F in die Logfile schauen, in der anderen Konsole „service fail2ban reload“ eintippen und freuen das der Spam stoppt 🙂

Schreibe einen Kommentar

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