JPKCom Disable XML-RPC — Anleitung & Tipps
XML-RPC in WordPress mit JPKCom Disable XML-RPC global abschalten — Installation, Voraussetzungen und Sicherheits-Tipps.
JPKCom Disable XML-RPC schaltet die XML-RPC-Schnittstelle von WordPress global ab. Sinnvoll, wenn du diese alte Remote-Schnittstelle nicht brauchst und ihre Angriffsfläche schließen möchtest.
Anleitung
Voraussetzungen
- WordPress 6.9 oder neuer (getestet bis WordPress 7.1)
- PHP 8.3 oder neuer
Installation
- Gehe im Admin-Bereich zu Plugins → Installieren und klicke auf Plugin hochladen.
- Wähle die ZIP-Datei des Plugins und klicke auf Jetzt installieren.
- Klicke auf Aktivieren.
Wie es wirkt
Es gibt keine Einstellungsseite — sobald das Plugin aktiv ist, deaktiviert es XML-RPC für die gesamte Installation:
- Anfragen an
xmlrpc.phpwerden mit HTTP 403 und einem XML-RPC-Fault beantwortet. Clients bekommen damit eine auswertbare Absage statt einer stummen, leeren Antwort. - Das Flag
xmlrpc_enabledist aus, die Methodenliste leer, und die Instanziierung der XML-RPC-Server-Klasse wird als letzte Absicherung blockiert. - Die Site bewirbt den Endpunkt nicht mehr: Weder der HTTP-Header
X-Pingbacknoch ein<link rel="pingback">-Tag werden noch ausgegeben.
Wichtig: Pingbacks laufen über XML-RPC und werden daher nicht mehr angenommen. Weil WordPress beide Mechanismen an derselben
pings_open()-Prüfung festmacht, werden auch Trackbacks abgewiesen.
Tipps & Tricks
- Angriffsfläche reduzieren: XML-RPC ist eine häufige Anlaufstelle für Brute-Force- und Pingback-Angriffe. Wenn du keine Dienste nutzt, die XML-RPC zwingend brauchen, kannst du die Schnittstelle bedenkenlos abschalten.
- Vorher prüfen, was XML-RPC nutzt: Manche externe Dienste oder ältere App-Anbindungen sprechen WordPress noch über XML-RPC an. Stelle sicher, dass du keine solche Integration im Einsatz hast, bevor du global abschaltest.
- Trackbacks mitgedacht: Wenn du Trackbacks bewusst weiter nutzen willst, ist dieses Plugin die falsche Wahl — sie fallen seit Version 1.0.9 zusammen mit den Pingbacks weg.
- 403 statt 200 seit 1.0.9: Bis Version 1.0.8 antwortete
xmlrpc.phpmit einem nackten HTTP 200 und leerem Body statt der dokumentierten 403. Wenn du das Abschalten per Monitoring oder Security-Scan prüfst, erwartet dein Test ab 1.0.9 also einen anderen Statuscode. - Reproduzierbare Updates: Ab Version 1.0.2 nutzt das Plugin sichere, selbst gehostete Updates über GitHub mit SHA256-Prüfsummen, arbeitet mit
declare(strict_types=1), typisiert die Callbacks und säubert den Zugriff auf$_SERVER. Seit 1.0.10 trägt es außerdem den HeaderUpdate URI: Die Update-Schnittstelle von wordpress.org liefert für dieses Plugin dann keine Updates mehr, ein dort veröffentlichtes Plugin mit demselben Slug kann sich also nicht als Update ausgeben. Seit 1.0.11 zeigt Dashboard → Aktualisierungen das JPKCom-Logo als Plugin-Icon. Seit 1.0.12 (Updater 1.5.0) bekommt das Plugin Updates auch im deaktivierten Zustand angeboten — sofern ein anderes JPKCom-Plugin mit Updater ab 1.5.0 aktiv ist, auf Multisite netzwerkweit oder auf der Hauptseite: Ein geladener Updater bedient alle installierten JPKCom-Plugins mit Update-Zeile, Icon und „Details anzeigen“, die SHA256-Prüfung gilt dabei genauso. Die gespeicherte Update-Liste enthält keine JPKCom-Download-Adressen mehr; sie kommen nur zurück, solange ein JPKCom-Updater geladen ist, sodass sich ohne ihn kein ungeprüftes Paket installieren lässt. Die Prüfung verifiziert außerdem Pakete, die ein anderes Plugin bereitstellt, und erkennt jede GitHub-Adresse einer Release-Datei. Ein Git- oder anderer Versionskontroll-Checkout und ein umbenannter Ordner (etwajpkcom-disable-xmlrpc-main) werden nie über WordPress aktualisiert — das Update würde den Checkout bzw. den Ordner löschen. Von neuen Versionen erfahren sie trotzdem, ein umbenannter Ordner allerdings nur, solange das Plugin aktiv ist. Update-Infos holt der Updater nur für Konten, die Plugins aktualisieren dürfen, im Update-Cron und in WP-CLI, nie für anonyme Besucher. - Alles in einem Plugin: JPKCom Harden & Trim enthält seit Version 1.1.0 den Schalter „XML-RPC deaktivieren“, der sich wie dieses Plugin in Version 1.0.10 verhält und dort ab Werk eingeschaltet ist, dazu 40 weitere Einstellungen für Sicherheit, Datenschutz und Performance. Beide parallel zu betreiben schadet nicht.
Weiterführende Informationen
- Quellcode auf GitHub: https://github.com/JPKCom/jpkcom-disable-xmlrpc (öffnet in neuem Tab)
- API-Dokumentation (PHPDoc): https://jpkcom.github.io/jpkcom-disable-xmlrpc/docs/ (öffnet in neuem Tab)
- Changelog dieses Projekts