Authentifizierung gegen Active Directory auf Win2003

Alles, was den Apache betrifft, kann hier besprochen werden.

Authentifizierung gegen Active Directory auf Win2003

Postby bluebenny » 31. March 2009 17:06

Hallo zusammen.

Ich möchte mit WebDAV ein Verzeichnis veröffentlichen, in dem einige Nutzer Schreibrechte bekommen und andere nicht. Die Benutzer authentifiziere ich gegen ein Active Directory. Im ersten Schritt möchte ich allen AD-Nutzern ausschließlich Leserechte geben, sobald das funktioniert, möchte ich mich an die Unterscheidung der Nutzer wagen.

Ich habe Apache 2.2.11 für Win32 auf meinen Win XP SP2 Desktop installiert. Authentifizierung gegen das AD und read-only Zugriff funktionieren prima.
Wenn ich nun Apache auf meinen Windows Server 2003 SBS installiere und exakt dieselbe httpd.conf verwende, und die Verzeichnisstruktur unterhalb des Installationspfades exakt gleich ist, lese ich im Webbrowser Internal Server Error nach der Authentifizierung mit gültigen Logindaten. Wenn ich ein ungültiges Login verwende, werde ich wiederholt nach dem Login gefragt.
Ich authentifiziere sowohl mit dem WinXP Desktop als auch mit dem Win2k3 SBS gegen das AD vom Windows Server 2003 SBS.

Ich habe das Loglevel auf Debug gesetzt und erhalte dennoch nur folgende Ausgabe im Error-Log:
Code: Select all
[Tue Mar 31 15:45:27 2009] [debug] mod_authnz_ldap.c(377): [client 192.168.1.162] [11072] auth_ldap authenticate: using URL ldap://meinserver/dc=meinedomaene,dc=local?sAMAccountName?sub?(objectClass=*)
[Tue Mar 31 15:45:27 2009] [warn] [client 192.168.1.162] [11072] auth_ldap authenticate: user bluebenny authentication failed; URI /webdav/ [ldap_search_ext_s() for user failed][Fehler beim Vorgang]


Ich hänge mal einen Auszug meiner httpd.conf an.
Code: Select all
DavLockDB "C:/Programme/Apache Software Foundation/Apache2.2/DavLock"
DAVMinTimeout 600

<Directory "C:/Programme/Apache Software Foundation/Apache2.2/htdocs/webdav">
  DAV on
  AllowOverride None
  Options Indexes

  AuthType Basic
  AuthName "Bitte das Windows Login benutzen."
  AuthBasicProvider ldap

  AuthLDAPBindDN "apache@meinedomaene.local"
  AuthLDAPBindPassword "hierstehtdaspasswort"
 
  AuthLDAPURL "ldap://meinserver/dc=meinedomaene,dc=local?sAMAccountName?sub?(objectClass=*)"
  Require valid-user
  <LimitExcept GET HEAD OPTIONS PROPFIND>
     deny from all
  </LimitExcept>
</Directory>


Ich verstehe nicht, warum mein Setup unter Windws XP wie erwartet läuft, unter Windows Server 2003 SBS jedoch nicht.
Ich habe nach der im Log angezeigten Warnung gesucht und auch einige Beiträge gefunden, die ein ähnliches Problem mit Authentifizierung gegen das AD haben, leider waren die Beiträge schon so alt, dass die Links die zur Lösung führen sollten, nicht mehr funktionierten.

Ich freue mich über jeden Hinweis, der mich der Lösung meines Problems näher bringt.

Beste Grüße
bluebenny
bluebenny
 
Posts: 4
Joined: 31. March 2009 15:37

Re: Authentifizierung gegen Active Directory auf Win2003

Postby Stepke-DSL » 01. April 2009 07:26

Hallo,

Ich durfte in unserer Firma eine Authentifizierung gegen das eDirectory realisieren.

Hier meine .htaccess, vielleicht hilfts dir ja:
Code: Select all
AuthType Basic
AuthName "Login"

AuthGroupFile "C:\.htgroups"

AuthBasicProvider ldap
AuthLDAPURL "ldap://server1 server2 server3/?sn"

require group GRUPPE

Wie funktioniert das?

Die ersten 3 Zeilen sollten klar sein...
In der 4. Zeile sagst du, dass er ldap zur Authentifizierung nutzen soll.
In Zeile 5 gibst du die ldap-Server an. Hier wird versucht der Reihe nach die Server zu kontaktieren.
Ist Server1 nicht erreichbar, versucht er es mit Server2 etc.
Wenn er eine Verbindung zu einem Server aufbauen kann, sucht er in allen Objekten nach dem "sn" Attribut (Benutzername).
Stimmen die eingegebenen Daten, bekommst du Zugang, wenn du hier in dem Beispiel zur Gruppe "GRUPPE" gehörst.

Hoffe, dass es dir hilft.

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Re: Authentifizierung gegen Active Directory auf Win2003

Postby bluebenny » 02. April 2009 14:23

Vielen Dank für Deinen Hinweis, ich habe das Auslagern in eine .htaccess-Datei versucht und auch die AuthLDAPURL mal an Dein Schema angepasst.

Die veränderte AuthLDAPURL funktioniert nicht an meinem Active Directory. Im Log liest sich das genauso, wie mit meiner AuthLDAPURL, allerdings verlangt der Browser bei Deinem Schema unabhängig von der Gültigkeit des Logins ein erneutes Login, während bei meiner URL bei validem Login der Browser einen Internal Server Error anzeigt.
Das Auslagern in die .htaccess-Datei hat weder im Log noch in der Ausgabe des Browsers irgendeinen Unterschied gezeigt.
bluebenny
 
Posts: 4
Joined: 31. March 2009 15:37

Re: Authentifizierung gegen Active Directory auf Win2003

Postby bluebenny » 03. April 2009 15:01

Das Problem hat sich erledigt.

Ich habe in der AuthLDAPURL den genauen DN für die Abfrage angegeben.
Code: Select all
AuthLDAPURL "ldap://meinserver/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=meinedomaene,DC=local?sAMAccountName?sub?(objectClass=User)"

meinserver und meinedomaene sind von mir gewählt, die anderen Einträge sind Default-Einträge beim Windows 2003 SBS.

Es bleibt unklar, weshalb sich der Directory-Server unterschiedlich verhält, wenn ein Apache mal von einem entfernten Computer den Request stellt und mal von localhost. Wie auch immer, dieses Verhalten scheint nicht vom Apache abhängig zu sein.

Beste Grüße
bluebenny
bluebenny
 
Posts: 4
Joined: 31. March 2009 15:37


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests