Seit etwa Februar 2013 finden im diesmal extrem großen Stil Angriffe per Botnetz auf WordPress-Blogs statt. Darüber ist viel geschrieben worden, aber ein paar eigene Erkenntnisse möchte ich noch beisteuern.
IP-Adressen der Angreifer per .htaccess-Datei (im Falle eines Apache-HTTP-Servers) zu sperren hat keinen Sinn, es wurden schon über 90.000 verschiedene mit weltweiter Herkunft gezählt. Oft wird das Plugin »Limit Login Attempts« empfohlen. Diese Erweiterung verhindert Brute-Force-Attacken. Sie ist leicht zu konfigurieren und gehört für mich inzwischen als Muss zu jeder WordPress-Installation.
An vielen anderen Schwachstellen setzt »Better WP Security« an. Was mir besonders gut gefällt, ist eine Verschleierung des Login-Bereiches: über die gewohnten Dateinamen ist das Login nach entsprechender Einstellung nicht mehr erreichbar. Ferner kann man zum Beispiel die Anmelde-Möglichkeit auf bestimmte Tageszeiten begrenzen, das Tabellenpräfix ändern, die Benutzer-ID »1« (= standardmäßige ID des Administrator-Accounts) in eine andere Zahl umschreiben, die wichtigsten Dateien und Verzeichnisse per .htaccess-Einträge gegen Zugriff abriegeln und so weiter. Die Optionen sind wirklich beachtlich, aber man sollte auf jeden Fall vor irgendwelchen Änderungen ein Datenbank-Backup machen. Außerdem kann man sich im schlimmsten Fall selbst vom Blog aussperren. Man muss dann die .htaccess-Datei bearbeiten. Also bitte ein wenig Vorsicht walten lassen!
Es wird von den Angreifern übrigens nicht nur der Benutzername »admin« verwendet, wie man in manchen Blogartikeln lesen kann, sondern auch »Admin«, »administrator«, »Administrator«, »adminadmin« und womöglich noch weitere Variationen. Das Wichtigste ist also, keinen Benutzernamen zu verwenden, in welchem »admin« in irgendeiner Form vorkommt.
Um aber Angreifer gar nicht bis zum Anmeldebereich kommen zu lassen, habe ich mich entschieden, die Datei wp-login.php in Hauptverzeichnis des Blogs nur für meine eigene IP-Adresse freizugeben – genauer gesagt: für den IP-Bereich meines Internet-Service-Providers. Dazu sind nur ein paar Zeilen in die .htacess-Datei einzutragen:
# Adminbereich absichern
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from xx.xxx.
</Files>
Anstelle von »xx.xxx.« trägt man natürlich die ersten zwei Bytes des IP-Bereiches seines Providers ein. Hier kann man seine IP-Adresse ermitteln:
www.torstenkelsch.de/deine-ip.php
Weitere Informationen:
t3n.de/news/massive-angriffswelle-[…]
www.heise.de/security/meldung/Botnet-attackiert-Wordpress-[…]
www.golem.de/news/security-angriff-gegen-admin-konten-[…]