Apache: LDAP-Authentifizierung
Wer einen Webserver betreibt hat meistens einige Inhalte, die nicht für die Öffentlichkeit bestimmt sind und daher mit einem Kennwort geschützt werden sollen. Zum Beispiel die Zugriffsstatistiken.
Normalerweise verwendet man hierzu eine .htaccess
-Datei in Verbindung mit einer Kennwortdatei. Praktischer ist es jedoch wenn man auf Benutzer in einer LDAP-Datenbank zurückgreifen kann, da die Benutzer sich keine zusätzlichen Kennwörter merken müssen.
Auch hierbei kann eine .htaccess
-Datei verwendet werden, die Kennwortdatei entfällt jedoch.
Zunächst sind aber erst einmal die entsprechenden Apache-Module für die LDAP-Authentifizierung einzuschalten:
a2enmod ldap
a2enmod authnz_ldap
/etc/init.d/apache restart
Anschließend kann die .htaccess
in dem zu schützenden Verzeichnis angelegt werden (alternativ kann man die entsprechenden Zeilen auch direkt in die Apache-Konfiguration einfügen):
#/var/www/webalizer/.htaccess
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthName "Password protected. Enter your username and password."
AuthLDAPURL "ldap://localhost/ou=people,dc=ldap,dc=example,dc=com?uid?sub?(objectClass=*)"
Require valid-user
Mit AuthBasicProvider
wird die LDAP-Authentifizierung eingeschaltet. AuthLDAPURL
legt zum einen die Verbindung zum LDAP-Server fest, zum anderen wird hier das Attribut ausgelesen, mit dem der Benutzer identifiziert wird (hier also die uid
).
Die Option Require valid-user
erlaubt den Zugriff jedem im LDAP-Verzeichnis gefundenen Benutzer. Mit der Option Require ldap-user
könnte der Zugriff auch auf einzelne Benutzer eingeschränkt werden. Mit Require ldap-group
auf bestimmte LDAP-Gruppen.
Siehe auch: http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html