Ich habe euch ja bereits das Sicherheitsplugin Limit Login Attempts vorgestellt und euch auch erklärt wie man das installiert. Das ist eine Lösung mit der man Serverseitig – nach einem Angriff euren Blog sichert. Es gibt aber noch eine elegantere Lösung und zwar man sichert den Blog VOR dem Angriff. Damit entlastet man nicht nur den Server sondern man hat noch einen besseren Schutz als mit dem Plugin.
Aber dafür benötigt man den Mut ein Scriptteil selbst anzubringen. Dafür gibts kein Plugin.
Diese Lösung eignet sich nur für selbsthostete Blogs !!
Für diese .htaccess Lösung braucht man ein FTP-Zugang und ein Editor. Den Editor ist auf den meisten Computern egal ob Apple oder PC installiert und den FTP Zugang habt ihr von eurem Hoster bekommen.
Passwort generieren
Als erstes werden wir nun das Passwort generieren. Am einfachsten ihr geht auf den Passwortgenerator und lässt euch da ein Passwort machen. Nehmt als Benutzernahme nicht Admin sondern entweder euren Nickname oder ein Fantasiename. Und auch das Passwort sollte nicht zu einfach sein. Das Resultat sieht dann in etwa so aus:
IchbinderChef:$apr1$Ovu/b3Gi$nlhzAOC8GoJdTnoBYlnyp..htpasswd File abspeichern
Nun öffnet ihr ein neues File in eurem Texteditor und kopiert den soeben generierten Key (sieht ähnlich aus wie der dicke Text oben) in das File. Danach speichert ihr das ganze als .htpasswd ab und legt es in den gleichen Ordner wo ihr bereits das .htaccess File findet. (Vergesst beim Filename den Punkt nicht!!)
.htaccess File erweitern
Öffnet nun mit dem Editor das .htaccess File. Und erweitert das File mit dem unteren Code:
1 2 3 4 5 6 7 8 9 10 11 12
#admin passwortschutz <Files wp-login.php> AuthName "Admin-Bereich" AuthType Basic AuthUserFile /deinPFAD/.htpasswd require valid-user </Files> <FilesMatch "(.htaccess|.htpasswd|wp-config.php|liesmich.html|readme.html)"> order deny,allow deny from all </FilesMatch>
Ihr müsst noch die Zeile 5 an euren Blog anpassen. Und zwar braucht ihr noch den absoluten Pfad zum .htaccess File.
Passwortschutz Testen
Jetzt könnt ihr das .htaccess File sowie das .htpasswd File hochladen. Und jetzt findet ihr gleich heraus, ob ihr alles richtig gemacht habt. Geht zu eurem Blog und versucht euch ins Backend einzuloggen. Wenn ihr zuerst ein Feld seht – das so ähnlich aussieht wie das hier:
Dann habt ihr alles Richtig gemacht. Gebt nun in diesem Formular eure Benutzername und Passwort ein (das ihr ja vorhin generiert habt). Wenn diese Eingabe richtig war, kommt ihr nun zum normalen Loginfeld, das ihr ja bereits kennt. Habt ihr hingegen ein falsches Passwort oder ein falscher Benutzername eingegeben, gibt es eine Fehlermeldung
Mit dieser kleinen erweiterung, die ja echt nicht schwer ist zu machen, habt ihr euren Blog gut abgesichert. Sollten jetzt irgendwelche Idioten versuchen via Brute-Force Attacken in euer Backend zu gelangen, werden sie nicht mehrmals die Chance haben. Ihr habt jetzt einfach eine Barriere vor dem normalen Login eingesetzt.
Euere Hard-, und Software danken euch !
Wichtig:
Dieser Weg der Blogsicherung hat aber einen kleinen negativen Nebeneffekt. Wenn ihr Blogbeiträge schreibt die ihr mit einem Passwort verseht, dann springt dieser HTACCESS Schutz auch an.
Aber dafür gibts auch eine Lösung. Legt einfach das .htaccess und .htpasswd File in den wp-admin ordner und passt den absoluten Pfad im htaccess File an. So wird nur noch dieser Ordner gesperrt und eure passwortgeschützten Beiträge können normal ohne doppelte Passwortabfrage angezeigt werden.
Da gibt es nur ein Problem: Wenn man passwortgeschützte Beiträge nutzt, schlägt der .htaccess-Schutz auch dort zu. Schlauer wäre es, das wp-admin Verzeichnis per .htaccess zu schützen.
Danke Heiko für dein Kommentar. Du hast natürlich absolut Recht und darum habe ich mein Beitrag kurz erweitert mit der Info !
Hallo Chefblogger,
ich hab auch das Problem, dass mit dem Dateischutz per .htaccess auch die passwortgeschützten Artikel per .htaccess geschützt sind.
Jetzt hab ich deine Vorschlag ausprobiert, doch leider funktioniert es nicht.
in der . htaccess steht:
….
AuthName „Admin-Bereich“
AuthType Basic
AuthUserFile /……..pfad/wp-admin/.htpasswd
require valid-user
…
Beide Dateien (.htaccess + .htpasswd) habe ich in das Verzeichnis /wp-admin verschoben.
Jetzt gibt es keine zusätzliche Passwortabfrage mehr.
Die wp-login.php liegt ja auch im Rootverzeichnis.
Was mache ich falsch?
Vielen Dank im Voraus
hoi @loeanna – hast du den richtigen pfad genommen? weil wenn der pfad nicht stimmt, gibts auch keine passwort abfrage.
und wenn der pfad stimmt musst du natürlich auch noch die htaccess befehl anpassen. du schützt ja dann nicht mehr wp-login.php file. darum musst du diese beiden tag < Files wp-login.php > & < /Files > auch noch entfernen – dann sollte es gehen
Hallo Chefblogger,
danke für deine Hilfe!!!! ich habe tatsächlich vergessen, das Files-Tag zu entfernen.
Ohne das Tag funktioniert es.
Was mir zwar irgendwie nicht ganz so gefällt: Beim Einloggen über die http://www.domain.de/wp-login.php kommt man ja jetzt zuerst zum WP-Login (weil die wp-login.php ja nicht mehr geschützt ist) und dann erst zum .htaccess-Schutz.
Aber eigentlich ist das ja nur ein kleiner Schönheitsfehler.
Vielen Dank nochmal