WordPress Sicherheit: wp-admin durch .htaccess schützen

Die Sicherheit eines Blogs sollte für jeden Blogger an oberster Stelle stehen. Aus diesem Grunde habe ich die Serie “WordPress Sicherheit” auf meinem Blog ins Leben gerufen um zu zeigen, wie man WordPress noch sicherer machen kann. Heute zeige ich, wie man das Adminverzeichnis durch eine .htaccess schützt.

Der normale Login für WordPress Blogs liegt im wp-admin Verzeichnis. Einmal sein Nutzername (zumeist leider admin) und Passwort eingegeben und schon ist man drinnen im WordPress Paradies. Damit man es potenziellen Angreifern nicht einfach macht ist es selbstverständlich, dass man ein gutes Passwort wählt.  Sollte dennoch mal ein größerer Bug in WordPress sein, oder man eine veraltete WordPressversion nutzen ist es hilfreich, den Zugriff auf das Verzeichnis erst einmal per .htaccess zu schützen. Das muss gar nicht kompliziert sein, verlängert maximal um 2 Sekunden den Login erhöht die Sicherheit aber ungemein.
Hier die Anleitung, wie du dein Adminmenü in WordPress mit .htaccess schützt.

Verzeichnis durch .htaccess schützen

1.Schritt: .htaccess anlegen
Zunächst legst du die .htacess Datei (am besten im Editor und dann als .htaccess speichern) an und packst sie in dein wp-admin Verzeichnis. Diese sollte den folgenden Inhalt haben.

1
2
3
4
AuthName "Adminschutz"
AuthType Basic
AuthUserFile /pfad/zur/passwortdatei/.htpasswd
require valid-user

Kurze Erklärungen:
Authnahme:
Gibt dem Bereich den Namen und wird auch bei der Passwortabfrage angezeigt.
AuthType:
Gibt die Authentifizierungsart an. Sollte also bitte Basic sein.
AuthUserFile:
Gibt den Pfad zur Passwort/Nutzerdatei an, der .htpasswd in der der Nutzername sowie das Passwort verzeichnet ist. Dahinter kommt der relative Pfad deines Servers/Spaces. Normal sollte der apache auch den kurzen Weg können, also von der .htacces ausgehend /pass/.htpasswd können. Der relative Pfad ist aber auf jedenfall der sichere Weg.
Require valid-user:
Grob gesagt, lass nur den validen user rein, der in der .htpasswd steht.
2. Schritt: Die .htpasswd erstellen
Kommen wir also zur besagten .htpasswd. Euren Nutzernamen und Passwort hier eingeben und erzeugen lassen. Die .htpasswd für den Nutzer nutzer und dem Passwort passwort sähe so aus:

1
nutzer:$1$Nl7kqqbL$dAgZBbj/OA1WwDCM6PUEj1

Dieses abspeichern in der .htpasswd und in ein gewünschtes Verzeichnis legen. Verzeichnis in der .htaccess festlegen und fertig.
Das wars, diese zwei Schritte ermöglichen, dass dein AdminVerzeichnis geschützt ist. Einmal eingeloggt fragt er dich nur wieder, sobald du das Browserfenster schließt.
Sollten eventuelle Probleme auftreten, die .htaccess nichts bewirken schaue bitte hier nach. Dort hatte ich unten mögliche Fehlerquellen analysiert und Lösungen präsentiert.
Findest du diese Absicherung sinnvoll? Nutzt du es auch, gibt es Probleme? Schreib mir in den Kommentarbereich.


29 Kommentare

  1. Uwe sagt:

    Wie immer sehr gut geschrieben.
    Auch diesesmal hast du mich wieder voll erwischt. Ich habe bisher nicht mal meinen Admin gelöscht.
    Gehen dann die Artikel verloren die von Admin geschrieben wurden? Bzw. welcher Name wird dann als Autor im Frontend angezeigt?

    Uwes letzer Blogeintrag: rabattschlacht.de: swoopo.de für Langweiler?

  2. Chris [Reiffix] sagt:

    @uwe:
    Löschen brauchst du nicht. Du kannst dich als admin leider nur auch hiermit anmelden. Entweder du legst also einen zweiten admin mit Administratorrechten an, gibst dem einen anderen Namen als der im Blog erscheint oder du nutzt die Variante hier.

    P.S. Hast du eigentlich meine Mail bekommen zum Code RSS?

  3. Paul sagt:

    Ich selber weiss jetzt nicht wie ich ein Passwort knacken kann, aber auf deine wp-login.php komm ich auch so rauf. Es kommt zwar immer das Fenster mit der Abfrage nach dem Benutzer und dem Passwort, aber nur zwei mal. Man muss nur zwei mal auf “Abbrechen” klicken und schon wird man weitergeleitet. Ich weiss jetzt nicht, ob ich so auch in die Administration kommen würde, wenn ich dein Passwort kennen würde. Hast du das schonmal ausprobiert? Einfach mal immer auf “Abbrechen” klicken und danach versuchen dich einzuloggen.

    Pauls letzer Blogeintrag: easyComment Firefox Extension

  4. Chris [Reiffix] sagt:

    Hey Paul,

    mmh also ich habe jetzt mal getestet. Wenn ich auf http://www.reiffix.de/blog/wp-admin/gehe fragt er mich nach dem Benutzernamen + PW per htaccess. da kann ich soviel auf abbrechen klicken wie ich mag, ohne das komme ich nicht auf meine wp-login homepage. Ist es bei dir anders? Eigentlich dürfte es nicht sein, melde dich daher bitte nochmal.

    Gruß und Danke!

    PS. Ah, ich weiß was du meinst. die wp-login.php

    Die ist weiterhin erreichbar, allerdings ohne css. Dafür kommt man nach erfolgreichem Login nicht weiter durch die .htaccess. Also ohne die läufts nicht, da das verzeichnis geschützt ist.

  5. Uwe sagt:

    @Chris: Ja hab ich bekommen,vielen Dank dafür. Momentan bin ich aber so involviert in ein neues Projekt (spannend ;-) ), da komm ich auch nur selten zum Bloggen, geschweige denn an Alles2null.de rumzuschrauben. Mail folgt…

    Uwes letzer Blogeintrag: rabattschlacht.de: swoopo.de für Langweiler?

  6. Paul sagt:

    @Chris: Achso, dann ist ja gut, wenn man nach einem erfolgreichen Login nicht mehr weiter kommt. Aber könnte man das nicht noch bisschen eleganter lösen? Also wenn man jetzt falsche oder überhaupt keine Daten eingibt, dass man dann auf eine Fehlerseite und nicht auf die wp-login.php weitergeleitet wird?

  7. Chris [Reiffix] sagt:

    @Paul. Ja noch sicherer ist es wahrscheinlich, wenn man die wp-login.php einfach sperrt, dann kommt man ohne .htaccess an gar nichts mehr ran.

  8. harald sagt:

    und wie funktioniert das mit dem kommentieren? ich mein, wenn die user sich regestrieren müsseen?

  9. Chris [Reiffix] sagt:

    @harald:

    Wo liegt denn das Problem?

  10. Pingback: Wie man sich gegen Hacker schützen kann - .wired

  11. Pingback: Neue Serie: Wie erstelle ich eine thematische Seite mit dem Affilinator?

  12. Pingback: Blogschutz vor Hacking - WordPress-Zone

  13. Pingback: .htaccess Passwortschutz für wp-admin | Crazy Girls Tipps

  14. Pingback: All-Inkl – Probleme mit den Permalinks und der .htaccess | Webdesign Klaus Oppermann - Oldenburg - Bremen - Delmenhorst

  15. Andy sagt:

    Hallo und einen wunderschönen Tag!

    Nachdem mein WP gehackt wurde und als PAM-Schleuder verwendet wurde, bin ich nun dabei, meine Site sicherer zu machen. Ich stecke im htaccess-Schutz fürs wp-admin-Verzeichnis fest. Zwar findet eine Abfrage statt, aber er akzeptiert das PW nicht. Ich habe den PW-erzeuger von Dir verwendet. Was mir auffiel, bei gleichem Name und PW kam trotzdem jedesmal eine andere Kombination raus. Kann das stimmen?

  16. tom sagt:

    muss man die .htaccess datei selber erstellen oder ist es möglich die passwortschutzfunktion von confixx zu nehmen? ist doch das selbe oder?

  17. Nikolas K. sagt:

    Ich finde das von WordPress auch bisschen schlecht gelöst, es für den Anwender so kompliziert zu machen. Als ich noch WP nutzte, habe ich das hier auch gemacht was hier beschrieben ist.

    http://www.infected-web.de/wordpress-php-dateien-schutzen/

    Mit dem plugin bin ich nicht klar gekommen. War mir bisschen zu kompliziert.

  18. kyio sagt:

    @tom: ja du kannst auch confixx zum erstellen und verwalten der zugangsberechtigung nehmen. das legt auch nur die oben genannten dateien an. hat sogar den vorteil das du es bequem über confixx verwalten kannst

  19. matzespens sagt:

    Ich habe eine Frage dazu: Ich nutze WordPress 3.02 und habe natürlich auch das Verzeichnis wp-admin mittels htaccess Datei geschützt. Nur fragt er nun auch jedes Mal wenn sich ein normales Mitglied einloggen möchte nach einem Passwort.

    Wie kann ich das denn lösen??

  20. Pingback: Sicherheit unter WordPress verbessern | AntiVirus, htaccess, Login LockDown, Plugins, Schutz, Secure WP, Sicherheit, Wordpress | Jacks Log

  21. David Loony sagt:

    Ohh ich muss das unbedingt auch machen. Ich habe schon so viel darüber gelesen,aber irgendwie will das bei mir nicht klappen. Ich muss mal nen gescheiten mann finden,der mir das macht. THX für die erklärung

  22. Robert sagt:

    Am besten wäre es, wenn man den Ordner einfach umbenennen könnte. Das funktioniert leider nicht. Wenn man den ACP-Ordner umbenennt geht nix mehr…

  23. laderio sagt:

    Ich hatte es auch mit der .htaccess versucht, hatte aber ein ähnliches Problem wie hier schon beschrieben.
    In meinem Hochzeits-Blog dürfen auch Besucher ohne Registrierung schreiben. Lediglich freischalten muss ich die Kommentare.
    Allerdings wurde dann auch hier jedesmal der Login angezeigt, was ja eigentlich nicht im Sinne des Erfinders ist.
    Gibt es hierfür einen Workaround? Kann man eine bestimmte Datei ausschließen? Wenn ja, welche?

  24. Karl-Heinz sagt:

    Wäre schön und hilfreich, wenn zu den Pfaden und dem Verzeichnis für die .htpasswd ein Beispiel vorhanden wäre.
    Sollte die htpasswd in ein anderes Verzeichnis als wp-admin ? Ein eigenes Verzeichnis nur dafür ?
    Wenn man die htpasswd z.B.in “/Kennwort” ablegt, stimmt dann der Pfad “../Kennwort/.htpasswd” für die .htaccess ?

  25. Pingback: Wordpress – Was man selbst für mehr Sicherheit tun kann - Netzverpflegung.de

  26. Florian sagt:

    Hallo Chris,

    danke für den tollen Artikel. Ich versuche das gleich mal umzusetzen. Leider bin ich technisch nicht sonderlich versiert. Wärst Du vielleicht so nett und erklärst nochmal kurz was “Dieses abspeichern in der .htpasswd und in ein gewünschtes Verzeichnis legen.” genau bedeutet. Kann ich .htpasswd in irgend ein beliebiges Verzeichnis legen? Könntest Du mal ein standard WP Verzeichnis nennen, wo man das normalerweise reinlegt?

    Wenn ich auf http://www.reiffix.de/blog/wp-admin/ gehe komme ich übrigens ganz normal zum Admin Bereich.

    Danke für deine Hilfe,

    VG Florian

  27. InfectedWeb sagt:

    Hi, du musst im wp-admin Ordner auch ne .htaccess ablegen.

    AuthType Basic
    AuthName “Bitte Zugangsdaten eingeben”
    AuthUserFile /homepage/daten/intern/.htpasswd !!!Absoluten Pfad zur .htpasswd auf dem Server anpassen!!!
    Require user login

    in die .htpasswd kommt dann

    login:$1$ljua4aGW$VWgX61jXbMcoJprO315eh0

  28. InfectedWeb sagt:

    Und so für die wp-login.php

    spitze klammer auf Files wp-login.php spitze klammer zu
    AuthType Basic
    AuthName “Bitte Zugangsdaten eingeben”
    AuthUserFile /homepage/daten/intern/.htpasswd !!!Absoluten Pfad zur .htpasswd auf dem Server anpassen!!!
    Require user login

    spitze klammer auf /Files spitze klammer zu

    Die Klammern wurden verschluckt, deswegen schreib ich sie aus. ;)

  29. Sabel sagt:

    Ich halte es für wenig sinnvoll per htaccess Adminbereiche zu schützen. Lieber sollte man gut passwoerter wählen!

Hinterlass einen Kommentar!

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

*

Wir freuen uns über jeden Kommentar bzw. jede Anregung in unserem Blog. Wir möchten Dich jedoch bitten, freundlich zu bleiben. Bitte beachten: Spamkeywordlinks werden von uns direkt gelöscht.