PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : htaccess mit AD



basstscho
06.11.08, 16:43
Hallo zusammen,

ich würde gerne eine htaccess Authentifizierung über die Benutzer aus dem AD (w2k3) machen. Webserver ist ein Apache 2 mit php5. Kennt hierzu jemand eine gute Anleitung? Ich habe beim googeln immer nur Fragmente gefunden, die irgendwie nie richtig funktioniert haben.

Oder gibt es eine andere Möglichkeit? Mir würde es auch schon reichen, wenn ich jede Nacht die Benutzer aus dem AD in eine htpasswd exportieren könnte...

Ich danke euch,
Grüße Johannes

asi_dkn
06.11.08, 16:52
htaccess authentifizierung?

Mit AuthLDAP:


AuthLDAPURL "ldap://directory.example.com:389/DC=example,DC=com?sAMAccountName?sub?(objectClass= *)" NONE
AuthLDAPBindDN "CN=apache,CN=Users,DC=example,DC=com"
AuthLDAPBindPassword hackme

require valid-user

Es gibt, glaube ich, sogar Beispiele auf der Webseite des Apache HTTPD. Einfach mal dort nach AuthLDAP suchen. Oder bei Google mal nach "AuthLDAP Active Directory", irgendwo wirst du schon alles finden was du brauchst ;)

drcux
06.11.08, 16:55
http://ist.uwaterloo.ca/security/howto/2005-12-20/

basstscho
06.11.08, 17:16
Hallo zusammen,

vielen Dank für die schnellen Antworten!

Auf dieser Seite: http://ist.uwaterloo.ca/security/howto/2005-12-20/ war ich bereits - muss aber gestehen, dass ich hier Probleme habe die AuthLDAPUrl zu erstellen.
Daraufhin habe ich mich dann mal bemüht, über Wikipedia etc. herauszufinden wie sich das genau aufbaut - bin aber da auch nicht so recht schlau daraus geworden und bin mir halt auch nicht sicher ob das alles so stimmt, wie ich mir das gedacht habe.

Von daher die Bitte an die Profis, dass ihr mir kurz schreibt (am besten auch schildert) wie die url denn aussehen muss - hier ein paar Eckdaten:
DC: titan.domainname.local
Domain: domainname.local

Was braucht ihr noch?
Das gleiche bei dem Bind-Benutzer AuthLDAPBindDN
Dieser befindet sich in oben genannter Domain, in der Gruppe verwaltung (mal testweise) und heißt binduser.

Ich wäre euch sehr verbunden, wenn ihr mich hier noch kurz an der Hand nehmen könntet, weil dann stimmt zumindest mal der Pfad :)

Weitere Infos gebe ich euch sehr gerne,
vielen Dank,
Johannes

stefaan
06.11.08, 17:55
Servus!

Ich bin auch länger gesessen, aber es läuft nun. Hier meine Config unter Ubuntu 6.06.


AuthType Basic
AuthName "Anmeldung mit Windows-Passwort"
AuthLDAPURL "ldap://serverip:389/OU=abteilung,OU=domusers,DC=domain,DC=local?sAMAcc ountName?sub?(objectClass=*)"
AuthLDAPBindDN apache@domain.local
AuthLDAPBindPassword ganzgeheim
require valid-user

Der User Apache ist ein ganz normaler Domänenuser. Für den Apachen musst du noch das Modul auth_ldap laden.

Grüße, Stefan

basstscho
06.11.08, 18:12
Hey stefaan,

das sieht ja schon ganz gut aus - soweit habe ich das eigentlich auch bei mir - es muss wohl aber irgendwas bei mir mit der URL nicht stimmen.

Was muss ich hierfür einsetzen:
OU=abteilung,OU=domusers,DC=domain,DC=local?
Was bedeutet das OU?


Grenze ich mit OU die Benutzer ein, die sich anmelden dürfen? Also wenn ich eine Gruppe verwaltung habe, die sich da anmelden dürfen soll, muss ich für OU=verwaltung eintragen?

Die Domain hier heißt test.local

Heißt der Pfad dann:

ldap://i.p.i.p:389/OU=verwaltung,DC=test,DC=local?sAMAccountName?sub? (objectClass=*)"
.

Im error_log kommt folgende Meldung:


[client 10.1.0.34] (9)Bad file descriptor: Could not open password file: (null)


Danke,
Grüße Johannes

stefaan
06.11.08, 18:18
Servus!

Bei uns liegt im AD in der Domäne ein Container "domusers", unter dem noch ein Container mit "abteilung" liegt. Darin sind die User angelegt.
Keine Ahnung wie oder warum, ich bin für den Win2k3-Server nicht zuständig.
Anhand von Gruppen soll es auch gehen, aber damit habe ich mich noch nicht beschäftigt.

OU = Organizational Unit

Grüße, Stefan

basstscho
06.11.08, 18:32
Hey,

also jetzt bin ich schon weiter, es kommt folgende Meldung in der error_log:


[warn] [client 10.1.0.34] [9193] auth_ldap authenticate: user username authentication failed; URI /test [ldap_search_ext_s() for user failed][No such object]


So schaut bei uns die Struktur aus:
http://bixnet.de/domain.jpg

in der htaccess hab ichs nun so:


AuthType Basic
AuthName "LDAP"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ip:389/OU=Accounts,OU=User,DC=test,DC=local?sAMAccountNam e?sub?(objectClass=*)"
AuthLDAPBindDN apache@test.local
AuthLDAPBindPassword password
require valid-user


Stimmt das so theoretisch? Irgendwas wohl noch nicht ;)

Grüße Johannes

stefaan
07.11.08, 00:32
Servus!

Vertausch einmal die beiden OU-Einträge Accounts und User.
Dann hast du die Hierarchie von rechts nach links absteigend abgebildet.

Grüße, Stefan