[squid-users] benefits of using ext_kerberos_ldap_group_aclinstead of ext_ldap_group_acl

Simon Stäheli sis at open.ch
Tue Feb 10 16:33:30 UTC 2015


>>>> "Amos Jeffries"  wrote in message news:54BE3B5C.8040800 at
>>>> treenet.co.nz...
>>>> 
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>> 
>>>> On 20/01/2015 11:31 p.m., Simon Stäheli wrote:
>>>>> Are there any other benefits in using ext_kerberos_ldap_group_acl
>>>>> instead of ext_ldap_group_acl except the "Netbios name to Kerberos
>>>>> domain name” mappings provided by the -N option. As far as I can
>>>>> tell, this mapping can also easily be done by writing you own
>>>>> helper perl script which is doing the mapping and finally feeds the
>>>>> more common ext_ldap_group_acl helper.
>>>>> 
>>>> 
>>>> Whatever floats your boat. The point of the Addon/Plugin/helpers API
>>>> is that you can use scripts if thy serve your needs better.
>>>> 
>>>> All the usual Open Source benefits of "many eyeballs" and somebody
>>>> else doing code maintenance for you applies to using a bundled helper
>>>> over a custom written one.
>>>> 
>>>> Beyond that the kerberos helper also provides automatic detection of
>>>> which LDAP server to use via mutiple auto-configuration methods.
>>>> 
>>> 
>>> The idea of the helper was to automate most of the configuration (
>>> ignoring
>>> some performance ) and avoid using a username/password, support users
>>> from
>>> multiple domains. Secondly I wanted check for nested groups which was
>>> not
>>> available in the existing helper and thirdly I also check now against
>>> the
>>> primary group of the user.
>>> 
>> 
>> Thank you Markus for your explanations. I played around with
>> ext_kerberos_ldap_group_acl and would like to go into some details:
>> 
>> 1) it is possible to define more than one LDAP server (e.g. for high
>> availability reasons)? The -l parameter allows only one ldap url while
>> -S allows several "server > realm" - mappings.
>> 
> 
> I didn't see the need.  The -l was more for cases when digest or basic auth 
> is used and I do not know the domain to check against.  So a fallback 
> option.
> 
> 
>> 2) It is correct, that compared to ext_ldap_group_acl,
>> ext_kerberos_ldap_group_acl does not require a groupname as input (from
>> stdin), because -g -t -T or -D control the group name?!
>> 
> 
> You have two options with ext_kerberos_ldap_group_acl  as input or as -g .. 
> control
> 
> 
>> 3) What is the use case for defining -g GROUP@? What is the difference
>> to -g GROUP (without @)
>> 
> 
> -g GROUP is for all users including the once with nor provided domain
> 
> 
> The an pages describe it a bit under Note:
> 
> 1) For user at REALM
>   a) Query DNS for SRV record _ldap._tcp.REALM
>   b) Query DNS for A record REALM
>   c) Use LDAP_URL if given
> 
> 2) For user
>   a) Use domain -D REALM and follow step 1)
>   b) Use LDAP_URL if given
> 
> The Groups to check against are determined as follows:
> 
> 1) For user at REALM
>   a)  Use  values  given  by -g option which contain a @REALM e.g. -g
> GROUP1 at REALM:GROUP2 at REALM
>   b) Use values given by -g option which contain a  @  only  e.g.  -g
> GROUP1@:GROUP2@
>   c)  Use values given by -g option which do not contain a realm e.g.
> -g GROUP1:GROUP2
> 
> 2) For user
>   a) Use values given by -g option which do not contain a realm  e.g.
> -g GROUP1:GROUP2
> 
> 3) For NDOMAIN\user
>   a) Use realm given by -N NDOMAIN at REALM and then use values given by
> -g option which contain a @REALM e.g. -g GROUP1 at REALM:GROUP2 at REALM
> 
> 
> 
>> 4) The "query DNS for SRV record _ldap._tcp.REALM" mechanism seems no to
>> work for me although the DNS server is configured correctly and querying
>> with "dig SRV _ldap._tcp.REALM" works fine. Anything to consider here?
>> _ldap._tcp.REALM SRV query was never sent so far.
>> 
> 
> I would not see an obvious reason.   Does -d show any hints ?  I can only 
> imagine that REAM is not what is send by the client.
> 
>> 5) Similar issues with the Kerberos feature. Keytab und Kerberos config
>> are available and exported, but the helper only says:
>> support_ldap.cc(888): DEBUG: Setup Kerberos credential cache
>> support_ldap.cc(897): DEBUG: Kerberos is not supported. Use
>> username/password with ldap url instead
>> 
> 
> The message support_ldap.cc(897): DEBUG: Kerberos is not supported. means 
> your Kerberos installation is not fully available. It means HAVE_KRB5 is not 
> set ( maybe header files were missing).


Can you give me some further information about the requirements of the helper regarding kerberos? I am trying to use it with Heimdal kerberos (Heimdal 1.3.3). negotiate_kerberos_auth for example works very well with the present kerberos libraries. 


> 
>> Instead of that I found a dns SRV _kerberos._udp.REALM query which was
>> actually answered by the dns. I assume this is related to the Kerberos
>> feature?
> 
> yes it is. It is a way to find the kdc.
> 
>> 
>> 6) It is possible to use the helper when DNS service is not reachable?
>> Got some error messages during testing:
>> 
>> kerberos_ldap_group: DEBUG: Canonicalise ldap server name
>> 213.156.236.111:3268
>> kerberos_ldap_group: ERROR: Error while resolving ip address with
>> getnameinfo: Temporary failure in name resolution
>> kerberos_ldap_group: DEBUG: Error during initialisation of ldap
>> connection: Success
>> 
> 
> If you add a line to your hosts file and use the approriate nsswitch.conf it 
> should work.  You can also add a line to the hosts file for the domain for 
> the case the SRV record fails.
> 
> 
>> Beside this tiny issues the helper works excellent (tested with basic,
>> NTLM and Kerberos authentication). I am just trying to discover the
>> whole potential. Thank you very much for any responses.
>> 
>> Regards
>> Simon
>> 
> 
> Regards
> Markus
> 
>>>> If you can demonstrate that the ext_kerberos_ldap_group_acl does
>>>> provides a superset of the functionality of ext_ldap_group_acl helper
>>>> then I can de-duplicate the two helpers.
>>>> 
>>>> Amos
>>> 
>>> Regards
>>> Markus
>> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4030 bytes
Desc: not available
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20150210/f5f16b0f/attachment.bin>


More information about the squid-users mailing list