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.
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.
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