WordPress xmlrpc.php deaktivieren

WordPress ist ein weit verbreitetes Content-Management-System. Eine sehr große Anzahl an Webseiten weltweit werden damit erstellt. Früher war es rein für Blogs gedacht, doch der weite Umfang der Funktionen, die einfache Handhabbarkeit und die Vielzahl an Erweiterungen hat dazu geführt, dass auch vollwertige Webseiten auf WordPress aufbauen.

Viele der Administratoren sind Laien und lassen sich von der Einfachheit der Software überzeugen. Leider werden so auch oft Updates vernachlässigt und sich auch sonst sehr wenig um die Sicherheit gekümmert. Diese Faktoren – starke Verbreitung, laienhafte Admins, Vielzahl an Plugins – macht WordPress auch attraktiv für Angreifer.

Bruteforce-Angriffe sind bei WordPress-Admins sehr bekannt. Unbekannte versuchen, häufig mit osteuropäischen IPs, durch plumpes Raten die Passwörter zu erhalten. Dabei setzen sie Bots ein, die selbstständig lange Listen an Passwortvorschlägen abarbeiten und so hoffen, das richtige Passwort zu erraten. Der Schutz der wp-login.php über .htaccess ist zumindest der erste Schritt, dieses Verfahren einzudämmen. Doch es gibt noch ein weiteres, sehr großes Fenster, über das Angreifer Eintritt suchen: die xmlrpc.php.

Angreifern von WordPress keine Chance geben

Was ist die xmlrpc.php?

Unter XML-RPC (Extensible Markup Language Remote Procedure Call) versteht man eine Schnittstelle zwischen einem System (hier WordPress) und externen Funktionen. Sie kümmert sich beispielsweise um Pingbacks, also ein- und ausgehende Mitteilungen von anderen Webseiten. Außerdem greifen verschiedene Plugins (wie beispielsweise Jetpack) oder Apps darauf zu. Es ist sozusagen die Schnittstelle zur Außenwelt.

Das wird uns Betreibern nur dann zum Verhängnis, wenn jemand versucht sie zu missbrauchen. Denn abgesehen von den gewollten Funktionen kann man diese Schnittstelle auch für Bruteforce Methoden verwenden. Hier können Angreifer gleich eine Vielzahl an Passwörtern ausprobieren, um das richtige zu erraten.

Seit WordPress 3.5 ist die Datei standardmäßig aktiviert. Vorher musste man im Admin-Panel  die Funktion aktivieren.

Warum sollte man die xmlrpc.php deaktiveren?

Die xmlrpc.php hat die primäre Funktion, WordPress zu vernetzen und Funktionen von außerhalb des Admin-Panels zu verwenden. Etliche Plugins brauchen diese Funktion, doch lange nicht jeder Benutzer verwendet solche Erweiterungen. Gerade wer WordPress eher als statische Seite verwendet, kann in der Regel auf die Funktionen der xmlrpc.php verzichten. In diesem Fall bietet sie Angreifern eine potentielle Zielscheibe und macht damit die Seite unsicher.

xmlrpc in WordPress deaktivieren

So deaktiviert man die xmlrpc.php in WordPress

Es gibt zwei Wege, wie man die Datei sinnvoll deaktiviert. Der erste davon beschreibt, wie man die Funktion „von innen heraus“ deaktiviert. Dazu editiert man die functions.php des aktuellen Themes und fügt dort folgenden Codeschnipsel hinzu.

/* Disable XMLRPC */
add_filter( 'xmlrpc_enabled', '__return_false' );

Die zweite Variante verhindert den Zugriff auf die Datei grundsätzlich. Hierzu ergänzt man die .htaccess-Datei, die man schon zur Beschränkung der wp-login.php verwendet hat, um folgende Textzeilen.

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

Jetzt ist intern die Dateifunktion deaktiviert und auch von außen kann niemand mehr darauf zugreifen. Um seinen Erfolg zu überprüfen, kann man mit wpscan seine WordPress-Installation auf Sicherheitslücken überprüfen und so sehen, ob die xmlrpc.php noch zugänglich ist.

Weitere Schutzmaßnahmen

Die wichtigsten Schutzmaßnahmen für WordPress sind die gleichen wie für jede andere Anwendung auch: Verwendet sichere Passwörter und haltet die Software auf dem neuesten Stand, vor allem wenn sicherheitsrelevate Updates erschienen sind.

Schreibe einen Kommentar

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