Mit der .htaccess Zugangsschutz zu bestimmten Verzeichnissen einrichten

Sie können den Webserver konfigurieren, dass der Zutritt zu bestimmten Verzeichnissen nur für bestimmte Personen erlaubt wird.
Der Apache Webserver wird über die .htaccess Datei konfiguriert, die im zu sperrenden Verzeichnis erstellt wird. Die Verwendung eines htaccess Verzeichnissschutzes bringt in der Praxis viele Vorteile mit sich, darunter Verbesserungen bei der Sicherheit und bei der Umsetzung der DSGVO (Datenschutz Grundverordnung).

  • Ein zusätzlicher Verzeichnisschutz des /wp-admin Bereichs erzeugt eine zusätzliche Sicherheitsebene. Das Aufwand-/Nutzenverhältnis verbessert sich. Der Aufwand eines Hackingversuchs steigt und macht das Hackingziel unattraktiv.
  • Die DSGVO schreibt vor, dass für die Erfassung personenbezogenen Daten wie es IP Adressen sind, die Zustimmung des Besuchers erfolgen muss. Weil der Wordpress Login über den Aufruf von /wp-admin erfolgt, gilt es dieses Verzeichnis besonders zu schützen. Wie man Wordpress absichern kann haben wir in einem früheren Artikel erörtert. Wird ein IP basierendes Plugin verwendet, das den Login einschränkt, könnte das Einholen einer Zustimmung des Besuchers erforderlich werden. Warum das zwar aberwitzig klingt, aber dennoch zur Zeit so als rechtmäßig erachtet wird können Sie im Artikel zur DSGVO nachlesen.
  • Ein Verzeichnisschutz kann aber auch einfach dann Sinn machen, wenn ein Internetauftritt vorübergehend nicht öffentlich aufrufbar sein soll, wie z.B: bei einem Relaunch.

htaccess Verzeichnisschutz erstellen

Den htaccess Verzeichnisschutz erstellen Sie mit den folgenden Schritten.
Öffnen (oder Erstellen falls noch nicht vorhanden) Sie die .htaccess Datei in dem Ordner, für den Sie den Verzeichnisschutz einrichten möchten. Im Beispielfall ist das der der Ordner wp-admin, der sich im “Document Root” /, also dem vom Webserver ausgelieferten Hauptverzeichnis der Webseite.

$ nano /wp-admin/.htaccess

Fügen Sie in diese Datei den folgenden Inhalt ein:

AuthType Basic
AuthName "Zugriff verweigert - Bitte Benutzername und Passwort eingeben"
AuthUserFile /var/www/vhosts/benutzerverzeichnis/.htpasswd
Require valid user

Die Ordnerstruktur /var/www/vhosts</code> kann je nach Hosting variieren. Das muss entsprechend angepasst werden.

Wordpress Verzeichnisschutz für den Ordner wp-admin und die Datei wp-login.php

Als Alternative zum Verzeichnisschutz des Ordners /wp-admin/ kann der Zugang zum Wordpress Login auch durch die Absicherung der wp-login.php erfolgen.
In diesem Fall wird in der .htaccess des Document Root folgender Code eingefügt:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /var/www/vhosts/benutzerverzeichnis/.htpasswd
Require valid-user

Denken Sie auch hier daran, die Ordnerstruktur des Hostings und den Namen vom Benutzerverzeichnis anzupassen.

Passwort erstellen

Speicherort der .htpasswd festlegen

Im nächsten Schritt erzeugen Sie eine Datei, in der das Kennwort verschlüsselt abgelegt wird. Den Namen dieser AuthUserFile Datei haben wir in der .htaccess Date bereits definiert. Sie trägt den Namen .htpasswd und soll in /var/www/vhosts/benutzerverzeichnis liegen.
Vom Hosting hängt ab, ob Sie außerhalb vom Document Root Zugriff haben. In unserem Beispiel liegt die .htpasswd eine Ebene oberhalb des Document Root. Einfachere Hostingformen wie z.B. Webhosting erlauben nur den Zugriff auf den Document Root / Webroot. Der Speicherort muss in der htaccess dann entsprechend angepasst werden.

Neue .htpasswd erstellen

Wechseln Sie mit dem Befehl cd zum erzeugen der .htpasswd in das entsprechende Verzeichnis.
Mit dem folgenden Befehl erstellen (Achtung: dadurch wird eine vorhandene .htpasswd überschrieben) Sie die Datei .htpasswd:

$  htpasswd -c -B .htpasswd benutzername

Der Parameter -c (create) gibt an, dass eine neue Datei .htpasswd erstellt werden soll, bzw. eine vorhandene überschrieben werden soll.
Der Benutzername soll “benutzername” sein.
Der Parameter -B legt fest, dass das Kennwort in der .htpasswd mit bcrypt verschlüsselt werden soll, das als sehr sichere Verschlüsselungsmethode gilt.

Vorhandener .htpasswd einen neuen Benutzer hinzufügen

Wenn eine .htpasswd Datei bereits vorhanden ist, können Sie dieser Datei neue Benutzer mit Kennwörtern hinzufügen. Diese werden in der Datei in einer neuen Zeile an die vorhandenen Benutzernamen angehängt.

$ htpasswd -B .htpasswd benutzername
Categories: