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.
Haben Sie Fragen?
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
kann je nach Hosting variieren. Das muss entsprechend angepasst werden.
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 Webhosting Angebote erlauben häufig nur den Zugriff auf den Document Root. 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