[squid-users] Squid 4.x and Peek and Splice - Host Header Forgery

John Wright unixdeaf at gmail.com
Tue Oct 18 18:17:12 UTC 2016


Also here is an example showing the issues when pushing to S3 as well as
the same error with some google url's.

2016/10/17 18:33:32 kid1| SECURITY ALERT: Host header forgery detected on
local=209.85.144.113:443 remote=x.x.x.x:62402 FD 49 flags=33 (local IP does
not match any domain IP)
2016/10/17 18:33:32 kid1| SECURITY ALERT: on URL: tools.google.com:443
2016/10/17 18:34:04 kid1| SECURITY ALERT: Host header forgery detected on
local=209.85.144.113:443 remote=x.x.x.x:62405 FD 110 flags=33 (local IP
does not match any domain IP)
2016/10/17 18:34:04 kid1| SECURITY ALERT: on URL: tools.google.com:443
2016/10/17 18:34:45 kid1| SECURITY ALERT: Host header forgery detected on
local=209.85.144.113:443 remote=x.x.x.x:62409 FD 56 flags=33 (local IP does
not match any domain IP)
2016/10/17 18:34:45 kid1| SECURITY ALERT: on URL: tools.google.com:443
2016/10/17 18:35:16 kid1| SECURITY ALERT: Host header forgery detected on
local=209.85.144.113:443 remote=x.x.x.x:62412 FD 65 flags=33 (local IP does
not match any domain IP)
2016/10/17 18:35:16 kid1| SECURITY ALERT: on URL: tools.google.com:443
2016/10/17 18:57:11 kid1| SECURITY ALERT: Host header forgery detected on
local=172.217.17.78:443 remote=x.x.x.x:52958 FD 66 flags=33 (local IP does
not match any domain IP)
2016/10/17 18:57:11 kid1| SECURITY ALERT: on URL:
alt2-safebrowsing.google.com:443
2016/10/17 18:58:00 kid1| SECURITY ALERT: Host header forgery detected on
local=172.217.17.78:443 remote=x.x.x.x:52965 FD 42 flags=33 (local IP does
not match any domain IP)
2016/10/17 18:58:00 kid1| SECURITY ALERT: on URL:
alt2-safebrowsing.google.com:443



Also please note my dig response time :

;; Query time: 1 msec


And from my DNS server itself :

;; Query time: 2 msec


My bind server is setup as a simple forwarder which always returns
repsonses in about 1-2 msec

So again , things that are big , big files, timely requests to query some
API , they all appear to have host header forgery problems that squid shows
and then drops if the request takes longer to process than the TTL of the
DNS entry associated with the traffic

I have many examples and if i dont use squid everything works fine, with
squid it breaks , thats my simple point is squid is seeing an issue the app
and client themselves dont and thats OK but with no way to "disable " or
"workaround" the errors for lets say S3 on AWS

how do i keep using squid?

On Tue, Oct 18, 2016 at 2:10 PM, John Wright <unixdeaf at gmail.com> wrote:

> In response to it not being a false positive , maybe its not specifically
> the TTL but in this other article on the mailing lists someone else had the
> same issue
>
>
> Here is the response Amos gave, this is a known issue and apparently there
> is no way to "ignore host header forgery issues" or bypass them in the
> squid config.
> My understanding is that , maybe the short TTL is ok, but it is small
> enough to where when a cloud based client is connecting to server a server
> b to amazon S3 etc it can take a few seconds
> Thus that 5 second TTL (which again is often 2-3 seconds) is small enough
> to hurt.
>
> Specifically some of these people (aws , google) in some dns situations
> they are doing things that squid has been known to identify as host header
> forgery just becuse it doesnt understand whats happening.
> Also if im doing an S3 call pulling or pushing a big file which is very
> common in cloud environments it can take 10-20 seconds for the request to
> process , and if TTL expires mid stream , squid is for some reason flagging
> as forgery and it hangs until it either returns to the same ip in
> DNS by chance or until the connection is dropped.
>
> http://lists.squid-cache.org/pipermail/squid-users/2016-August/012261.html
> Here is the note from Amos
>
> >>* The cases where Squid still gets it wrong are where the popular CDN
> *>>* service(s) in question are performing DNS actions indistinguishable to
> *>>* those malware attacks. If Squid can't tell the difference between an
> *>>* attack and normal DNS behaviour the only code change possible is to
> *>>* disable the check (see above about the risk level).
> *>>
>
>
> On Tue, Oct 18, 2016 at 2:01 PM, <garryd at comnet.uz> wrote:
>
>> On 2016-10-18 22:42, John Wright wrote:
>>
>>> Hi
>>>
>>> Replying to the list
>>>
>>> Yes i get that error on many different sites same exact error about
>>> host headers.
>>> Also if you watch the TTL on the amazonaws url i provided it changes
>>> from 3 to 5 to 10 seconds to 60 to 10 back and forth.
>>> If you go online to an dns lookup site like kloth i see via kloth 5
>>> seconds TTL
>>>
>>> i get a different TTL value at different times, it appears they dont
>>> have a set TTL but they change it often and it varies.
>>> Right now it appears to be a ttl of 60 seconds as you found but
>>> earlier and over the weekend it has shown 5 seconds and even AWS
>>> support verified it can vary as low as 5 seconds.
>>> That being said , when it is changing every 3-5 seconds which comes
>>> and goes , squid gives the header forgery errors as shown before.
>>>
>>
>> The time interval between client's and Squid's name lookup is measured in
>> milliseconds. So, in most cases, the would not be false positives in
>> environments where same cashing DNS server is used.
>>
>> That specific issue you encounter except alert messages and Squid's
>> inability to cache HTTP responses for "forged" HTTP requests?
>>
>> _______________________________________________
>> squid-users mailing list
>> squid-users at lists.squid-cache.org
>> http://lists.squid-cache.org/listinfo/squid-users
>>
>
>
>
> --
> Thank you for your time,
>
> John Wright
>
>


-- 
Thank you for your time,

John Wright
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20161018/0f31068a/attachment.html>


More information about the squid-users mailing list