WordPress ist unser bevorzugtes CMS – schnell, gut erweiterbar und Open-Source. Leider weist es eine Reihe von Defiziten im Bereich der Sicherheit auf, die aus unserer Sicht heute nicht mehr tragbar sind. Denn seine große Popularität macht es auch zum Ziel Nummer eins für Brute-Force-Angriffe. Glücklicherweise kann man WordPress für dieses Szenario recht einfach härten.
RPC deaktiveren
Die XML-RPC Schnittstelle wird von WordPress insbesondere für die Kommunikation mit Smartphone-Apps benötigt. Sollten Sie keine derartige App nutzen, dann ist es ratsam diese Schnittstelle zu deaktivieren. Dazu müssen Sie diesen Filter der functions.php in Ihrem Theme hinzufügen.
add_filter( 'xmlrpc_enabled', '__return_false' );
Ferner sollten Sie in der .htaccess den Zugriff auf die Datei /xmlrpc.php sperren.
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
Unterschiedliche Benutzerkonten verwenden
Im Idealfall verwenden Sie zwei Accounts, einen mit Administrator-Rechten und einen mit einer Redakteur-Rolle. Für das Administrator-Konto sollten Sie nicht Benutzernamen »admin« verwenden, denn der wird von Angreifen meist verwendet, wenn sich der tatsächliche Benutzername nicht ermitteln lässt. Mit diesem Konto führen Sie Wartungsarbeiten und Updates aus, aber sollten damit keine Beiträge veröffentlichen. Dafür ist das Konto mit der Redakteur-Rolle gedacht, welches auf die sicherheitsrelevanten Einstellungen von WordPress keinen Zugriff hat.
Benutzernamen verbergen
WordPress ist zuweilen etwas »geschwätzig« und verrät den Angreifern nur allzu leicht die Benutzernamen der User. Dazu muss der Angreifer nur diese Url aufrufen: http://domain.at/?author=1. Der Benutzer mit der Nummer eins ist in den meisten Fällen auch der Administrator. Dieser Benutzername wird von den Angreifern benutzt, um Kontrolle über Ihre Seite zu erlangen. Das kostenlose Plugin »Stop User Enumeration« macht WordPress wesentlich weniger mitteilsam, obwohl es noch immer Wege gibt, die Benutzernamen zu ermitteln.
Login-Versuche begrenzen
Ein weiteres Plugin »Limit Login Attempts Reloaded« rüstet die Funktion nach, die WordPress bislang leider noch schmerzlich vermissen lässt. Wie der Name schon verrät, wird die Anzahl der Login-Versuche damit begrenzt. Angreifer können nur noch eine begrenzte Anzahl von Versuchen unternehmen, um das Password zu erraten. Danach wird der Zugriff für die IP-Adresse des Angreifers für eine einstellbare Zeit gesperrt. Zusammen mit einem sicheren(!) Passwort sollte Ihre Website gegen Brute-Force-Angriffe bestens gerüstet sein.