Apache-Minikurs 2

☰ Menü

Passwortschutz für Ordner anlegen

Wie funktioniert der Zugriff auf einen passwortgeschützten Bereich?

 

HTTP-Authentifizierung

 

Vorbereitungen...

  1. Erstellen Sie den Ordner /var/www/html/private!
  2. In den Ordner können Sie nun einige Dateien (HTML, TXT, Bitmaps, ...) kopieren.
  3. Haben Sie notwendigen Einstellungen in der Datei /etc/apache2/apache2.conf vorgenommen?
<Directory /var/www/html/>
	Options Indexes FollowSymLinks
	# AllowOverride None
	AllowOverride All
	Require all granted
</Directory>

 

Was fehlt noch?

Zunächst müssen Sie Konten / Passwortepaare erzeugen. Dazu verwenden wir den Konsolenbefehl htpasswd.
Außerdem fehlt noch die Datei .htaccess, in welcher die Anmeldung und weitere Optionen einzutragen sind.

 

Aufgaben

  1. Machen Sie sich mit der Syntax des Befehls htpasswd vertraut. Untersuchen Sie vor allem die Bedeutung der Parameters -c und -b!
  2. Erstellen Sie eine versteckte Passwortdatei und tragen Sie in diese Datei wenigstens zwei verschiedene Benutzer mit zugehörigem Passwort ein!
  3. Kann man Apache-Konten anlegen, wenn es kein gleichnamiges Linux-Konto gibt?
  4. Wenn Sie kostenlosen Internetplatz nutzen können, bleibt meistens nur die Möglichkeit die Passwortdatei im zu schützenden Ordner selbst abzulegen. Fachleute halten diesen Speicherort für ziemlich unsicher, obwohl der Apache die Auslieferung versteckter Dateien wie .htaccess und .htpasswd verweigert.
    Wenn Sie den Zugriff auf die Verzeichnisstruktur des Servers haben, sollten Sie in produktiv genutzten Systemen diese Datei nicht in einem Unterordner der DocumentRoot ablegen, sondern in einen Parallelordner. Standardmäßig ist Apache so konfiguriert, dass keine Inhalte außerhalb der DocumentRoot-Verzeichnisstruktur ausgeliefert werden.
  5. Informieren Sie sich über den Aufbau der Authentifizierungsabschnitts der Datei .htaccess: httpd.apache.org/docs/2.4/howto/auth.html#gettingitworking
    Schauen Sie sich insbesondere die Bedeutung der Parameter AuthType, AuthName, AuthUserFile und require an!
  6. Erstellen Sie eine eigenen Datei .htaccess! Verwenden Sie als Authentifizierungstyp Basic!
    Wie der Name erahnen lässt, beherrscht Basic keine Verschlüsselung des Anmeldevorgangs. Hier wird lediglich eine Base64-Codierung genutzt. Andere, sicherere Authentifizierungstypen können erst nach weiteren Konfigurationsarbeiten genutzt werden.
  7. Informieren Sie sich über die Base64-Codierung und stellen Sie die wichtigsten Merkmale stichwortartig zusammen! Mit dem Programm HTTPClient können Sie einige Merkmale der Base64-Codierung interaktiv ermitteln.
  8. Erstellen Sie öffentliche und mehrere geschützte Ordner für unterschiedliche Zugangsdaten, kopieren Sie einige Dateien in die Ordner und testen die Funktionsweise Ihrer .htaccess-Konfigurationen!
  9. Dokumentieren Sie Ihre Vorgehensweise in Form einer Checkliste!

 

HTTP-Status: 401


bzw. im Webbrowser:

HTTP-Status: 401

 

Mögliche Probleme

  1. Die Anmeldung klappt nicht. Apache gibt die Fehlermeldung 50x (Serverfehler) aus.
    Sehen Sie sich die Datei /var/log/apache2/error_log an! Prüfen Sie insbesondere die Pfadangabe der Passwortdatei!
  2. Ich kann mit dem Befehl htpasswd nicht mehr als ein Konto anlegen.
    Schauen Sie sich die Optionen dieses Befehls an!
  3. Icons werden den Dateitypen nicht zugeordnet.
    Überprüfen Sie die Pfadangaben in der Datei .htaccess !
  4. Ich kann keine Dateien hochladen.
    Überprüfen Sie Ihre Vorbereitungen, s. oben!

 

Hilfen und Materialien

Gif-Dateien subfolder.zip
HTTPClient Fundus
Basic-Authentifizierung httpd.apache.org/docs/2.4/howto/auth.html#gettingitworking
Base64-Codierung www.ietf.org/rfc/rfc2045.txt
Base64-Online-(De-)Coder www.base64encode.org

 

W. Hermanns, © 2018