Was ist xmlrpc.php in WordPress und wie man es deaktiviert (Vollständiger 2024-Leitfaden)
WordPress betreibt über 43% aller Websites im Internet – und mit dieser Dominanz kommt eine erhebliche Angriffsfläche. Einer der am häufigsten ausgebeuteten Einstiegspunkte ist eine Datei namens xmlrpc.php. Egal ob Sie ein erfahrener Entwickler oder ein Website-Besitzer sind, der Ihre erste WordPress-Installation verwaltet – das Verständnis dafür, was diese Datei tut, warum sie gefährlich ist und wie man sie deaktiviert, ist entscheidend für die Sicherheit Ihrer Website.
Dieser Leitfaden behandelt alles, was Sie über xmlrpc.php wissen müssen: ihren Zweck, die realen Bedrohungen, die sie mit sich bringt, und drei bewährte Methoden, um sie zu deaktivieren – ohne dass ein technischer Abschluss erforderlich ist.
Was ist xmlrpc.php in WordPress?
xmlrpc.php ist eine WordPress-Kerndatei, die das XML-RPC-Protokoll implementiert – ein Remote-Procedure-Call-System (RPC), das XML zum Codieren von Aufrufen und HTTP als Transportmechanismus verwendet. In einfachen Worten ermöglicht es externen Anwendungen und Diensten, mit Ihrer WordPress-Website zu kommunizieren, ohne die Standard-Webbrowser-Schnittstelle zu verwenden.
Eingeführt lange bevor die WordPress REST API existierte, war xmlrpc.php die primäre Brücke zwischen WordPress und der Außenwelt. Sie ermöglichte:
- Remote-Inhaltsveröffentlichung – Blog-Clients wie Windows Live Writer oder MarsEdit konnten Artikel direkt auf Ihrer Website veröffentlichen.
- Mobile App-Verwaltung – Die offizielle WordPress-Mobile-App war historisch auf XML-RPC angewiesen, um Beiträge, Seiten und Kommentare zu verwalten.
- Trackbacks und Pingbacks – Das Protokoll verwaltet Benachrichtigungen zwischen Websites und benachrichtigt andere Blogs, wenn Sie auf deren Inhalte verlinken.
- Integrationen von Drittanbietern – Dienste wie IFTTT, Zapier (in älteren Konfigurationen) und verschiedene Plugins verwendeten XML-RPC, um programmgesteuert mit WordPress zu interagieren.
Während diese Funktionen in den frühen 2010er Jahren wirklich nützlich waren, hat WordPress seitdem die REST API eingeführt, die eine sicherere, modernere und flexiblere Möglichkeit bietet, die gleichen Ergebnisse zu erzielen. Infolgedessen ist xmlrpc.php jetzt weitgehend veraltet – bleibt aber standardmäßig auf jeder WordPress-Installation aktiv.
Warum ist xmlrpc.php ein Sicherheitsrisiko?
Das Problem mit xmlrpc.php ist nicht das Protokoll selbst – es ist, dass die Datei aktiviert bleibt, auch wenn Sie sie nicht verwenden, was einen unnötigen Angriffsvektor schafft. Sicherheitsforscher und Hosting-Anbieter kennzeichnen sie durchgehend als eine der Top-WordPress-Schwachstellen. Hier ist warum:
1. Brute-Force-Verstärkungsangriffe
Dies ist die gefährlichste und am weitesten verbreitete ausgebeutete Bedrohung. Standard-Brute-Force-Angriffe gegen die WordPress-Anmeldeseite sind auf einen Anmeldeversuche pro HTTP-Anfrage begrenzt. XML-RPC ändert dies dramatisch.
Die system.multicall-Methode in XML-RPC ermöglicht es einem Angreifer, Hunderte oder sogar Tausende von Benutzername/Passwort-Kombinationen in einer einzigen HTTP-Anfrage zu bündeln. Das bedeutet:
- Traditionelle Rate-Limiting- und Login-Versuch-Plugins werden umgangen.
- Angreifer können enorme Anmeldedatenlisten mit minimaler Bandbreite testen.
- Server-Logs zeigen weit weniger Anfragen, was die Erkennung erschwert.
Ein einzelnes Botnetz kann eine WordPress-Website mit einem schwachen Passwort in Minuten mit dieser Technik kompromittieren.
2. DDoS-Verstärkung über Pingbacks
Angreifer können die Pingback-Funktionalität in xmlrpc.php ausnutzen, um Ihre WordPress-Website in einen unwillkürlichen Teilnehmer an einem verteilten Denial-of-Service-Angriff (DDoS) zu verwandeln. Durch das Senden einer speziell gestalteten Pingback-Anfrage kann ein böswilliger Akteur Ihren Server anweisen, HTTP-Anfragen an eine Ziel-URL zu senden – und damit die Ressourcen und IP-Reputation Ihres Servers gegen einen Dritten einzusetzen.
Dies schadet nicht nur dem Angriffsziel, sondern kann auch dazu führen, dass die IP Ihres Servers auf die schwarze Liste gesetzt wird, was die Zustellbarkeit und den Ruf Ihrer Website beeinträchtigt.
3. Erschöpfung von Serverressourcen
Auch ohne einen koordinierten Angriff ist xmlrpc.php ein häufiges Ziel für automatisierte Scan-Bots, die nach Schwachstellen suchen. Diese ständigen Scans verbrauchen CPU-Zyklen, Speicher und Bandbreite – Ressourcen, die Ihren legitimen Besuchern dienen sollten. Besonders in Shared-Hosting-Umgebungen kann dies die Website-Leistung merklich beeinträchtigen.
4. Unnötige Exposition
Wenn Sie keine Remote-Publishing-Tools, Mobile Apps, die XML-RPC erfordern, oder Legacy-Integrationen von Drittanbietern verwenden, bietet xmlrpc.php keinen Nutzen für Ihre Website, während gleichzeitig eine vollständig aktive Angriffsfläche beibehalten wird. Das Prinzip der geringsten Berechtigung in der Sicherheit besagt: Wenn Sie es nicht brauchen, deaktivieren Sie es.
Benötigen Sie xmlrpc.php wirklich?
Bevor Sie es deaktivieren, fragen Sie sich:
| Anwendungsfall | Benötigt noch XML-RPC? |
|---|---|
| WordPress-Mobile-App (modern) | ❌ Nein – verwendet REST API |
| Jetpack-Plugin | ⚠️ Teilweise – Jetpack-Dokumentation überprüfen |
| WooCommerce | ❌ Nein |
| IFTTT / Zapier-Integrationen | ❌ Nein – REST API oder Webhooks verwenden |
| Windows Live Writer / MarsEdit | ✅ Ja – Legacy-Clients |
| Pingbacks / Trackbacks | ❌ Nein – können separat deaktiviert werden |
Für die überwiegende Mehrheit der WordPress-Website-Besitzer lautet die Antwort: Sie brauchen es nicht. Deaktivieren Sie es.
So deaktivieren Sie xmlrpc.php in WordPress: 3 Methoden
Es gibt drei zuverlässige Methoden, um xmlrpc.php zu deaktivieren, die von anfängerfreundlich bis auf Serverebene reichen. Wählen Sie diejenige, die am besten zu Ihrem technischen Komfortniveau und Ihrer Hosting-Umgebung passt.
Methode 1: Verwenden Sie ein WordPress-Sicherheits-Plugin (am einfachsten)
Wenn Sie eine Code-freie Lösung mit minimalem Risiko wünschen, dass etwas kaputt geht, ist ein Sicherheits-Plugin Ihr bester Ausgangspunkt.
Empfohlene Plugins:
- Wordfence Security – Umfassende Firewall und Malware-Scanner mit XML-RPC-Blockierung.
- iThemes Security (jetzt Solid Security) – Dedizierter Toggle zum Deaktivieren von XML-RPC.
- Disable XML-RPC – Ein leichtgewichtiges, spezielles Plugin, das genau das tut, was es sagt.
Schritt für Schritt:
- Melden Sie sich bei Ihrem WordPress-Admin-Dashboard an.
- Navigieren Sie zu Plugins → Neu hinzufügen.
- Suchen Sie nach Ihrem gewählten Plugin (z. B. „Disable XML-RPC”) und klicken Sie auf Jetzt installieren, dann Aktivieren.
- Gehen Sie zur Einstellungsseite des Plugins. Für dedizierte Sicherheits-Plugins wie Wordfence oder iThemes Security suchen Sie nach einem Abschnitt mit der Bezeichnung XML-RPC oder WordPress-Tweaks.
- Aktivieren Sie die Option zum Deaktivieren von XML-RPC oder Blockieren von XML-RPC-Anfragen.
- Speichern Sie Ihre Änderungen.
Vorteile: Einfach, rückgängig zu machen, keine Dateibearbeitung erforderlich.
Nachteile: Fügt eine Plugin-Abhängigkeit hinzu; die Datei existiert immer noch auf dem Server (Anfragen werden auf Anwendungsebene blockiert, nicht auf Serverebene).
Methode 2: Blockieren Sie xmlrpc.php über .htaccess (empfohlen für Apache-Server)
Für Apache-basierte Hosting-Umgebungen blockiert das Bearbeiten der .htaccess-Datei Anfragen auf der Webserver-Ebene – bevor WordPress überhaupt geladen wird. Dies ist effizienter und bietet stärkeren Schutz als ein Plugin allein.
Schritt für Schritt:
- Greifen Sie auf die Dateien Ihrer Website zu über FTP (mit FileZilla oder ähnlich) oder über den Datei-Manager Ihres Hosting-Control-Panels.
- Navigieren Sie zu Ihrem WordPress-Root-Verzeichnis – dies ist typischerweise public_html oder www.
- Suchen Sie die .htaccess-Datei. Wenn Sie sie nicht sehen können, aktivieren Sie versteckte Dateien in Ihrem FTP-Client (in FileZilla: Server → Versteckte Dateien anzeigen erzwingen) oder in den Einstellungen Ihres Datei-Managers.
- Öffnen Sie .htaccess zur Bearbeitung und fügen Sie den folgenden Block am Ende der Datei hinzu:
# Block xmlrpc.php
<files xmlrpc.php>
order allow,deny
deny from all
</files>
- Speichern Sie die Datei und schließen Sie Ihren Editor.
Um zu überprüfen, ob es funktioniert, besuchen Sie yoursite.com/xmlrpc.php in Ihrem Browser. Sie sollten einen 403 Forbidden-Fehler erhalten, anstatt der Standard-XML-RPC-Antwort.
Vorteile: Server-Level-Blockierung ist effizienter; reduziert Serverauslastung; kein Plugin erforderlich.
Nachteile: Erfordert Dateizugriff; falsche .htaccess-Bearbeitungen können Ihre Website vorübergehend unterbrechen (erstellen Sie immer ein Backup).
> Pro-Tipp: Wenn Ihr Hosting Nginx anstelle von Apache verwendet, fügen Sie stattdessen Folgendes zu Ihrer Nginx-Serverblockkonfiguration hinzu:
>
> location = /xmlrpc.php {
deny all;
}
Methode 3: Deaktivieren über functions.php (WordPress-Filter-Hook)
Diese Methode verwendet einen WordPress-Filter, um XML-RPC-Funktionalität programmgesteuert aus dem Theme oder einem benutzerdefinierten Plugin zu deaktivieren. Es ist eine saubere, codebasierte Lösung, die auf der WordPress-Anwendungsebene funktioniert.
Schritt für Schritt:
Option A – über Theme-Editor (schnell, aber nicht für die Produktion empfohlen):
- Gehen Sie in Ihrem WordPress-Dashboard zu Erscheinungsbild → Theme-Editor.
- Wählen Sie functions.php aus der Dateiliste auf der rechten Seite.
- Fügen Sie den folgenden Code am Ende der Datei hinzu:
add_filter('xmlrpc_enabled', '__return_false');
- Klicken Sie auf Datei aktualisieren, um zu speichern.
Option B – über ein benutzerdefiniertes Plugin (empfohlen):
Anstatt die functions.php Ihres Themes zu bearbeiten (die bei Theme-Updates überschrieben wird), erstellen Sie ein einfaches benutzerdefiniertes Plugin:
- Navigieren Sie mit FTP oder Datei-Manager zu wp-content/plugins.
- Erstellen Sie einen neuen Ordner namens disable-xmlrpc.
- Erstellen Sie darin eine Datei namens disable-xmlrpc.php mit folgendem Inhalt:
<?php
/*
Plugin Name: Disable XML-RPC
Description: Disables XML-RPC functionality
Version: 1.0
*/
add_filter('xmlrpc_enabled', '__return_false');
?>
- Gehen Sie zu Plugins → Installierte Plugins in Ihrem Dashboard und aktivieren Sie Disable XML-RPC.
Vorteile: Sauber, Theme-unabhängig (bei Verwendung der benutzerdefinierten Plugin-Methode); leicht rückgängig zu machen.
Nachteile: Nur auf Anwendungsebene – die Datei existiert immer noch und kann Anfragen empfangen (obwohl diese abgelehnt werden); reduziert die Serverauslastung nicht so effektiv wie .htaccess-Blockierung.
Kombinieren Sie Methoden für maximale Sicherheit
Für den stärksten Schutz kombinieren Sie Methode 2 (.htaccess) mit Methode 3 (Filter-Hook):
- Die .htaccess-Regel blockiert Anfragen auf Serverebene und reduziert die Auslastung.
- Der Filter-Hook stellt sicher, dass XML-RPC deaktiviert bleibt, auch wenn die .htaccess-Regel jemals umgangen oder überschrieben wird.
Dieser mehrschichtige Ansatz folgt dem Sicherheitsprinzip der Defense in Depth – mehrere unabhängige Kontrollen schützen das gleiche Asset.
Überprüfen Sie, ob xmlrpc.php erfolgreich deaktiviert wurde
Nachdem Sie Ihre gewählte Methode angewendet haben, bestätigen Sie, dass sie funktioniert:
- Browser-Test: Besuchen Sie yoursite.com/xmlrpc.php. Eine erfolgreiche Blockierung zeigt einen 403 Forbidden– oder 404 Not Found-Fehler.
- Online-XML-RPC-Checker: Verwenden Sie ein Tool wie xmlrpc.eritreo.it, um zu testen, ob der XML-RPC-Endpunkt Ihrer Website antwortet.
- Server-Logs: Überprüfen Sie Ihre Zugriffslogs auf verbleibende Anfragen an xmlrpc.php – ein plötzlicher Rückgang bestätigt, dass die Blockierung funktioniert.
Wählen Sie das richtige Hosting für WordPress-Sicherheit
Das Deaktivieren von xmlrpc.php ist nur eine Sicherheitsebene. Die Grundlage einer sicheren WordPress-Website beginnt mit der Wahl des richtigen Hosting-Anbieters – eines, der Sicherheitskontrollen auf Serverebene, regelmäßige Backups und eine Infrastruktur bietet, die Angriffen standhalten kann.
Bei AlexHost ist WordPress-Sicherheit in den Hosting-Stack integriert. Egal ob Sie einen persönlichen Blog oder eine hochfrequente Business-Website betreiben – der richtige Plan macht einen großen Unterschied:
- VPS-Hosting – Vollständiger Root-Zugriff ermöglicht es Ihnen, Sicherheitskonfigurationen auf Serverebene zu implementieren, einschließlich benutzerdefinierter Nginx- oder Apache-Regeln zum Blockieren von xmlrpc.php auf Infrastrukturebene. Ideal für Entwickler und wachsende Websites, die granulare Kontrolle benötigen.
- Shared Web Hosting – Ein kostengünstiger Einstiegspunkt für WordPress-Websites mit verwalteten Sicherheitskonfigurationen und einfachem Zugriff auf .htaccess-Bearbeitung über das Control Panel.
- VPS mit cPanel – Kombiniert die Leistung eines virtuellen privaten Servers mit der vertrauten cPanel-Schnittstelle, was es unkompliziert macht, .htaccess-Dateien, SSL-Zertifikate und Sicherheitseinstellungen ohne Befehlszeilenkenntnisse zu verwalten.
- SSL-Zertifikate – Das Verschlüsseln Ihrer Website mit HTTPS ist eine unverzichtbare Sicherheitsgrundlage. Ein SSL-Zertifikat stellt sicher, dass selbst wenn XML-RPC-Anfragen gestellt werden, Anmeldedaten und übertragene Daten während der Übertragung verschlüsselt sind.
- Domain-Registrierung – Halten Sie Ihre Domain und Ihr Hosting an einem Ort für vereinfachte DNS-Verwaltung und reduzierte Angriffsfläche durch Schwachstellen von Drittanbieter-Registraren.
Die Kombination einer starken Hosting-Infrastruktur mit Härtung auf Anwendungsebene wie dem Deaktivieren von xmlrpc.php gibt Ihrer WordPress-Website eine robuste, mehrschichtige Sicherheitslage.
Häufig gestellte Fragen
Wird das Deakt
