Search code examples
sslhttpsreverse-proxysquidcontent-adaptation

How to setup SSL bumping for content adaptation


I need to setup a reverse proxy which intercepts HTTPS requests, decrypts them, performs body adaptation and finally forwards the re-encrypted request.

I'm now using Squid which provides support for eCAP plugins and ssl bumping: http://wiki.squid-cache.org/Features/SslBump

If I understood well, by configuring SSL bumping I can do exactly what I said above. However, ssl bumping is not working for now.

Here is my Squid configuration:

https_port 8080 cert=/etc/squid/cert.pem key=/etc/squid/key.pem
http_port 3128 ssl-bump cert=/etc/squid/cert.pem key=/etc/squid/key.pem dynamic_cert_mem_cache_size=4MB generate-host-certificates=on
cache_peer 52.170.25.214 parent 8080 0 no-query originserver login=PASS
#always_direct allow all
ssl_bump allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

Client-side, when trying to send a request to https:// 127.0.0.1:8080 I'm getting the following error:

Connection reset by peer

This happens if the destination server is running HTTPS. Looks like Squid is trying to establish a simple HTTP connection instead of a HTTPS request. Indeed, server-side I'm getting a SSL23_GET_CLIENT_HELLO error.

Is there anything wrong in my configuration? Is there anything I missed in how SSL bump works?


Solution

  • I digged into the problem and here is what I found:

    1) ssl-bump option is not needed

    2) the problem was that in the following line the ssl option was missing

    cache_peer 52.170.25.214 parent 8080 0 no-query originserver login=PASS **ssl**