[squid-users] Questions Regarding Transparent Proxy, HTTPS, and ssl_bump
James Lay
jlay at slave-tothe-box.net
Wed Jun 24 17:31:05 UTC 2015
On 2015-06-24 09:41 AM, Tom Mowbray wrote:
> Squid 3.5.5
>
> I seem to have some confusion about how acl lists are processed in
> squid.conf regarding the handling of SSL (HTTPS) traffic, attempting
> to use ssl_bump directives with transparent proxy.
>
> Based on available documentation, I believe my squid.conf is correct,
> however it never seems to actually behave as expected.
>
> I define the SSL port, as usual:
>
> acl SSL_ports port 443
>
> But here's where my confusion lies... Many state to place the
> following line above the ssl_bump configuration lines:
>
> http_access allow SSL_ports
>
> However when I do this, it appears to simply stop processing any other
> rules and allows ALL https traffic through the proxy (which is
> actually how I'd expect a standard ACL list to operate, but then how
> do I actually filter the traffic though our content-based ACL lists?).
> If I put the above line below the ssl_bump configuration options in
> my squid.conf, then it appears to BUMP all, even though I've told the
> config to SPLICE all https traffic, which doesn't work for our
> deployment.
>
> So, does squid actually continue to process the https traffic using
> the ssl_bump rules if the "http_access allow SSL_ports" line is placed
> above it in the configuration?
>
> I should note that we've been able to get filtering to work correctly
> when using our configuration in NON-transparent mode, however our goal
> is get this functionality working as a transparent proxy. We're
> unable to load our self-signed cert onto client machines that will be
> accessing the proxy, so using the "bump" or man-in-the-middle style
> https filtering isn't a viable option for us.
>
> Any help or advice is appreciated!
>
> Thanks,
>
> Tom
Tom,
You kinda have to change the way you think about filtering when it comes
to Squid 3.5.5 and SSL(TLS). Normal http traffic is easy....here's
where we're trying to go and here's a list of place we're alloed to
go...simple.
Not so with SSL(TLS). Squid can't filter, since Squid may or may not
know where we're going...and that's the issue..it's where those ssl_bump
atStep ACL's come in. Some sites when you connect to them are
easy-ish..when you connect your device sends a "Server Name Information"
(SNI) that says where you're going. Other sites don't have any
information until you complete the SSL handshake (how can you filter a
site name, until squid KNOWS the site or at least domain name?).
If you're still wanting to go through with transparent (intercept) proxy
with SSL, search through the list for my SSL Deep dive posts...that
config is working for me so far (granted, not in an enterprise
environment). However, as Amos said,....if you choose not to install
the cert on the client machines, you are either a) going to be out of
luck on LOT'S of websites because they will fail the SSL handshake, or
b) teaching your users to ignore the security warnings of their
browser's....neither of which is a good thing.
Hope that helps.
James
More information about the squid-users
mailing list