Verzeichnisschutz per BasicAuth-Methode

Mit bspw. AWStats und phpSysInfo gibt es hier zwei vorgestellte Tools, welche über keine eigene Benutzerverwaltung zur Absicherung verfügen und somit die Gefahr besteht, dass Dritte über die entsprechenden Links auf deinem Webserver sensible Daten abgreifen können.

Um dies zu verhindern empfiehlt es sich daher für gewisse Verzeichnisse den durch den Webserver mitgebrachten Verzeichnisschutz (basic Authentication) einzusetzen, welcher beim Aufruf des jeweiligen Verzeichnisses zunächst einen Benutzernamen und das Passwort abfragt.

Abfrage der Anmeldedaten für ein geschütztes Verzeichnis
Abfrage der Anmeldedaten für ein geschütztes Verzeichnis

Wie die Einrichtung beispielhaft funktionieren kann, wird im Folgenden beschrieben.


Benutzerdatei anlegen

Öffne die Konsole / den Terminal und gib folgenden Befehl ein:

sudo htpasswd -c -B /PFAD/ZUR/DATEI/.htusers DERBENUTZERNAME

Du wirst nun gebeten das gewünschte Kennwort für den Benutzer festzulegen und dieses im nächsten Schritt noch mal zu bestätigen.

Willst du weitere Benutzer zu einer Bestehenden Datei hinzufügen, lässt du „-c“ (create) weg:

sudo htpasswd -B /PFAD/ZUR/DATEI/.htusers WEITERERBENUTZERNAME

Anzeige

Verzeichnis schützen

per .htaccess-Datei

Diese Datei ist eine Möglichkeit um einen Verzeichnisschutz umzusetzen. Sie muss in dem Verzeichnis abgelegt werden, welches durch die Abfrage von Benutzername und Passwort geschützt werden soll. Dieser Schutz greift dann auch in den vorhandenen Unterverzeichnissen.

Die Datei kannst du wie folgt über die Konsole / den Terminal anlegen:

sudo nano /PFAD/ZUM/GESCHUETZTEN/VERZEICHNIS/.htaccess

Folgenden Inhalt fügst du in die Datei ein:

AuthType Basic
AuthName "TITEL FUER DAS ANMELDEFENSTER"
AuthUserFile /PFAD/ZUR/DATEI/.htusers
Require user  DERBENUTZERNAME WEITERERBENUTZERNAME

Die Datei speicherst du dann per STRG + O und schließt sie per STRG+X.

Starte nun bitte noch den Webserver neu:

sudo /etc/init.d/apache2 restart

Wenn du nun über einen Browser bspw. http://localhost/PFAD/ZUM/GESCHUETZTEN/VERZEICHNIS/ aufrufst, erscheint zunächst eine Abfrage nach dem Benutzernamen und dem Kennwort.

Werden mehrfach die falschen Daten eingegeben, oder die Eingabe wird durch den Benutzer abgebrochen, wird der Zugriff logischerweise verweigert.

Meldung über abgelehnten Zugriff auf ein geschütztes Verzeichnis
Meldung über abgelehnten Zugriff auf ein geschütztes Verzeichnis

per Konfiguration des virtuellen Hosts (vHOST)

Wenn du mit virtuellen Hosts arbeitest, kannst du auch in dessen Konfigurationsdateien die entsprechenden Hinterlegungen machen, um Verzeichnisse innerhalb deines virtuellen Hosts zu schützen.

Dafür rufst du die Konfigurationsdatei für deinen jeweiligen virtuellen Host auf, bspw.:

sudo nano /etc/apache2/sites-available/000-default.conf

Hier sollte sich bspw. ein solcher Inhalt finden lassen:

<VirtualHost *:80>
    ServerAdmin deine@mail.adresse
    DocumentRoot /var/www/html
    <Directory /var/www/html/>
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Und diesen ergänzt du noch mit folgendem Inhalt:

<Directory "/PFAD/ZUM/GESCHUETZTEN/VERZEICHNIS/">
    AuthType Basic
    AuthName "TITEL FUER DAS ANMELDEFENSTER"
    AuthUserFile /PFAD/ZUR/DATEI/.htusers
    Require user DERBENUTZERNAME
</Directory>

Sodass es im Ganzen dann so aussieht:

<VirtualHost *:80>
	ServerAdmin deine@mail.adresse
	DocumentRoot /var/www/html

	<Directory /var/www/html/>
		AllowOverride All
	</Directory>
	<Directory "/var/www/html/PFAD/ZUM/GESCHUETZTEN/VERZEICHNIS/">
		AuthType Basic
		AuthName "TITEL FUER DAS ANMELDEFENSTER"
		AuthUserFile /PFAD/ZUR/DATEI/.htusers
		Require user DERBENUTZERNAME
	</Directory>	

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Die Datei speicherst du dann per STRG + O und schließt sie per STRG+X.

Starte nun bitte noch den Webserver neu:

sudo /etc/init.d/apache2 restart

Wenn du nun über einen Browser bspw. http://localhost/PFAD/ZUM/GESCHUETZTEN/VERZEICHNIS/ aufrufst, erscheint zunächst eine Abfrage nach dem Benutzernamen und dem Kennwort.

Hinweis: Noch ausführlichere Infos und welche Möglichkeiten du mit dem Verzeichnisschutz noch so hast, bspw. Beschränkungen auf Dateiebene, bringen dir die Hilfestellungen von SelfHTML bei.


Anzeige