WordPress absichern

WordPress ist beliebt – nicht nur bei uns Bloggern, leider auch bei Scriptkiddies oder Betreibern von Bots aller Art. Ist ein WordPress nicht aktuell oder schlecht abgesichert, kann es schnell eine Angriffsfläche für ungebetene Gäste bieten. Ich schreibe hier kurz, welche Schritte ich zur Absicherung meines Blogs vorgenommen habe…

Passwortattacken erkennen

Seit einiger Zeit ist das Plugin „Login Lock“ im Einsatz. Dort kann man einstellen, dass nach einer bestimmten Anzahl fehlgeschlagener Loginversuche weitere Zugriffe der betreffenden IP unterbunden werden. Also quasi nach dem Motto „Nach 3 Fehlversuchen weitere Loginversuche für 30 Minuten von IP x.x.x.x sperren“. Tritt dieser Fall ein, bekommt man eine Mail, die einem die IP und den versuchten Benutzernamen mitteilt. So erfährt man schon mal, ob sich gerade jemand am System versucht hat. Bei mir steigt die Anzahl der Alarmmeldungen stetig, was beweist, dass WordPress ein beliebtes Angriffsziel ist…

Benutzer „admin“ löschen

WordPress legte in der Vergangenheit ohne Option einen Benutzer „admin“ an. Seit der Version 3.0 kann man den Benutzernamen frei wählen, er wird aber immernoch vorgeschlagen. Kein Wunder also, dass irgendwelche Skripte versuchen, diesen Benutzer zu knacken, da er mit hoher Wahrscheinlichkeit im System vorhanden ist.
Es muss also ein neuer Benutzer her, der Admin-Rechte bekommt. Ist dieser angelegt und eingeloggt, kann man den Benutzer „admin“ löschen. Die Beiträge, die „admin“ angelegt hat, schreibt WordPress auf Wunsch auf den neuen Benutzer um.
Somit ist ein Benutzer „admin“ nicht mehr im System und so laufen schon einmal die meisten Angriffsversuche sowieso ins Leere.

Login-Skript schützen

Das Login in WordPress erfolgt über die Datei „wp-login.php“. Hackskripte nutzen diese Datei, um Loginversuche zu automatisieren (Brute-Force). Man sollte also dieser Datei einen besonderen Schutz zuteilwerden lassen, am besten mit einer „.htaccess“-Datei.
Folgende Zeilen fügt man in die „.htaccess“ ein, um eine gesonderte Passwort-Abfrage noch vor dem eigentlichen Login zu erzwingen:

AuthType Basic
AuthName "Wordpress-Adminbereich"
AuthUserFile /pfad/zum/blog/.htpasswd
require valid-user

Um die passende „.htpasswd“ zu erzeugen, kann man diese Seite verwenden, wenn man nicht gerade einen Linux-Rechner mit Apache-Paketen im Zugriff hat.

Wer jetzt mitgedacht hat, wird evtl. zu der Erkenntnis kommen, dass der Schutz der „wp-login.php“ die Nutzung von „Login Lock“ überflüssig macht. Das ist auch meine Meinung, denn ich halte den Schutz durch .htaccess/.htpasswd für ausreichend, sofern man denn sichere Kennwörter nimmt. Das beste Schloß nützt nichts, wenn man es einfach mit einem Schlitzschraubendreher öffnen kann. Jedem sollte klar sein, dass ein Kennwort und vielleicht sogar schon der Benutzername, der den „admin“ ersetzt, nichts triviales sein sollte.

Da ich nun die „wp-login.php“ schütze, kann ich wohl bald „Login Lock“ deinstallieren, welches scheinbar sowieso nicht mehr weiterentwickelt wird. Zumindest finde ich es nicht mehr auf der WordPress-Plugin-Seite.

 

2 Kommentare

  • Wenn man ganz auf Nummer sicher gehen will, dann schmeißt man noch folgende Zeilen in die .htaccess:

    Damit sind die .htaccess und die .htpasswd gegen Zugriffe von außen geschützt. Nur für denn Fall, das jemand versuchen will, die beiden Dateien auszulesen 😉

  • Das ist doch Bestandteil einer soliden Apache-Grundkonfiguration, oder?

    Sollte das mal nicht der Fall sein, wäre die .htpasswd ja immer noch eine One-way-Verschlüsselung, womit wir wieder bei der Wahl eines GUTEN Passworts wären… 🙂

Kommentar hinterlassen

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