[squid-users] SOLVED - SECURITY ALERT: Host header forgery detected

Stephen Borrill squid at borrill.org.uk
Wed Jul 17 14:20:51 UTC 2019


(old thread revived)

A common problem is with sites that have very short TTLs.

For instance login.live.com sometimes has a TTL of 60 seconds. The squid
server is using BIND as a recursive DNS resolver and clients are using
the same BIND instance too. All clients (iOS, Windows, Android)
sometimes use an old IP address and so you hit the Host header forgery
detected problem.

I can't see how to mitigate this problem.

On 16/05/18 12:05, Eliezer Croitoru wrote:
> Amos, 
> 
> And this issue is kind of big\mega corp services or CDN services. 
> Now I am really not sure I understand what this security host forgery is about. 
> There are couple cases: 
> - Simple forward proxy with ssl-bump which no header forgery should ever happen when the client requests for a specific domain and no IP 
> - Intercept proxy  with ssl-bump enabled that has no SNI host 
> - Intercept proxy with ssl-bump enabled that has SNI and squid passes the clients SNI host 
> 
> Which one of the above is this specific case? 
> And if there are other cases it's good to list them and I will try to wiki these details. 
> 
> Thanks, 
> Eliezer 
> 
> ---- 
> Eliezer Croitoru 
> Linux System Administrator 
> Mobile: +972-5-28704261 
> Email: [hidden email] 
> 
> 
> 
> -----Original Message----- 
> From: squid-users <[hidden email]> On Behalf Of Amos Jeffries 
> Sent: Tuesday, May 15, 2018 21:28 
> To: [hidden email] 
> Subject: Re: [squid-users] SOLVED - SECURITY ALERT: Host header forgery detected 
> 
> On 16/05/18 02:02, Eliezer Croitoru wrote:
> 
>> Hey Martin, 
>> 
>> Technically there should be a way to inform Squid-Cache about multiple addresses for the same destination. 
>> If Squid doesn't know that it's a real IP of the domains a partial solution is to use the same DNS service but it can also be something else. 
>> For example there should be a way\option for squid to decide if this address of the client or server is secured. 
>> 
>> Amos what do you think? 
>> Can a Host header forgery detection override acl be added? Should it be added? 
>> I believe that  if there are some properties to the remote certificate we can flag the service as "Secure" 
>> IE if the OS runs a "openssl s_client -host www.ubuntnu.com -connect 91.189.89.118:443 
>>  And the certificate is fine then... it's there is no place for any SECURITY ALERT.
> 
> A malicious actor would simply forward the TLS handshake to the real 
> server they are spoofing. Same way Squid does for SSL-Bump. 
> 
> The counter argument of not sending SNI to that suspicious server will 
> have failures with these exact same mega-corp services. Think 
> foo.example.com hosted on Google hosting where the generic server cert 
> is "foo.1e1.net" not "foo.example.com", nor even google.com". 
> 
> 
> The "problem" that needs to be resolved is simply that the genuine 
> servers do not have a reliable match between their IP and client 
> presented domain name(s). 
> 
> Amos 



More information about the squid-users mailing list