[GELÖST] LDAP GroupCheck in Squid

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

[GELÖST] LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 10.01.2013 11:51:49

Hallo zusammen,

ich möchte gerne in meinem Squid mit dem Tool "squid_ldap_group" gegen eine ldap Gruppe (ADS) prüfen und somit den Mitgliedern der Gruppe "Internet" den Zugriff gewähren.
Das hier ist meine momentane Abfrage, die ich erstmal auf der Konsole teste. Diese bringt aber auch immer einen ERR, wenn ich einen Usernamen eingebe.

Code: Alles auswählen

/usr/lib64/squid/squid_ldap_group -b "cn=Internet,ou=User_Gruppen,dc=test,dc=local" -D "cn=ldap,ou=Users,dc=test,dc=local" -w 'PW-ALLERDINGS-MIT-SONDERZEICHEN' -f "(&(objectClass=person)(sAMAccountName=%u)(memberOf=cn=%g,ou=User_Gruppen,dc=test,dc=local))"  -h srv-dc02.test.local -K -R
Ich habe schon so einige Konstellationen versucht, aber keine hat funktioniert. Kann mir vielleicht jemand dabei helfen?

Danke schonmal!
Zuletzt geändert von mfuhrmann am 01.02.2013 22:29:47, insgesamt 1-mal geändert.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 10.01.2013 20:15:03

Und welchen Error bekommst du?

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 11.01.2013 00:03:13

Ok, ein wenig blöd formuliert. Wenn man dieses Tool startet, spingt der Cursor in die nächste Zeile und man kann einen Usernamen eingeben. Wenn man danach Enter drückt kommt entweder OK, wenn der Ldap Check positiv ist und ein ERR wenn der Check nicht geklappt hat.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 11.01.2013 02:12:31

http://blog.purrucker.de/2008/04/14/squ ... tegrieren/
Geht es denn, wenn man den Befehlt squid_ldap_group von Hand ausführt?

Mann muss dazu natürlich den richtigen Kontext aus dem Active Directory angeben. Es sollte ungefähr so aussehen:

/usr/lib/squid3/squid_ldap_group -R -b “dc=firma,dc=local” -D “cn=SquidAuth,cn=Users,dc=firma,dc=local” -w “password” -f “(&(sAMAccountName=%u)(memberof=cn=%a,cn=Users,dc=firma,dc=local))” -h 172.30.4.31:3268

Danach bekommt man ein Prompt in dem man den Benutzernamen und den Gruppennamen nur durch ein Leerzeichen getrennt eingeben kann. Wenn danach Return drückt bekommt man ein OK zurück, wenn der User in der Gruppe ist. Falls der Benutzer dies jedoch nicht ist oder etwas anderes schief geht bekommt man ein ERR.
Gib mal auch eine Gruppe an und schau ob es dann funktioniert.

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 11.01.2013 16:05:06

Ok. Genau dieses Konstrukt funktioniert! Nur den Port musste ich weglassen.
Nur ist meine Gruppe und die User in anderen OUs.
Ich habe mal das Bsp. erweitert. Ich habe eine ADS Gruppe "internet" in der OU "alle_gruppen". Und die User sind alle in der OU "alle_user" (allerdings gibt es da noch mehrere "UnterOUs").

Anhand der Manpage:
-b basedn (REQUIRED)
Specifies the base DN under which the groups are located.
-f filter
LDAP search filter used to search the LDAP directory for any matching group memberships. In the filter %u will be replaced by the user name (or DN if the -F or -u options are used) and %g by the requested group name.

Code: Alles auswählen

/usr/lib/squid3/squid_ldap_group -R -b “ou=alle_gruppen,dc=firma,dc=local” -D “cn=SquidAuth,cn=Users,dc=firma,dc=local” -w “password” -f “(&(sAMAccountName=%u)(memberof=cn=%a,ou=alle_user,dc=firma,dc=local))” -h 172.30.4.31
Irgendwas muss daran falsch sein. Denn dieser Check funktioniret nicht.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 14.01.2013 15:13:25

Kannst du angeben dass er den ganzen Subtree durchsuchen soll?
Bei Spring Security habe ich so arbeiten müssen sonst bleibt er genau in der OU und geht nicht weiter runter im Baum.

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 15.01.2013 09:52:05

Keine Ahnung. Irgendwie scheint LDAP ein kompliziertes Thema zu sein...
In der Squid-Mailingliste hat mir noch nicht mal jemand auf diese Frage geantwortet. So abstrus ist doch meine Anforderung gar nicht.

Im Manual steht nichts von rekursiven Abfragen.
http://linux.die.net/man/8/squid_ldap_group

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 15.01.2013 14:02:47

-s base|one|sub
search scope. Defaults to 'sub'.
Gib doch mal das ganze sub an um sicher zu gehen.
Aja und es gibt auch noch den schalter -d für Debugmode gib den auch dazu.
Eventuell hilft das ja mal weiter.

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 16.01.2013 14:55:50

Also die -s one|sub|base machen keinen Unteschied. Habe nun mal die Base auf genau die passende OU gemünzt. Nur mal um zu schauen ob es überhaupt geht. Also so:

Code: Alles auswählen

/usr/lib64/squid/squid_ldap_group -d -s sub -R -b 'ou=OU3,ou=OU2,ou=OU1,dc=DOMAIN,dc=LOCAL' -D 'cn=LDAP,cn=USERS,dc=DOMAIN,dc=LOCAL' -w 'PASSWORT' -f '(&(sAMAccountName=CN=%u)(memberof=%a,ou=USERGRUPPEN,dc=DOMAIN,dc=LOCAL))' -h DOMAINCONTROLLER
testuser internet
Connected OK
group filter '(&(sAMAccountName=CN=testuser)(memberof=internet,ou=USERGRUPPEN,dc=DOMAIN,dc=LOCAL))', searchbase 'ou=OU3,ou=OU2,ou=OU1,dc=DOMAIN,dc=LOCAL'
ERR
D.h. der "testuser" ist in "OU3" und die Gruppe "internet" ist in der OU USERGRUPPEN. testuser ist Mitglied in der Gruppe "internet".

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 16.01.2013 16:50:26

Moment da gibts ja zwei verschiedene Filter einmal User und einmal Gruppenfilter die unterscheiden sich durch -F und -f.

Check mal ob du eventuell den falschen Filter hast.

Schön langsam gehen mir echt die Ideen aus. Mit debugging Ausgabe hat das ja leider nur wenig zu tun.

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 17.01.2013 16:29:09

Wenn ich -F anstatt -f schreibe, bringt mir der Befehl nur den Help-Output. %s gegen %u getauscht. Der Filter muss sicher irgendwie angepasst werden. Nur weiß ich nicht wie...
Und Google sucht nicht nicht -F, also nach Großschreibung.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 17.01.2013 17:49:28

Code: Alles auswählen

squid_ldap_group -d -v 3 -b "ou=OU3,ou=OU2,ou=OU1,dc=DOMAIN,dc=LOCAL" -f \ 
 '(&(sAMAccountName=%v)(memberOf=cn=a%,ou=USERGRUPPEN,dc=DOMAIN,dc=LOCAL))' -D cn=LDAP,cn=USERS,dc=DOMAIN,dc=LOCAL \ 
 -w PASSWORT -h DOMAINCONTROLLER
Probier das mal

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 18.01.2013 08:56:06

hec_tech hat geschrieben:

Code: Alles auswählen

squid_ldap_group -d -v 3 -b "ou=OU3,ou=OU2,ou=OU1,dc=DOMAIN,dc=LOCAL" -f \ 
 '(&(sAMAccountName=%v)(memberOf=cn=a%,ou=USERGRUPPEN,dc=DOMAIN,dc=LOCAL))' -D cn=LDAP,cn=USERS,dc=DOMAIN,dc=LOCAL \ 
 -w PASSWORT -h DOMAINCONTROLLER
Probier das mal
Das ist aber auch ein kleines f. Mit großen kommt nur die Hilfe und mehr nicht. Echt toller Debug Modus...

Code: Alles auswählen

/usr/lib64/squid/squid_ldap_group -d -v3 -b 'ou=OU3,ou=OU2,ou=OU1,dc=DOMAIN,dc=LOCAL' -f \
 '(&(sAMAccountName=%v)(memberOf=cn=%a,ou=USERGRUPPEN,dc=DOMAIN,dc=LOCAL))' -D cn=LDAP,cn=USERS,dc=DOMAIN,dc=LOCAL \
 -w PASSWORT -h DOMAINCONTROLLER
testuser internet
Connected OK
group filter '(&(sAMAccountName=testuser) (memberOf=cn=internet,ou=USERGRUPPEN,dc=DOMAIN,dc=LOCAL))', searchbase 'ou=OU3,ou=OU2,ou=OU1,dc=DOMAIN,dc=LOCAL'
ERR

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: LDAP GroupCheck in Squid

Beitrag von hec_tech » 18.01.2013 21:55:38

Ja schon klar hab mich wohl vorher getäuscht das mit dem kleinen f dürfte schon passen.
Leider gibt dieses Skript ja keine wirklichen debugging Informationen heraus.

Ich werd das ganze mal selber testen und hoffentlich finde ich dann eine funktionierende Variante für dich.
Hab zum glück ja noch ein AD für ein ehemaliges Projekt.

Ich finde es nur sehr merkwürdig, dass man im Internet so viele verschiedene Varianten findet und keine einzige Variante funktioniert bei dir.

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 19.01.2013 00:11:34

Vielen Dank hec_tech. Ich bin mal gespannt ob es bei dir klappt.

mfuhrmann
Beiträge: 20
Registriert: 05.11.2012 14:41:34

Re: LDAP GroupCheck in Squid

Beitrag von mfuhrmann » 01.02.2013 22:19:39

Hat mich echt viel Zeit gekostet. Hier die Lösung. Das funktioniert.
/usr/lib64/squid/squid_ldap_group -R -K -b "dc=domain,dc=local" -D administrator -w "AdminPW" \
-f "(&(objectclass=person)(sAMAccountName=%v) \
(memberof=cn=%g,ou=UserGruppen,dc=domain,dc=local))" -h domaincontroller
Danke trotzdem für die Mühe.

Antworten