Angriff auf XML-RPC zwingt WordPress in die Knie

Praxis & Tipps | Tipps & Tricks

Ich betreibe einen Webserver mit mehreren WordPress-Seiten. Seit einigen Tagen bricht meine Seite immer wieder zusammen. Nginx meldet bei Anfragen nach längerer Zeit „502 Bad Gateway“ oder „504 Gateway Timeout“. Nginx selbst läuft ohne Probleme weiter und liefert klaglos statischen Content wie etwa Bilder aus, wenn man diese direkt aufruft. Auch MySQL scheint keine Probleme zu machen. Aus diesem Grund habe ich vermutet, dass FastCGI das Problem ist. Wenn ich dessen Prozess neu starte, läuft die Seite für ein paar Minuten und stürzt dann wieder ab. Das Ganze sieht wie ein DDoS-Angriff aus, aber bei meinem Server geht nicht mehr Traffic als gewöhnlich ein. Was ist hier los?

Unter Umständen sind Sie Opfer eines Angriffs auf die XML-RPC-Schnittstelle von WordPress geworden. Diese wird genutzt, um Pingbacks von anderen Blogs entgegenzunehmen und um von mobilen Apps zu bloggen. Durch Schwachstellen im verwendeten XML-Protokoll kann diese Schnittstelle mit relativ wenig Traffic so manipuliert werden, dass sie den CGI-Prozess von PHP auslastet, ohne dass er abstürzt. Das führt zu den beschriebenen Symptomen und die Seite ist nicht mehr erreichbar.

Testen können Sie diese Theorie ganz einfach: Benennen Sie die Datei xmlrpc.php im Hauptverzeichnis von WordPress um oder verschieben Sie diese. Bleibt Ihre Seite dann verschont, war ein XML-RPC-Angriff der Übeltäter. Sie sollten dann als dauerhafte Lösung diese Schnittstelle abschalten. Leider geht das ab WordPress 3.5 nicht mehr im Admin-Interface der Software, sondern muss über die Zeile

add_filter('xmlrpc_enabled', '__return_false');

in der Datei wp_config.php geschehen. Diese müssen sie manuell direkt nach der Zeile

require_once(ABSPATH . 'wp-settings.php');

einfügen. Ein kleines Plug-in, das den selben Job macht, finden Sie unter dem c’t-Link.

(fab@ct.de)

Artikel kostenlos herunterladen

weiterführende Links

Anzeige
Anzeige