Hello Jp, Samuel,
The "transparent intercept" proxy as you have (centos) works like this:
- browser needs to connect to
httpS://nintendo.com- browser makes DNS request to resolve
nintendo.com into IP address; DNS server responds with something like 54.187.103.157
- browser makes a HTTPS request to 54.187.103.157 (not knowing there is a proxy!)
- centos network stack catches this request and directs it into Squid
- Squid creates a notification to the Web Safety ICAP server with the message - someone tries to connect to 54.187.103.157, allow?
- Web Safety tells "allow"
- IF YOU HAVE HTTPS FILTERING ENABLED, Squid creates a new connection to 54.187.103.157, de-crypts it and waits for the remote server to respond
- remote server responds, Squid forwards it to web safety and after "allow" verdict, repacks the response with its own certificate and sends data to browser
Implications:
- the .
nintendo.com exclusion that you configured will NOT work as this name is NOT present in the transparent proxy stream *at all* (only IP address is present)
- as Samuel recommended - you need to exclude the whole subnet of
nintendo.com from filtering
- now where to exclude:
* in Squid / ICAP / Exclude / IP Subnet - in order NOT to forward traffic to that subnet from Squid to Web Safety; because it does not need to be fliltered
* in Squid / HTTPS / Exclude / IP Subnet - in order NOT to perform decryption of HTTPS; because most probably a game running on device knows what certificate to expect from
nintendo.com * ideally on CentOS iptables level - in order to NOT get the traffic to that subnet into Squid at all.
Hope I was able to explain :(
Raf
P.S. In explicit proxy scenario browser does not resolve the .
nintendo.com but tells its name to proxy - that is why exclusion works nicely.