Posts Tagged ‘ldap’
Windows Server 2003 und Apache auth_ldap
Nachdem ich heute auf einen Windows Server 2003 die aktuellen Updates eingespielt hatte, streikte die LDAP-Apache Anmeldung an einer meiner Intranet-Seiten mit folgenden Meldung:
1 | auth_ldap authenticate: user carsten authentication failed; URI / [ldap_search_ext_s() for user failed][Operations error] |
Zugegeben war der Windows Server 2003 etwas in Vergessenheit geraten und sehr lange schon nicht mit Updates versorgt, ich kann also nicht sagen, welches hier schuld gewesen ist. Begründung und Lösung wird in diesem ebenfalls sehr alten Bug Report beschrieben. Kurz zusammengefasst liegt das Problem möglicherweise daran, dass bei der Abfrage eines Benutzers mehrere Referenzen zurückgeliefert werden. Umgangen werden kann dies, indem man etwas später erst in den Baum einsteigt, z.B. nur in der OU sucht, in der auch die Benutzer liegen:
1 | AuthLDAPURL "ldap://mydc.mydomain.local:389/ou=users,dc=mydomain,dc=local?sAMAccountName?sub?(objectClass=*)" |
Sollte dies nicht möglich sein, weil man z.B. in mehreren OUs suchen möchte oder muss, so kann man seine » AuthLDAPURL« auf den »Global Catalog« verlegen, hier werden die bösen Referenzen nicht mit zurückgeliefert. Ob der Port 3268 offen ist, verrät ein »nmap«, hier ein Auszug der normalen LDAP-Ports und der des »Global Catalog«:
1 2 3 4 | 389/tcp open ldap 636/tcp open ldapssl 3268/tcp open globalcatLDAP 3269/tcp open globalcatLDAPssl |
Sind Port 3268 und 3269 nicht offen, so wird hier erklärt, wie der »Global Catalog« erstellt wird.
Tauscht man den Port 389 also einfach gegen 3268, so kann man wieder problemlos das gesamte Verzeichnis durchsuchen:
1 | AuthLDAPURL "ldap://mydc.mydomain.local:3268/dc=mydomain,dc=local?sAMAccountName?sub?(objectClass=*)" |
Für mich funktionieren beiden Lösungen, ich bleibe nun aber bei der Nutzung des »Global Catalog«.
