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 ---------------------
Michael schrieb auf der Seite über mich:
Hallo Markus, hab mir gerade Ihren Artikel https://blog.edenhauser.com/apache-htaccess-ldap-authentication/ durchgelesen und wollte ihn auf meine Domain anwenden. Jetzt sagt mir mein Provider (allinkl.com), dass bei ihm kein LDAP möglich sei. Können Sie mir verraten, bei welchem Provider Sie sind? Im Voraus besten Dank und viele Grüße
Michael
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.