Apache htaccess, LDAP Authentication

Veröffentlicht von

Unser Wunsch: Windows Server 2012 AD, externer Zugriff auf diverse Dienste via Apache Proxy mit AD Authentifizierung

LDAP Authentifizierung mit Apache kann durchaus tricky sein, viele der Anleitungen im Netz haben unterschiedliche Ansätze oder Voraussetzungen. Unser Hauptproblem war, dass die eigentlichen Benutzer in einer Organisation Unit (OU) angelegt waren, die aber nicht mit CN=Users verknüpft war.

Unser Active Directory hat unter anderem folgende Ausprägung mit folgenden Wünschen an die Berechtigungen:

– humanoide Benutzer sind in einer eigenen OU=Interne Mitarbeiter
– CN=Users ist die allgemeine Benutzergruppe
– Benutzer sollen sich mit vorname.nachname wie unter Windows anmelden können
– Nur Benutzer einer bestimmten Gruppe dürfen Zugriff haben
– Authentifizierung mittels LDAP via Active Directory

Lösung:
– In der CN Users wurde eine neue Gruppe ldap_dienstname angelegt und die zulässigen Benutzer hinzugefügt
– In der CN Users wurde ein neuer Benutzer ldap_dienstname_search angelegt – dieser ist nötig für die LDAP Suche des Apache

.htaccess

  #-------- LDAP auth ---------------------
	AuthType Basic
	AuthName "Bitte authentifizieren" 
	AuthBasicProvider ldap
	AuthzLDAPAuthoritative On
	# AuthLDAPBindDN und AuthLDAPBindPassword wird benoetigt, da
	# keine anonyme suche im LDAP erlaubt ist.
        # Dies ist ein eigens dafür anlegter AD Benutzer.
	AuthLDAPBindDN "ldap_dienstname_search@intern.domain.de"
	AuthLDAPBindPassword "passwort"
	AuthLDAPURL "ldap://192.168.221.1:389/ou=Interne Mitarbeiter,dc=intern,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*)"
	# "AuthLDAPGroupAttributeIsDN" muss auf "Off" gesetzt sein,
	# sonst wird in der Mitgliederliste
	# immer nach dem vollständigen DN des Benutzers gesucht
	# und nicht nur nach der uid
	#AuthLDAPGroupAttributeIsDN Off
	AuthLDAPGroupAttribute memberUid
	Require ldap-attribute memberOf="cn=ldap_dienstname,cn=Users,dc=intern,dc=domain,dc=de"
	#-------- LDAP auth ---------------------
 

2 Kommentare

    1. Hallo Michael, danke für dein Interesse und sorry für die sehr späte Antwort. Ich verwende diese Konfiguration ausschließlich im internen Netzwerk, wo LDAP (bzw. AD) im Firmennetzwerk vorliegen. Wobei natürlich der Zugriff von außen gesichert ermöglicht wird, was in deinem Falle leider nicht helfen wird. Alternativen sind VPN Verbindungen, worüber die meisten Protokolle genutzt werden können, Stichwort LDAP over SSL. Sollten Sie einen Root Server haben, können Sie so etwas zumeist selbst einrichten, bei normalen Hosting-Angeboten habe ich LDAP oder VPN noch nicht gesehen.

Kommentare sind geschlossen.