DNS Resolution of Wildcard FQDN Address Objects :
FQDN Address Objects support wildcard entries, such as "*.somedomain name.com", by first resolving the base domain name to all its defined host IP addresses, and then by constantly actively gleaning DNS responses as they pass through the firewall.
|Note: ||Dynamic Address Object is not supported for IPv6 addresses. |
For example, creating an FQDN Address Object (AO) for "*.logmein.com" will first use the DNS servers configured on the firewall to resolve "logmein.com" to 22.214.171.124, 126.96.36.199, 188.8.131.52 (as can be confirmed by nslookup logmein.com or equivalent. These IP addresses could change). Since most DNS servers do not allow zone transfers, it is typically not possibly to automatically enumerate all the hosts in a domain. For example, SonicWall will not try to resolve secure.logmein.com. Instead, the SonicWall will look for DNS responses coming from sanctioned DNS servers as they traverse the firewall. So if a host behind the firewall queries an external DNS server which is also a configured/defined DNS server on the Dell SonicWall for secure.logmein.com, the SonicWall will parse the response to see if it matches the domain of any wildcard FQDN AOs.
|Note: ||Sanctioned DNS servers are those DNS servers configured for use by the SonicWall firewall. The reason that responses from only sanctioned DNS servers are used in the wildcard learning process is to protect against the possibility of FQDN AO poisoning through the use of unsanctioned DNS servers with deliberately incorrect host entries. Future versions of SonicOS Enhanced might offer the option to support responses from all DNS server. |
To illustrate, assume the firewall is configured to use DNS servers 184.108.40.206 and 220.127.116.11, and is providing these DNS servers to all firewalled client via DHCP. If firewalled client-A performs a DNS query against 18.104.22.168 or 22.214.171.124 for "secure.logmein.com", the response will be examined by the firewall, and will be matched to the defined "*.logmein.com" FQDN AO. The result (126.96.36.199) will then be added to the resolved values of the "*.logmein.com" Dynamic Address Object.
Note: If the workstation, client-A, in the example above had resolved and cached secure.logmein.com prior to the creation of the "*.logmein.com" AO, secure.logmein.com would not be resolved by the firewall because the client would use its resolver's cache rather than issuing a new DNS request. As a result, the firewall would not have the chance to learn about secure.logmein.com, unless it was resolved by another host. On a Microsoft Windows workstation, the local resolver cache can be cleared using the command ipconfig /flushdns. This will force the client to resolve all FQDNs, allowing the firewall to learn them as they are accessed.
Wildcard FQDN entries will resolve all hostnames within the context of the domain name, up to 256 entries per AO. For example, "*.SonicWall.com" will resolve www.SonicWall.com, software.SonicWall.com, licensemanager.SonicWall.com, to their respective IP addresses, but it will not resolve sslvpn.demo.SonicWall.com because it is in a different context; for sslvpn.demo.SonicWall.com to be resolved by a wildcard FQDN AO, the entry "*.demo.SonicWall.com" would be required, and would also resolve sonicos-enhanced.demo.SonicWall.com, csm.demo.SonicWall.com, sonicos-stand ard.demo.SonicWall.com, etc.
Note: Wildcards only support full matches, not partial matches. In other words, "*.SonicWall.com" is a legitimate entry, but "w*.SonicWall.com", "*w.SonicWall.com", and "w*w.SonicWall.com" are not. A wildcard can only be specified once per entry, so "*.*.SonicWall.com", for example, will not be functional.