In den letzten Wochen sind diverse meiner Blogs angegriffen worden über die xmlrpc-Schnittstelle. Diese Schnittstelle ist ja eigentlich dafür gedacht, dass man Pingbacks von anderen Blogs empfangen kann. Sie wird aber auch von externen Blog-Editoren genutzt. Angreifer nutzen nun diese Schnittstelle, um entweder andere Seiten anzugreifen oder aber eben Zugriff zu dem jeweiligen Blog zu erhalten.
Bislang habe ich mir damit beholfen, dass ich die Datei einfach umbenannt habe. Da hat mich zwar vor Angriffen geschützt, aber leider nicht dafür gesorgt, dass die Angreifer mit ihren Attacken meinen Server immer wieder zu hohen Lasten geflooded haben. Nun habe ich mir heute endlich mal die Zeit genommen und ein bisschen recherchiert. Und siehe da, es gibt eine sehr sinnvolle Lösung, die auch schnell umgesetzt ist.
Zum einen installiert man sich auf dem Server das Paket fail2ban. Das Phyton-basierte Script kontrolliert laufend diverse LOG-Dateien und schützt den Server mit Hilfe von diversen vorkonfigurierten Regelwerken. In Verbindung mit dem WordPress Plugin WP fail2ban bekommt man ein weiteres Regelwerk an die Hand. Das Plugin sorgt selbst dafür, dass bösartige Login-Versuche und XMLRPC-Zugriffe protokolliert werden. Das Regelwerk von fail2ban wiederum wertet diese aus und unterbindet die entsprechenden Zugriffe.
Wunderbar. Und auch schön einfach.