WordPress: Xml-Rpc deaktivieren und Sicherheitsrisiken minimieren

WordPress bringt eine Schnittstelle mit über welche Programme und Dienste von außerhalb auf Funktionen des Blogs zugreifen können: XML-RPC. Wir schauen uns mal genauer an, was die Schnittstelle macht und wann es sinnvoll ist diese zu deaktivieren.

Was ist die XML-RPC-Schnittstelle

WordPress bringt von Haus aus eine Schnittstelle mit, über welche verschiedene Systeme miteinander agieren können. Klingt erstmal komisch, daher hier ein Beispiel. Es gibt Programme wie z.B. den Open Live Writer der es ermöglicht offline Artikel zu erstellen und diese anschließend zu veröffentlichen.

Auch eine Verwaltung von Posts, Kommentaren und anderen Dingen ist über die Schnittstelle möglich. So verwendete auch die WordPress App für das Smartphone anfangs diese Schnittstelle. Auch Trackbacks und Pingbacks wurden darüber abgewickelt. Die Datei, welche hier verwendet wird, ist die “xmlrpc.php”.

Inzwischen gibt die WordPress Rest Api, welche XmlRpc-Schnittstelle ablöst.

Deaktivieren der XmlRpc-Schnittstelle

Sofern Du keine Software oder App verwendest, welche noch die XML-RPC-Schnittstelle verwendet, kannst Du die Schnittstelle deaktivieren. Damit umgehst Du nicht nur potenziellen Sicherheitslücken, sondern auch die “Gefahr” aufseiten wie OpenBugBounty gemeldet zu werden.

Leider gibt es in WordPress keine direkte Option die Schnittstelle zu deaktiveren. Daher zeigen wir hier Möglichkeiten dies schnell uns einfach zu tun.

Test ob XML-RPC aktiv ist

Ob XML-RPC aktiv ist können wir mit dem “WordPress XML-RPC Validation Service” verwenden. Hier geben wir die Adresse unseres Blogs ein und klicken auf “Check”.

Es erscheint eine Erfolgsmeldung.

XML-RPC ist also aktiv.

Deaktivieren mit einem Plugin

Bei WordPress gibt es für alles ein Plugin. So auch für diesen Anwendungszweck, wir installieren das Plugin “Disable XML-RPC-API” Plugin.

Eine Alternative ist das Plugin “Disable XML-RPC“, welches allerdings schon einige Zeit nicht aktualisiert worden ist.

Ein erneuter Test zeigt uns, dass ein Zugriff nun nicht mehr möglich ist.

Deaktivierung über .htaccess

Wer genau hinschaut, sieht, dass das Plugin die Schnittstelle mittels .htaccess deaktiviert. Dies können wir auch sehr leicht selbst umsetzen.

Dazu erstellen wir eine .htaccess-Datei im WordPress-Verzeichnis oder erweitern eine bestehende Datei. Hier fügen wir folgenden Inhalt ein:

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Diese Anweisung sorgt dafür, dass kein Zugriff mehr auf die “xmlrpc.php”-Datei möglich ist. Anschließend erhalten wir auch hier das gleiche Ergebnis.

Ein eigenes Plugin schreiben

Hui das klingt kompliziert, ist es aber nicht. Wir erstellen ein eines Plugin und laden dieses in unseren Plugin-Ordner. Hier der Inhalt des Beispiel-Plugins. Erstelle einfach eine Text-Datei mit der Endung .php und füge den Inhalt hinzu.

<?php
/*
Plugin Name: DA-Software XML-RPC-Disabler
Plugin URI: https://ekiwi.de
Description: Disables XML-RPC
Version: 1.0
Author: Andy Dunkel
Author URI: https://ekiwi.de
*/

add_filter( 'xmlrpc_enabled', '__return_false' );
?>

Die Zeile mit “add_filter” deaktiviert XML-RPC. Nach dem Upload kann das Plugin über die Admin-Oberfläche aktiviert werden.

Anschließend ist auch hier unsere XML-RPC-Schnittstelle deaktiviert.

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert