Was ist XML-RPC?
XML-RPC ist ein Kommunikationsprotokoll, das entfernte Prozeduraufrufe (Remote Procedure Calls) über HTTP unter Verwendung von XML ermöglicht. In WordPress ist die Schnittstelle als Datei xmlrpc.php im Stammverzeichnis der Installation implementiert.
Sie wurde ursprünglich für Anwendungsfälle eingeführt, bei denen externe Programme mit WordPress kommunizieren müssen, ohne den Browser zu nutzen:
- Beiträge per E-Mail veröffentlichen
- Mobile Apps, die direkt auf WordPress schreiben
- Externe Dienste wie Jetpack oder IFTTT
- Automatisierte Ping-Benachrichtigungen zwischen Blogs (Pingbacks/Trackbacks)
In modernen WordPress-Setups werden diese Funktionen heute größtenteils über die WordPress REST API abgewickelt, die sicherer und flexibler ist. XML-RPC gilt als veraltet.
Warum ist XML-RPC ein Sicherheitsrisiko?
Die Schnittstelle ist aus zwei Gründen ein ernstes Sicherheitsproblem:
1. Brute-Force-Angriffe mit Multiplikator
Über XML-RPC können Hunderte von Loginversuchen in einer einzigen HTTP-Anfrage gebündelt werden. Die WordPress-Methode system.multicall erlaubt es, mehrere Befehle gleichzeitig zu übermitteln. Das bedeutet: Während ein normaler Brute-Force-Angriff auf den Login-Endpunkt einzelne Anfragen schickt, kann XML-RPC Tausende Kombinationen mit einem Bruchteil der Anfragen durchprobieren.
Login-Schutzmechanismen, die fehlerhafte Loginversuche pro IP zählen, greifen hier oft nicht – weil die Versuche gebündelt in einer einzigen validen Anfrage ankommen.
2. DDoS-Angriffe über Pingbacks
Die Pingback-Funktion von XML-RPC kann missbraucht werden, um eine Zielwebsite mit Anfragen zu überfluten. Der Angreifer sendet manipulierte Pingback-Anfragen an Tausende WordPress-Websites – und lässt diese alle gleichzeitig Anfragen an das Ziel schicken. Die eigene Website wird dabei unbemerkt zum Instrument eines DDoS-Angriffs. Der Hoster kann in solchen Fällen den Account sperren – ohne dass der Betreiber selbst etwas getan hat.
Wer braucht XML-RPC noch?
Die überwältigende Mehrheit der WordPress-Websites benötigt XML-RPC nicht. Ausnahmen:
- Websites, die Jetpack nutzen (zumindest für einige Jetpack-Funktionen)
- Sehr alte mobile Apps, die noch auf XML-RPC basieren
- Spezifische Integrationen älterer Systeme
Wer keine dieser Ausnahmen hat, sollte die Schnittstelle vollständig blockieren.
Wie prüft man, ob XML-RPC aktiv ist?
Im Browser https://ihredomain.de/xmlrpc.php aufrufen. Erscheint:
- „XML-RPC server accepts POST requests only" → Schnittstelle ist aktiv und angreifbar
- „403 Forbidden" oder „404 Not Found" → Schnittstelle ist blockiert oder deaktiviert
Wie deaktiviert man XML-RPC?
Über ein Sicherheits-Plugin: Wordfence, Solid Security und viele andere Sicherheits-Plugins bieten die Option, XML-RPC direkt zu blockieren. Einfachste Methode.
Über die .htaccess-Datei (Apache-Server):
<Files xmlrpc.php>
Require all denied
</Files>
Über wp-config.php:
add_filter('xmlrpc_enabled', '__return_false');
Hinweis: Wer Jetpack oder andere XML-RPC-abhängige Dienste nutzt, kann stattdessen gezielt nur Pingbacks deaktivieren, ohne die Schnittstelle komplett zu sperren.
Fazit
XML-RPC ist eine veraltete Schnittstelle, die auf den meisten WordPress-Websites aktiv ist – obwohl sie nicht gebraucht wird. Sie öffnet Brute-Force-Angriffen eine kaum bekannte Hintertür. Die Lösung ist einfach und in wenigen Minuten umsetzbar: prüfen, ob die Schnittstelle gebraucht wird – wenn nicht, blockieren. Einen vollständigen Überblick aller Sicherheitsmaßnahmen bietet der Beitrag WordPress Sicherheitslücken: Der vollständige Leitfaden.
