httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gruber, Daniel \(Daniel\)** CTR **" <dgru...@alcatel-lucent.com>
Subject Gemischte Autorisierung File/LDAP
Date Thu, 10 Apr 2008 08:59:49 GMT
Hallo Zusammen,

Ich habe die Aufgabe die Autorisierung auf einem Apache 2 umzustellen.

Momentan läuft die Autorisierung über generierte User und Gruppen Files.

Zukünftig sollen User über LDAP authentifiziert werden und anschließend in einem Gruppen
File nach der Berechtigung gesehen werden.

Die ganze Geschichte geschieht in .htaccess Files.

Bestes Ergebnis dass ich bisher erzielen konnte war folgendes:

User gibt richtigen Benutzernamen + Passwort ein und ist in der Gruppe -> Zugang
User gibt richtigen Benutzernamen + Passwort ein ist aber _nicht_ in der Gruppe -> 'Internal
Server Error'
User gibt falschen Benutzernamen ein (Passwort egal) -> 'Internal Server Error'

Ich kann die Fehler alle nachvollziehen, doch erstmal die  .htaccess-Datei:


AuthLDAPEnabled On
AuthLDAPURL ldap://XXXXX
AuthLDAPBindDN "XXXXX"
AuthLDAPBindPassword XXXXX
AuthLDAPAuthoritative Off

AuthUserFile /XXXX/user-leer (<- leeres Userfile )
AuthGroupFile /XXXXX/groups.new
AuthAuthoritative Off

AuthName "XXXXXX"
AuthType Basic
<Limit GET POST PUT>
require group Group1
</Limit>


Der 'Internal Server Error' kommt wohl daher, dass bei beiden Modulen 'Authoritative Off'
angegeben ist und er dann am Ende, falls User+Gruppe nicht korrekt sind, an ein weiteres Modul
weitergeben will welches aber nicht existiert.

Soweit so gut.

Da aber 'mod_auth' anscheinend eine höhere Priorität als 'mod_auth_ldap' hat ist es nicht
möglich eines der Authoritativen auf On zu stellen.
(Die Reihenfolge in der wir die Module laden, hatte keinen Einfluss)

Würde ich 'AuthAuthoritative On' stellen, so würde man den User nicht im leeren Userfile
finden und hier beenden.

Stelle ich 'AuthLDAPAuthoritative On', so kann er zwar den User identifizieren aber es wird
nicht weiter auf die Gruppe im File geprüft - Allerdings wird geprüft ob er in der Gruppe
im LDAP ist.

Ich denke wenn man die Reihenfolge ändern würde, zuerst soll im LDAP gesucht werden dann
im File, könnt man AuthAuthoritative On stellen:

User wird im LDAP gesucht,
falls vorhanden wird nach der Gruppezugehörigkeit in LDAP gesucht.
Kein Erfolg -> nächstes Modul: mod_auth
Nun wird im Gruppenfile gesucht.

Sollte nichts matchen, ist die Authentifizierung fehlgeschlagen.

Nach meinen Recherchen könnte man die Reihenfolge durch 'AuthBasicProvider' bestimmen, dazu
braucht man allerdings ein extra Modul 'mod_auth_basic' welches wir nicht haben.

Die .htaccess-Datei würde dann in etwa so aussehen:

AuthBasicProvider ldap file
AuthLDAPEnabled On
AuthLDAPURL ldap://XXXXX
AuthLDAPBindDN "XXXXX"
AuthLDAPBindPassword XXXXX
AuthLDAPAuthoritative Off

AuthUserFile /XXXXX/user-leer (<- leeres Userfile )
AuthGroupFile /XXXXX/groups.new
AuthAuthoritative On

AuthName "XXXXXX"
AuthType Basic
<Limit GET POST PUT>
require group Group1
</Limit>


Also folgende Fragen habe ich:

1. Ist meine Vermutung richtig, dass ein Tauschen der Reihenfolge zum gewünschten Ergebnis
führt?

2. Stimmt es, dass ich das Modul 'mod_auth_basic' brauche und anschließend das Kommando 'AuthBasicProvider
ldap file' verwenden kann um die Reihenfolge zu ändern?

PS: Da ich das Modul nicht ohne weiteres implementieren kann (würde über mehrere Instanzen
laufen), möchte ich zuerst sicher gehen, da ich nicht besonders viel Erfahrung mit dem Apache
habe.

Gruss, 
Daniel


--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message