Apache-Verzeichnis ohne .htaccess schützen

Aktuell bin ich damit beschäftigt, ein (oder mehrere) Verzeichnisse, die unterhalb eines Apache-DocumentRoot liegen, mit einem Password zu schützen.

Es handelt sich hierbei, wie in den vorherigen Artikeln beschrieben (Teil 1 und Teil 2), um gemountete Windows-Freigaben.

Da ich nicht möchte, dass in den Freigaben selbst eine .htaccess zur Authentifizierung liegt, habe ich nach einer Möglichkeit gesucht, einen Passwortschutz auf Apache-Konfigurationslevel zu erstellen.

Die Lösung nennt sich Digest Authentification.

Probleme während des SetUps

Ich bin bei der Durchführung auf mehrere Probleme gestoßen, die ich nachfolgend erläutern werde:

  1. Invalid command ‚AuthDigestFile‘, perhaps misspelled or defined by a module not included in the server configuration
  2. Trotz (gedacht) korrekten Einstellungen, ist eine Authentifizierung mit hinterlegten Benutzerdaten am Share per Browser nicht möglich; die Anmeldedaten scheinen falsch.

Vorraussetzungen

Es wird ein Apache Webserver (in meinem Fall Version 2.2.3) mit korrekter Konfiguration benötigt.

auth_digest Modul laden

Das Modul „auth_digest“ muss am Webserver aktiviert werden. Bei Debian funktioniert das mit dem Programm „a2enmod“ sehr einfach:

Erstellen von Benutzerdatei

Zur Authentifizierung muss eine Datei (ähnlich der .htpasswd) angelegt werden, die die Benutzer beinhaltet, die Zugriff auf ein „Browser-Share“ erhalten sollen. Diese lässt sich wie folgt erstellen:

Das Realm bezeichnet in diesem Fall eine Zugehörigkeit zur Website. Es ist darauf zu achten, diese Angabe sinngemäß zu treffen!

Konfigurationsdatei der Website anpassen

Nun muss die entsprechende Apache2-Konfigurationsdatei der Website editiert werden. Diese liegen bei Debian unter:

Die bestehende Datei sah bei mir folgendermaßen aus:

Sie wurde um den Eintrag zur Digest-Protection folgendermaßen abgeändert:

Wichtig ist hierbei, dass:

  1. AuthName“ = dem beim Benutzer angegebenem „Realm“ entspricht. Sonst schlägt die Authentifizierung fehl!
  2. AuthUserFile anstatt AuthDigestFile verwendet wird – ansonsten tritt der initial genannte Fehler auf. Hier nachzulesen.
  3. Wie oben zu sehen, kann bei „Require“ auch ein oder mehrere einzelne Benutzer angegeben werden. Bei valid-user sind alle Benutzer in der Passwortdatei für den Zugriff freigeschaltet.
  4. AuthDigestDomain kann mit mehreren Angaben umgehen – wie oben zu sehen. Zusätzlich könnten auch Angaben wie „/Puffer/ /Info/ http://wiki/Puffer“ gelten.

Nach einem Neustart des Apache’s greifen die getätigten Einstellungen und können bei einem ersten Test überprüft werden:

Wirft der Indianer hierbei Fehlermeldungen aus, sollte man zum einen die Fehlermeldung genauer analyieren oder einen Blick in die Apache-Logs werfen, die äußerst Hilfreich bei Problemen sind !!

Diese finden sich unter Debian hier:

Bastian
Bastian

Seit 2006 bin ich täglich im IT-Umfeld unterwegs und interessiere mich für technische Lösungen im Hard- und Softwarebereich, die einem den Alltag erleichtern. Zu meinen Hobbies zählt der 3D-Druck, das Tüfteln, Scripten, eine eigene Holzwerkstatt, sowie der unqualifizierte Umgang mit dem Lötkolben.

Artikel: 126

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert