Fragen.
Antworten.

XML-RPC Schnittstelle deaktivieren

Wofür ist die WordPress-eigene XML-RPC Schnittstelle (xmlrpc.php) sinnvoll (gewesen) und sollte ich sie jetzt nicht besser deaktivieren?

Wie das funktioniert und warum die Abschaltung sinnvoll ist, erkläre ich in diesem Artikel.

 

Was ist eine XML-RPC Schnittstelle?

Wenn Dich das nicht interessiert, springe gleich zu "Wie kann ich xmlrpc.php deaktivieren?".

XML-RPC gibt es bereits seit 1998 und steht für Extensible Markup Language Remote Procedure Call. Damit waren Remote-Aufrufe in Computer-Netzwerken mit XML und HTTP möglich.

Auch WordPress nutzt XML-RPC, zum einen für die Kommunikation zwischen WordPress und anderen Blogging-Plattformen, aber auch für die Kommunikation zwischen WordPress-System und WordPress Smartphone-App. Und wegen dieser Smartphone-App ist die Schnittstelle standardmäßig auch immer aktiviert.

Und obwohl die REST API als neue, zeitgemäße und viel sicherere Schnittstelle die XML-RPC längst abgelöst hat, ist sie aus Gründen der Abwärtskompatibilität immer noch Bestandteil von aktuellen WordPress-Versionen.

 

Wie Warum kann ich xmlrpc.php deaktivieren?

Vor der Frage "Wie?" steht noch die Frage "Warum?".
Wenn in Deiner WordPress-Umgebung diese Schnittstelle nicht mehr genutzt wird und die Umstellung auf die REST API vollständig erfolgt ist, solltest Du die xmlrpc.php unbedingt deaktivieren.

Die Tatsache, dass sie nicht mehr benötigt wird, ist eigentlich Grund genug.

Aber auch das Thema Sicherheit ist immer wieder präsent. Leider nutzen Angreifer die Schnittstelle regelmäßig für Angriffe aller Art, DDoS Attacken und Brute Force Angriffe sind keine Seltenheit.

Kurzum: Eine aktivierte xmlrpc.php stellt ein erhebliches Sicherheitsrisiko da und hat zu 99,9 Prozent keinen Nutzen für Dich.

 

Wie kann ich xmlrpc.php deaktivieren?

Zuerst lohnt ein kurzer Blick, ob die Schnittstelle überhaupt noch aktiv ist:
deine-domain.de/xmlrpc.php

Kommt hier die Meldung "Forbidden", "No access", "Not found" o.ä., ist nichts weiter zu tun und Du musst hier nicht weiterlesen.

 

Wichtig:

XML-RPC server accepts POST requests only.

Bedeutet NICHT, dass die Schnittstelle vollständig gesperrt ist. Hier wird lediglich darauf hingewiesen, dass man die Schnittstelle nur über POST-Anfragen nutzen kann. Einige Plugins arbeiten auch so. Die Schnittstelle ist dann für die meisten Angriffe abgesichert, aber eben noch "vorhanden".

 

Ist die Schnittstelle noch aktiv, gibt es nun hauptsächlich zwei Möglichkeiten:

  1. Die Nutzung eines Plugins
    Der einfachste und schnellste Weg ist die Nutzung eines Plugins. Dieses hört auf den Namen „Disable XML-RPC“, ist kostenlos und im WordPress Plugin Pool erhältlich. Hierbei wird die Schnittstelle auf POST-Requests beschränkt. Es gibt auch diverse andere Sicherheits-Plugins, die eine Option zur Deaktivierung dieser Schnittstelle beinhalten. Wirklich abschalten, kann man die Schnittstelle mit den folgenden beiden Optionen.
  2. Ohne Plugin über die .htaccess oder functions.php
    Um WordPress klein und schnell zu halten, sollte man so wenig Plugins wie möglich einsetzen.
    Daher empfehle ich die Option, es direkt im WordPress-Code selbst zu deaktivieren.

 

Lösung für .httaccess:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

 

Lösung für functions.php:

add_filter( 'xmlrpc_enabled', '__return_false' );

 

Fazit

XML-RPC hatte seine Zeit, aber die ist lange vorbei. Aktuell ist die Schnittstelle primär ein Sicherheitsrisiko und mitverantwortlich für viele erfolgreiche Angriffe auf WordPress-Installationen.
Ich empfehle dringend die Deaktivierung.

 

Ich kann das nicht, was muss ich tun?

Wenn Du niemanden hast, der das für Dich durchführen kann, wende dich bitte unter Nennung der Kundennummer und der Domain an mich: support@cologne-hosting.de.

 

 

COPYRIGHT © 2005-2021 COLOGNE HOSTING. ALLE RECHTE VORBEHALTEN.