WordPress xml-rpc absichern

XML-RPC wurde standardmäßig in WordPress 3.5 aktiviert, um Ihre WordPress-Website mit Web- und mobilen Apps zu verbinden.

Das Problem ist, XML-RPC wird bevorzugt für Brute-Force-Angriffe verwendet.

Zum Beispiel, ein Hacker probiert 500 verschiedene Passwörter aus, verbunden damit sind 500 separate Login-Versuche, die relativ einfach mit Security Plugins abgefangen werden können.

Aber mit XML-RPC kann ein Hacker die system.multicall Funktion verwenden, um tausende von Passwortanfragen mit nur 20 oder 50 Anfragen in kurzer Zeit auszuprobieren. Das führt relativ schnell zu einer Überlastung des Servers und Ihre Seite kann nicht aufgerufen werden, ganz zu schweigen das vielleicht dadurch Ihre Installation gehackt wird.

Um diesem vorzubeugen empfiehlt es sich XML-RPC nicht zu verwenden und zu deaktivieren. Es gibt Plugins dafür, das Problem ist dabei das die Datei nach wie vor aufgerufen werden und damit trotzdem der Server down gehen kann wegen zu vielen Anfragen zur gleichen Zeit.

Das sinnvollste ist ein Eintrag in die .htaccess und der sieht rein für XML-RPC so aus:

# Block WordPress xmlrpc.php requests

order deny,allow
deny from all
allow from 123.123.123.123

Will man außerdem den Login von WordPress schützen empfiehlt es sich das ganze mit einen Password zu schützen, nicht nur den Login, sondern auch die XML-RPC.
Dadurch entfällt obiger Eintrag in die .htaccess und wird ausgetauscht durch die folgenden. Die Pfade zum Verzeichnis müssen Sie natürlich anpassen und in dem Ordner eine .htpasswd anlegen, wie das geht erfahren Sie HIER.

Eine komplette .htaccess sieht dann so aus:


AuthName "Login"
AuthType Basic
AuthUserFile /password/.htpasswd #anpassen#
require valid-user


AuthName "Login"
AuthType Basic
AuthUserFile /password/.htpasswd #anpassen#
require valid-user

# BEGIN WordPress (Achtung, dieser Teil ist abhängig von Ihren Original-Einstellungen, fügen Sie zu Ihrer .htaccess nur die obigen beiden Einträge hinzu).

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Sollte das Problem auftauchen das bei jedem Besucher die Abfrage der .htaccess erfolgt, das hängt bzw. kann mit verschiedenen Plugins zusammen hängen die bis in den Adminbereich wirken. Dann einfach noch folgenden Zusatz in die .htaccess einfügen:


Allow from all
satisfy any

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.