Main article with details on TLS and HTTP evasion is available at: https://live.paloaltonetworks.com/t5/Customer-Advisories/Information-regarding-TLS-HTTP-header-evasion/ta-p/76562 The inclusion of DNS proxy ensures that the client will receive exactly same server IP address that the firewall has resolved. There are three possible scenarios: 1) Client does not send a DNS requests and connects directly to the IP with specific SNI header on Client Hello request. Firewall performs a lookup on the domain in SNI header and if the IP address returned by DNS server matches destination IP of clients request, the traffic will be passed, else it will trigger evasion signature. 2) Client sends DNS request directly to external DNS server and subsequently connects to the IP address that was returned by the server with corresponding SNI header. Firewall performs a lookup on the domain in SNI header and if the IP address matches, the traffic will be passed, else it will trigger evasion signature. Note that firewall's and client's DNS requests are independent, and thus each can have a different IP address returned. This is common for large, cloud-based websites (Google, Facebook etc.) that use this for load-balancing purposes. 3) Client send DNS request to DNS proxy on the firewall. Firewall performs DNS lookup and sends client the IP address returned by DNS server. In this case client and firewall have received same IP address for the domain and therefore the subsequent connection from client will match the IP with the SNI header (the result from DNS query is cached on the firewall and no further lookup is necessary). Traffic is therefore allowed. For associated Suspicious HTTP Evasion Found feature the mechanism is the same, except the lookup is done for Host header in HTTP request instead of SNI.
... View more