WordPress Sicherheit – Teil 2 – XMLRPC absichern

Um was geht es…

Wordpress HostingWenn Sie einen WordPress als Blog oder CMS System betreiben, haben Sie standardmäßig eine Schwachstelle in Ihrem Root-Ordner liegen. Diese Datei heißt xmlrpc.php und wird nicht selten von Botnetzwerken für DDoS- und Brute Force Attacken missbraucht. Seit WordPress Version 3.5 ist die xmlrpc.php als API-Schnittstelle automatisch aktiviert, was aus Sicht der Sicherheit ein Fiasko ist. Die Angriffe auf diese Datei nehmen stetig zu und Sie sollten hier in jedem Fall einen Blick darauf werfen.

Gefällt Ihnen unsere Seite?

Was macht die xmlrpc.php Datei?

Die Datei xmlrpc.php in WordPress ist für die Kommunikation mit externen Blogs und Anwendungen zuständig. Die Pingback-API ermöglicht eine Art Vernetzung zwischen verschiedenen Blogs und dient gleichzeitig als Schnittstelle, um WordPress über externe Programmen verwalten zu können. Als Beispiel können hier die iPhone und Android Apps zur Seitenverwaltung dienen.

Welches Risiko bringt diese Datei?

Die meisten Angreifer versuchen mit Hilfe eines Bots oder eines Bot-Netzwerks die Zugangsdaten zu Ihrem WordPress Blog System zu erlangen. Diese Angriffe finden auch auf der wp-admin Login Seite statt, welche sich ebenfalls mit einfachen Mitteln schützen lässt (Teil 3 dieser Anleitung). Allerdings sind diese Versuche dort relativ ineffizient für den Bot, da diese Seite relativ langsam ist und nur jeweils ein Benutzername und Passwort je Anfrage getestet werden kann.

Die XML Schnittstelle benötigt ebenfalls eine Authentifizierung mit Benutzername und Passwort. Hier ist es jedoch so, das die Anfragen um ein vielfaches schneller verarbeitet werden.  Bis zu 500 Passwörter lassen sich in einer Anfrage an die xmlrpc.php unterbringen und machen die Angriffe wesentlich schneller, effizienter und auch unauffälliger.

Absichern mit Hilfe einer .htaccess Datei

Neben einigen WordPress Plugins, welche die XMLRPC oder Teile davon deaktivieren, ist die sicherste Lösung das Sperren der Datei für jegliche Zugriffe. Folgende Anweisung in Ihrer .htaccess Datei unterbindet den Zugriff auf diese Datei komplett.

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

Nachfolgend ein erweitertes Beispiel:

#Referer einer sicheren Domain in Variable speichern
SetEnvIf Referer „^https://.*.sichere-domain\.de/“ accessok

<Files xmlrpc.php>
Order deny,allow
Deny from all
#Zugriff von dieser IP erlaubt
Allow from 123.55.33.12
#Zugriff von dieser Domain erlaubt
Allow from sichere-domain.de
# Zugriff vom oben ermittelten Referer erlauben
Allow from env=accessok
</Files>

Nachteil dieser Lösung ist, das jeglicher Zugriff auf diese Datei unterbunden wird und zum Beispiel die Pingback Funktion von WordPress nicht mehr funktioniert, es sei denn Sie haben dies als Ausnahme definiert (2. Beispiel). Auch die Mobile Apps zum Bearbeiten der Seiten auf dem Smartphone oder Tablet funktionieren dann nicht mehr, sofern Sie Ihre IP Adresse nicht in den Ausnahmen aufführen. Werden diese Funktionen nicht gebraucht, steht dieser sicheren Lösung nichts im Wege.

 

Teil 3 dieses Leitfadens wird sich mit dem Absichern des WordPress Admin Bereichs befassen.

%d Bloggern gefällt das: