Search squid archive

Re: enabling X-Authenticated-user

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01.03.2012 18:06, Brett Lymn wrote:
On Thu, Mar 01, 2012 at 03:17:43PM +1030, Michael Hendrie wrote:

I have a commercial web filtering and reporting product (although I think different from yours) that can also make use of the X-Authenticated-User header (as well as other user identification methods).


Can't you just support proper authentication?
The proxy-auth headers only exist between your app and the downstream client/proxy app, and are intended for exactly the purpose of securely transmitting details like username. Validation of the client supplied data is up to you, at risk not being able to identify lies unless you do. But that may be fine for your apps purpose and is a risk you face already with the custom X- header.



I have previously patched 3.0 versions of squid using the patch from http://www.squid-cache.org/mail-archive/squid-dev/201004/0199.html.

I'm sure it wouldn't be too hard to port to other versions of squid.


Thanks, that does save me a bit of work but I am reticent of doing an
"unofficial" patch for fear of it breaking when I upgrade squid and
having to respin the patch - I can easily do the respin but others may
not be able to do this which is a bit of a problem.

I think Amos has been pretty clear that this won't be a supported header
and I can understand the reasoning for that.  Having a look at the
instructions for the BlueCoat it started me thinking that maybe a way to approach this in squid is to do something similar - allow a user defined
header to be inserted.  Something like:

insert_user_header X-Foo-Bar %u

Where %u is replaced by the username - if the username is null the
header is not inserted. This would mean that the squid code never has
any non-standard headers in the code base but users can happily shoot
holes in their own feet.

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

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.

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.


Amos


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux