Da es ja doch den einen oder anderen von euch gab, hier mal meine Anleitung um sich von bösen Brute Force Attacken zu schützen. Schützen ist vielleicht das falsche Wort, eher das „vorzeitige“ Laden des Admin-Panels wird verhindert. Nun, wie ihr wisst, hatte ich die Tage tiersiche Problem mit meinem Blog und war kurz davor ihn zu löschen…
Keine Angst, die Geschichte kaue ich nicht nochmal durch. Der Blog läuft nun wieder und gut ist. .htaccess und htpasswd sind die Stichwörter hier. Die WordPress betreiben, kennen die .htaccess schon. Meist sitzt diese im Rootverzeichnis und bestimmt unter anderem wie die Links (Permalinks) angezeigt werden. Für den Schutz des Admin-Panel erzeugen wir ein kleines Pop-Up Fenster, welches nach einen Nutzernamen und fragt um zum eigentlichen WordPress Login zu gelangen. Es gibt unzählige Anleitungen und auch Generatoren im Netz um die passenden Dateien zu erstellen. Ich habe askapache.com genommen, weil hier gleich beide Inhalte der Dateien erzeugt werden. (Achtung, es werden nur die Inhalte generiert)
So schaut das Ganze hier aus. Ich empfehle jeweils einen anderen Benutzernamen und ein anderes Passwort, welches sich vom WordPress Login unterscheidet, zu nehmen.
- Username: Einfach einen beliebigen Username auswählen
- Password: Könnt ihr selbst vergeben und müsste nicht das bereits erstellte nutzen
- Realm or Popup Name: Könnt ihr auch beliebig auswählen.
- DigistDomain: bleibt so wie es ist.
- Auch den ausgewählte Algorithmus und das Schema mit dem das Passwort in die htpasswd geschrieben so belassen.
Dann auf erzeugen gehen und schon werden die Inhalte der beiden Dateien erzeugt.
Diese notwendigen Dateien werden nun mit einem Texteditor oder mit PSPad Editor erstellt. Verwendet ihr den stinknormalen Windows Texteditor werden die beiden Dateien als TXT-Datei gespeichert (Den Punkt am Dateianfang nicht vergessen). Der Name dürfte dann .htaccess.txt und .htpasswd.txt lauten. Das passt erstmal so. Beim PSPad Editor können diese Datei-Endungen bereits vor dem erstellen und einfügen des Inhaltes ausgewählt werden. Wer sich mit PSPad nicht ausgekennt, dem würde ich dennoch den Windows Texteditor empfehlen. Nach dem Hochladen der TXT Dateien wird das Suffix .txt einfach gelöscht und schon habt ihr eure richtigen .htaccess und .htpasswd.
Bevor es soweit ist, muss noch eine kleine Änderung des Inhalts vorgenommen werden. In der htaccess steht zweimal die Zeile „AuthUserFile /full/path/to/.htpasswd. Hier müsste ihr den vollen Pfad zur htpasswd Datei angeben. Ich empfehle diese Datei getrennt in einem anderen Ordner auf dem Server anzulegen. Beispielsweise im Ordner „loginsicherheit“. Der volle Pfad ist manchmal nur schwer zu finden. Am einfachsten geht das mit einer kleinen PHP Datei (fullpath.php – muss noch entpackt werden – Anleitung gibts auch hier htaccesstools.com) , die ihr in euren Ordner legt, in dem sich die zukünftige .htpasswd befinden soll. Danach öffnet ihr ein neues Browserfenster und gebt die Adresse zur fullpath.php an (euerblog.de/loginsicherheit/fullpath.php). Die php Datei zeigt euch dann den vollen Pfad zu diesem Ordner. Diesen tragt ihr dann anschließen zweimal in die .htaccess ein.
Die .htaccesswird übrigens in den wp-admin Ordner gespeichert, während sich unsere .htpasswd in dem neu erstellten Ordner befindet. Speichert ihr versehentlich die .htaccess in eurem Hauptverzeichnis der WordPress Installation wird die originäre Datei überschrieben. Problem ist hier, dass sich dann jeder Leser eures Blogs vorher anmelden muss um die Seite aufzurufen. Das wollen wir natürlich nicht, denn das Popup Fenster soll sich ja nur auf das Admin-Panel auswirken.
Sobald ihr nun zum ersten Mal euer wp-admin oder auch wp-login aufruft, kommt dieses kleine Anmeldefenster. Erst nach Eingabe der richtigen Werte kommt ihr auf euer WordPress Login. Das wars eigentlich schon. Auch wenn man sich nun zweimal anmelden muss um beispielsweise einen neuen Beitrag zu schreiben, aber das extra plus an Sicherheit lohnt sich auf jeden Fall. Abhängig der Serverkonfiguration kann diese Kombination beider Dateien auch zu einem Serverfehler (Error 500) führen. Hier müsstet ihr dann mal bei euren Provider nachfragen, warum dieser das Dateihändling per .htaccess nicht zulässt. Aber keine Angst, löscht ihr die Dateien auf dem Server, funktioniert wieder alles. Dennoch gebe ich hier keine Gewähr auf irgendwas und die Erstellung und Einbindung dieser Dateien geschieht auf eigene Gefahr. Sorry, ich muss das hier schreiben, nicht dass einer auf die Idee kommt mich anzukacken, nur weil seine Webseite die Grätsche gemacht hat.
Das wars schon zum Thema Sicherheit und WordPress. Viel Spass dabei…
6 Kommentare
Wird ja fast noch ein IT-Blog hier 😉
Vielen Dank Ronny!
Super! Danke schön.
Gruß
Andreas Ohse
[…] wie man wordpress sicherer […]
Besten Dank für die ausführliche Beschreibung. Ich habe in der Tat auch seit Monaten damit zu kämpfen und auch bereits nach einer Lösung gegooglet. Bin aber recht schnell ausgestiegen und war jetzt über diese Anleitung ganz froh.
Zwar gab es bei mir diesen beschriebenen „500 Server Error“, aber ich habe nun einen Schutzmechanismus über meinen Webhost-Anbieter bekommen.
Somit war dieser von dir beschriebene Weg nicht ganz erfolgreich, aber immerhin der Stein des Anstoßes zu einer guten Lösung!
Gruß
milan
Freut mich, einen Denkanstoß gegeben zu haben.