Search squid archive

Re: oddity with squid 3.3.2 and https

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

 



On 15/04/2013 7:22 p.m., Brett Lymn wrote:
I have just updated our proxies to squid 3.3.2 running on rhel 5.8,
mostly this went smoothly apart from some access to https.  As a rule
our proxies authenticate users using kerberos but there some "special"
sites that are allowed access to without authentication.  When accessing
a https site without authentication I see this in the cache.log:

2013/04/15 15:49:51 kid1| WARNING: never_direct resulted in AUTH_REQUIRED. Username ACLs are not reliable here.

This causes the never_direct to fail but only for https - this causes
cache parent selection to fail which results in the https connection
failing.  The never_direct that squid is complaining about is this:

never_direct allow user_rewrite

The ACL user_rewrite is this:

external_acl_type user_rewrite_type children-max=60 children-startup=20
ttl=900 %LOGIN /opt/local/squid/libexec/user_rewrite.pl
acl user_rewrite external user_rewrite_type

The user_rewrite.pl script just strips off the ntlm/kerberos bits in
front of the username so the upstream "security" device sees a username
it understands.  I put the ACL on the never_direct because it is a
"slow" ACL evaluation and fires the rewrite in a, supposedly, harmless
manner.

Not sure why only https is affected, everything did work with squid
3.1.19.

Probably not just HTTPS. The warning will occur on any request being passed to this ACL without authentication credentials. The result you are getting is telling you that the request is *not* authenticated which the config file is assuming.

The %LOGIN format code requires authentication credentials in order to do the helper lookup. never_direct is not a suitable place to be performing auth challenge responses, so the warning is displayed instead of triggering the auth sequence.


I can work around this by putting a bunch of never_direct deny
statements for all the acl's that permit access without authentication
but this is a bit tedious.

If you auth-bypass any traffic in http_access you need to do it consistently in all the other places of your config you are relying on credentials. Like these never_direct rules.

The best solution would probably be to place this ACL on the http_access line where you are accepting auth credentials.

Amos




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

  Powered by Linux