fail2ban: DDOS xmlrpc.php Angriffe auf Webseiten (WordPress) abwehren

Ich durchsuche alle 2 Stunden meine access.log Files vom Apache Server nach POST Einträgen um Angriffe möglichst schnell zu erkennen mit folgendem Befehl:

grep POST /var/www/vhosts/*/logs/access_log | awk ‘{print $1,” ” ,$7}’ >> checkfile.txt

Das Ergebnis waren dann diese Einträge:
/var/www/vhosts/kh2004.de/logs/access_log:74.208.202.39 /xmlrpc.php
/var/www/vhosts/kh2004.de/logs/access_log:74.208.202.39 /xmlrpc.php
/var/www/vhosts/kh2004.de/logs/access_log:74.208.202.39 /xmlrpc.php
/var/www/vhosts/kh2004.de/logs/access_log:74.208.202.39 /xmlrpc.php
/var/www/vhosts/kh2004.de/logs/access_log:74.208.202.39 /xmlrpc.php
und viele weitere… Versuche!

Um solche Angriffe durch fail2ban zukünftig zu blocken fand ich im Internet diese funktionierende! Lösung:

Im Verzeichnis /etc/fail2ban befindet sich die jail.local
1.) Diese Datei editieren wir mit dem Befehl:

vi /etc/fail2ban/jail.local

und fügen folgenden Text Abschnitt (zwischen die anderen Regeln) ein:

[xmlrpc]
enabled = true
filter = xmlrpc
action = iptables-allports[blocktype=”DROP”, name=”xmlrpc”, protocol=”tcp”, chain=”INPUT”]
logpath = /var/www/vhosts/*/logs/*log
findtime = 300000
bantime = 43600
maxretry = 4


Speichern!

Erklärung:
enabled=true – eingeschaltet / aktiv
filter – wie der filter heissen soll
action – iptables soll alle ports blocken / DROP soll komplette IP abweisen, name soll xmlrpc sein, in eine vorhanden Chain: Input einfügen
findtime – Rücksuche im Logfile in Sekunden?
bantime – IP Sperre in Sekunden
maxretry – wie viele Versuche bevor geblockt

2.) Anschliessend erzeugen wir im Ordner /etc/fail2ban/filter.d/xmlrpc.conf
mit dem Befehl:
vi /etc/fail2ban/filter.d/xmlrpc.conf

In diese Datei kommt dann der folgende Text:
#Config File für xmlrpc Angriffe auf Webseiten
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
ignoreregex =

Anschliessend sollte man den fail2ban neu starten:
/etc/init.d/fail2ban restart

Schaut ins Logfile des fail2ban ob alles geklappt hat:
cat /var/log/fail2ban.log | more

 

 

Schreibe einen Kommentar

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