Re: [squid-users] enabling X-Authenticated-user

From: Brett Lymn <brett.lymn_at_baesystems.com>
Date: Fri, 2 Mar 2012 09:23:40 +1030

On Thu, Mar 01, 2012 at 10:02:06PM +1300, Amos Jeffries wrote:
>
> Can't you just support proper authentication?

I can but I have problems if I try and use kerberos for authentication.
I have kerberos working fine with squid, the auth works ok - I even have
it working correctly with the squids behind a load balancer *but* when I
turn authentication on at the upstream proxy the authentication fails at
the upstream. I can see in the status page for the upstream that
kerberos is being tried but failing probably because the principal name
is wrong but I am not sure about that. By the looks of it they are
using samba on the upstream to perform the authentication. I don't know
if it would work finding the keytab and adding the keys that squid
uses... that may have a chance of working... maybe.

Unfortunately, the upstream is pretty much a commercial black box, I
have little control over what it does nor what it requires. I can only
go by the documentation they offer. From what I can see of the logging
and so forth it seems that all the upstream does is take the username
and do a LDAP lookup to get the distinguished name, it can then use that
to check group memberships or look for user specific actions that may be
configured. Again, in my case, since everything is using the same
Active Directory the chances of squid authenticating and the upstream
not finding the user is slim - anyway, in my case, this would not be a
total disaster it would simply mean the user gets a set of default
actions applied to them.

>
> I'm reluctant to add the header because the data is already transmitted
> in the authentication headers.
>

Yes, understood. The problem I have is that, as I said, this upstream
is pretty much a black box so they set the rules and they won't change
them. Hell, the software insists on running on a 32 bit OS and asking
about WTF the 64bit version was was met with pretty much silence.

> Squid does have a little issue automatically mapping
> Kerberos/NTLM/Digest usernames into a Basic auth because we cannot
> easily be sure if a fake password is acceptable or real one needed by
> the upstream. I'm quite happy to accept patches which add that mapping
> ability to Squid in a secure way.
>

Definitely need a real password if the upstream is authenticating.. hmmm
or maybe not...they do give the option of authentication against an ldap
server. I wonder if I could set up a LDAP proxy that would fake up the
authentication, it could check the user exists in AD and just OK the
auth.

I am happy to do anything up to and including coding that will get me
out of this hole - if I cannot make this work somehow then I am going to
have to dump squid and try and get the stupid upstream to do all the
clever things that we currently do with squid, this would be a world of
hurt that will continue to give for the life of the damned things.

> NP: an external_acl_type helper can return the key-pairs "user=X
> password=Y" (both needed to do this) to associate some credentials to
> the request. These are available to login=PASS for relay upstream in the
> Basic auth format.
>

OK but can I manage to get a password when using negotiate? I didn't
think so but I am usually wrong. People here view an authentication
popup box as an error when they are browsing so unless I can make it
work with integrated windows authentication it won't be an option.

-- 
Brett Lymn
"Warning:
The information contained in this email and any attached files is
confidential to BAE Systems Australia. If you are not the intended
recipient, any use, disclosure or copying of this email or any
attachments is expressly prohibited.  If you have received this email
in error, please notify us immediately. VIRUS: Every care has been
taken to ensure this email and its attachments are virus free,
however, any loss or damage incurred in using this email is not the
sender's responsibility.  It is your responsibility to ensure virus
checks are completed before installing any data sent in this email to
your computer."
Received on Thu Mar 01 2012 - 22:53:54 MST

This archive was generated by hypermail 2.2.0 : Fri Mar 02 2012 - 12:00:02 MST