LDAP Authentifizierung

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

LDAP Authentifizierung

Postby docstone » 14. October 2009 15:35

Hallo Community!

Ich hoffe ihr könnt mir helfen!

ich habe einen Apache2 Server, der eine Website hostet:

https://site.company.at

Diese Site ist mit der Directive <Location /> via LDAP gesichert. Dies funktioniert auch. Hier ist ein require ldap-group aufgeschalten

Nun habe ich aber noch Aliases definiert:

https://site.company.at/alias1
https://site.company.at/alias2
usw.

nun möchte ich diese seiten/aliases auch anderen gruppen zugänglichmachen, und habe extra Direktiven <Location /alias1> definiert, worin ich

require ldap-group group1
require ldap-group group2

definiert habe!

leider kommt laut logfile immer nur die erste direktive zum Zug, die von <Location />.

Wie kann ich die Authentifizierung auf die <Location /alias1> usw. erweitern?


//edit:

ich habe das Problem nun ein wenig eingrenzen können!

Wenn ich aus <Location /> die komplette LDAP AUth rausnehme, komme ich ohne User/Passwort auf die Seite, allerdings auch auf die ALIASES.

und das, obwohl die Aliases eigene Locations mit aktivierter LDAP Authentifizierung haben.

warum zieht die Authentifizierung auf Aliases nicht?

lg,
Jörg
docstone
 
Posts: 6
Joined: 14. October 2009 15:29

Re: LDAP Authentifizierung

Postby docstone » 19. October 2009 08:53

Hallo!

wollet noch mal nachfragen, ob da wirklich keiner was weiß?

wär mir sehr wichtig, dass das zum laufen kommt!

lg,
Jörg
docstone
 
Posts: 6
Joined: 14. October 2009 15:29

Re: LDAP Authentifizierung

Postby Stepke-DSL » 19. October 2009 09:43

Vielleicht hilft dir das weiter:
Apache Doku

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

Re: LDAP Authentifizierung

Postby docstone » 20. October 2009 08:07

Stepke-DSL wrote:Vielleicht hilft dir das weiter:
Apache Doku

MfG Stepke


Hi!

Das kenn ich schon, hat aber nichts mit dem o.a. Problem zu tun!

Ich hab nur einen LDAP-Server, der wird mehrmals abgefragt!

Mein Problem ist nur, das die LDAP-Directiven in den <DIRECTORY> Abschnitten NIE zum Zug kommen, warum auch immer!
Die LDAP Anweisungen aus dem Directory "/" überlagern hier alles...

lg,
Jörg
docstone
 
Posts: 6
Joined: 14. October 2009 15:29

Re: LDAP Authentifizierung

Postby Stepke-DSL » 20. October 2009 08:30

Aliase verweisen nur auf einen Pfad, dafür kannst du meines wissens keine extra Angaben, wie z.B. Authentifizierungen machen.
Diese Angaben kannst du nur in Directory-Anweisungen machen, was du ja aber schon gemacht hast...

Mir fällt jetzt auf die Schnelle keine Lösung für dein Problem ein.

Aber mal eine andere Frage, warum gibst du nicht gleich allen Gruppen, die Zugriff haben sollen die Berechtigung?

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

Re: LDAP Authentifizierung

Postby docstone » 20. October 2009 08:55

Stepke-DSL wrote:Aber mal eine andere Frage, warum gibst du nicht gleich allen Gruppen, die Zugriff haben sollen die Berechtigung?
MfG Stepke


Hi!

das ist ganz einfach:

weil nicht alle gruppen auf alle Aliases zugreifen dürfen!

Gruppe 1 darf nur auf https://seite/alias1 aber nicht auf https://seite/alias2

lg,
Jörg
docstone
 
Posts: 6
Joined: 14. October 2009 15:29

Re: LDAP Authentifizierung

Postby Stepke-DSL » 20. October 2009 09:10

Bekommen die denn dann den gleichen Inhalt zu sehen?
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Re: LDAP Authentifizierung

Postby Nobbie » 20. October 2009 09:27

docstone wrote:Mein Problem ist nur, das die LDAP-Directiven in den <DIRECTORY> Abschnitten NIE zum Zug kommen, warum auch immer!


Was denn nun - <Directory ..> oder <Location ...> (s. erstes Posting)?

Wie sind denn die Aliase definiert (bitte exakte Angabe) und wie ist die Authentifizierung definiert (bitte auch genaue Angabe)? Vielleicht ist da ja ein Querstand?!
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: LDAP Authentifizierung

Postby docstone » 23. October 2009 07:04

hier die wdb.conf aus /etc/apache2/sites-available

Code: Select all
<VirtualHost *:443>
        ServerName  wissen.pidas.at
        DocumentRoot "/usr/local/Wissensdatenbank"

        # Download fuer IE:
        #header unset Pragma:
        #RequestHeader unset Pragma

        # SSL
        SSLEngine on

        # SSLCipherSuite HIGH:MEDIUM

        SSLCertificateFile /usr/local/SSL/WILDCARD.pidas.at.crt
        SSLCertificateKeyFile /usr/local/SSL/WILDCARD.pidas.at.key

</VirtualHost>

<Directory />
  AllowOverride none
  AuthzLDAPAuthoritative on
  AuthBasicProvider ldap
  AuthLDAPCompareDNOnServer on
  AuthType Basic
  AuthName "wissen.pidas.at LDAP/AD Security"
  AuthLDAPBindDN "CN=USER"
  AuthLDAPBindPassword "PASSWORT"
  AuthLDAPURL "ldap://IPADRESSE:389/ou=Sites,dc=pdgroup,dc=corp?sAMAccountName?sub?(objectClass=*)"
  require ldap-group cn=web_wissen,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp
</Directory>

Alias /magna "/usr/local/Wissensdatenbank/magna"
Alias /pidas "/usr/local/Wissensdatenbank/pidasit"

<Directory /pidasit>
  AuthzLDAPAuthoritative off
  AuthBasicProvider ldap
  AuthLDAPCompareDNOnServer off
  AuthLDAPGroupAttributeIsDN on
  AuthType Basic
  AuthName "wissen.pidas.at Pidas Authorisation"
  AuthLDAPBindDN "CN=USER"
  AuthLDAPBindPassword "PASSWORT"
  AuthLDAPURL "ldap://IPADRESSE:389/ou=Sites,dc=pdgroup,dc=corp?sAMAccountName?sub?(objectClass=*)"
  require ldap-group cn=wdb_pidasit,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp
  require ldap-group cn=web_wissen,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp
  satisfy any
</Directory>

<Directory /magna>
  AuthzLDAPAuthoritative on
  AuthBasicProvider ldap
  AuthLDAPCompareDNOnServer on
  AuthLDAPGroupAttributeIsDN on
  AuthType Basic
  AuthName "wissen.pidas.at Magna Authorisation"
  AuthLDAPBindDN "USER"
  AuthLDAPBindPassword "PASSWORT"
  AuthLDAPURL "ldap://IPADRESSE:389/ou=Sites,dc=pdgroup,dc=corp?sAMAccountName?sub?(objectClass=*)"
  require ldap-group cn=wdb_magna,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp
  require ldap-group cn=web_wissen,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp
  satisfy any
</Directory>


also wie ihr hier seht, gibt es eine LDAP Authentifizierung auf Directory "/" und dann noch über die Directories, die den ALiases zugeordnet sind!

anderwertig in der default.conf ist nur der redirect von port 80 auf 443 definiert, in der apache2.conf ist nichts definiert!

sorry für die Verspätung!

lg,
Jörg
docstone
 
Posts: 6
Joined: 14. October 2009 15:29

Re: LDAP Authentifizierung

Postby Nobbie » 23. October 2009 09:35

Code: Select all
<Directory /magna>


Das ist ja auch Schwachsinn. Gibt es ein Directory /magna bei Euch? Genau das habe ich mir gedacht, das muss so heißen:

Code: Select all
<Directory /usr/local/Wissensdatenbank/magna>


bzw.

Code: Select all
<Directory /usr/local/Wissensdatenbank/pidasit>


und dann klappt das auch.

Ich kann wirklich nicht begreifen, wie man so "rummurksen" kann, statt einfach mal 1 Minute (mehr ist es wirklich nicht) in die Doku zu gucken, was "<Directory>" für einen Parameter erwartet, nämlich (wie überraschend) den Namen eines Directories, und nicht einen Alias (eine Location genau genommen).

Im Grunde ist auch schon "<Directory />" totaler Quatsch, auf Root-Ebene kommt doch sowieso niemand, da sollte bereits der Wert des DocumentRoot stehen, also so:

Code: Select all
<Directory /usr/local/Wissensdatenbank>


Andererseits - es funktioniert natürlich auch für "/" - aber da sieht man schon, dass Ihr Verständnisprobleme habt.
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: LDAP Authentifizierung

Postby docstone » 23. October 2009 11:26

OK, danke für schimpfen ;-)

bin halt nicht so der Profi auf dem Gebiet, aber deshalb hab ich hier Hilfe gesucht!

Ich dachte das bezieht sich relativ auf den Pfad "Documentroot"

in diversen Dokus und Beispielen hab ich das so gesehen!

Nun werd ich das mal ausprobieren, vielen Dank schon mal für deine Hilfe

edit:
Grundsätzlich funktioniert das nun!

aber ich hab da jetzt noch eine Verständnisfrage:

ich habe nun am Documentroot

require ldap-group cn=web_wissen,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp

d.h. jeder User, muss mitglied dieser Gruppe sein!

im directory /usr/local/Wissendatenbank/magna hab ich dies:
require ldap-group cn=web_wissen,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp
require ldap-group cn=wdb_magna,ou=WEBAccess,ou=SpecialGroups,ou=GroupsGlobal,dc=pdgroup,dc=corp


hier dachte ich eigentlich, dass ich mit "Satisfy any" eine ODER-Verknüpfung aufbaue! allerdings wenn ich diese Anweisung aktiviere, bekomm ich bei direkter Eingabe eines Aliases im Browser KEINE Passwortabfrage!

in den Directories der Aliases möchte ich überprüfen, ob ein User entweder Mitglied der einen Gruppe ist, oder der anderen! Er soll nicht in BEIDEN Gruppen Mitglied sein!

kannst du mir dabei noch mal auf die Sprünge helfen?



lg,
Jörg
docstone
 
Posts: 6
Joined: 14. October 2009 15:29

Re: LDAP Authentifizierung

Postby Nobbie » 23. October 2009 12:10

docstone wrote:Ich dachte das bezieht sich relativ auf den Pfad "Documentroot"


So richtig glaubwürdig klingt das nicht, denn selbst wenn man die Doku standhaft verweigert: in der httpd.conf ist ja immer ein "Muster" für <Directory..> drin, nämlich die Zuweisung der Direktiven für den DocumentRoot - und da steht nicht "<Directory />" sondern <Directory /var/www/htdocs> oder wie auch immer der DocumentRoot festgelegt wurde.

Ich sage ja, nur ein ganz klein wenig Doku lesen, das wäre 10 mal schneller gegangen als hier zu fragen. Und das hat mit "Neuling" nichts zu tun. Doku darf jeder lesen.
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: LDAP Authentifizierung

Postby Nobbie » 23. October 2009 12:23

docstone wrote:hier dachte ich eigentlich, dass ich mit "Satisfy any" eine ODER-Verknüpfung aufbaue!


Das ist im Prinzip auch so, aber da wird irgendwo eine fehlerhafte Syntax sein. Ich sehe ja noch nicht einmal ein "Satisfy" hier irgendwo.

Aber, bevor Du jetzt suchst:

docstone wrote:in den Directories der Aliases möchte ich überprüfen, ob ein User entweder Mitglied der einen Gruppe ist, oder der anderen! Er soll nicht in BEIDEN Gruppen Mitglied sein!


Das wüßte ich nicht, wie das gehen soll. Man kann die Bedingungen ja nicht mit boolschen Operatoren verknüpfen - Satisfy All oder Satisfy Any. Ob man im require-Statement mitgeben kann, dass nur eine Gruppenmitgliedschaft erlaubt ist (das wäre theoretisch die richtige Stelle), weiß ich nicht, kann ich mir aber nicht vorstellen.

So eine komplexe Anmeldelogik müßtest Du selbst mit PHP o.ä. ausprogrammieren.
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 12 guests