Powie
Registered User
Da das gerade in den letzten Tagen wieder gehäuft auftritt das via xmlrpc massenhaft Spam in Wordpress geschickt wird habe ich mir eine Lösung via Fail2Ban ausgedacht. Bei Plesk dabei ist ja eine Regel die die falschen Login Versuche für WP kickt, mit etwas Recherche habe ich daraus auch eine gemacht die gegen die Spam Angriffe hilft. Und das Serverweit.
Es gibt zwar auch Plugins für Wordpress gegen sowas, diese haben aber immer den Nachteil das ja erst der ganze WP Overhead geladen werden muss, die Serverlast entsteht also trotzdem. Ich habe das ganze jetzt mehrere Tage laufen und bin äußerst zufrieden damit.
Eigenen Filter definieren
Im Ordner /etc/fail2ban/filter.d die Datei anlegen: wordpress-xmlrpc.conf mit folgenden Inhalt:
Eigene Jail definieren
Im Ordner /etc/fail2ban/jail.d die Datei anlegen: wordpress-xmlrpc.conf mit dem Inhalt:
Danach Fail2ban neu starten. Das benötigt dann etwas Zeit da die ganzen neuen Logfiles erst verarbeitet werden müssen, nach ein paar Minuten aber bereits waren bei mir die ersten IP Adressen gesperrt und nach Verifizierung mit den Apache Logs funktioniert das perfekt.
Mehr Details hier: https://goo.gl/JfMtkY
Es gibt zwar auch Plugins für Wordpress gegen sowas, diese haben aber immer den Nachteil das ja erst der ganze WP Overhead geladen werden muss, die Serverlast entsteht also trotzdem. Ich habe das ganze jetzt mehrere Tage laufen und bin äußerst zufrieden damit.
Eigenen Filter definieren
Im Ordner /etc/fail2ban/filter.d die Datei anlegen: wordpress-xmlrpc.conf mit folgenden Inhalt:
Code:
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
ignoreregex =
Eigene Jail definieren
Im Ordner /etc/fail2ban/jail.d die Datei anlegen: wordpress-xmlrpc.conf mit dem Inhalt:
Code:
[wordpress-xmlrpc]
enabled = true
filter = wordpress-xmlrpc
action = iptables-multiport[name="wordpress-xmlrpc", port="http,https"]
logpath = /var/www/vhosts/system/*/logs/*access*log
maxretry = 5
bantime= 43600
Danach Fail2ban neu starten. Das benötigt dann etwas Zeit da die ganzen neuen Logfiles erst verarbeitet werden müssen, nach ein paar Minuten aber bereits waren bei mir die ersten IP Adressen gesperrt und nach Verifizierung mit den Apache Logs funktioniert das perfekt.
Mehr Details hier: https://goo.gl/JfMtkY