FortiGuard category-based DNS domain filtering
The FortiGate must have a FortiGuard Web Filter license to use FortiGuard Category Based Filter. |
You can use the FortiGuard category-based DNS Domain Filter to inspect DNS traffic. This makes use of FortiGuard's continually updated domain rating database for more reliable protection.
To configure FortiGuard category-based DNS Domain Filter by GUI:
- Go to Security Profiles > DNS Filter and edit or create a DNS Filter.
- Enable FortiGuard Category Based Filter.
- Select the category and then select Allow, Monitor, or Block for that category.
- If you select Block, there are two options:
- Redirect Portal IP. If the DNS query domain will be blocked, FortiGate will use portal IP to replace the resolved IP in DNS response packet. You can use the default portal IP 208.91.112.55 or click Specify to enter another portal IP.
- Block. Blocked DNS query has no response return and the DNS query client will time out.
To configure FortiGuard category-based DNS Domain Filter by CLI:
config dnsfilter profile edit "demo" set comment '' config domain-filter unset domain-filter-table end config ftgd-dns set options error-allow config filters <<<==== FortiGuard Category Based Filter edit 2 set category 2 set action monitor next edit 7 set category 7 set action monitor next ... edit 22 set category 0 set action monitor next end end set log-all-domain enable set sdns-ftgd-err-log enable set sdns-domain-log enable set block-action redirect/block <<<==== You can specify Block or Redirect set block-botnet enable set safe-search enable set redirect-portal 93.184.216.34 <<<==== Specify Redirect portal-IP. set redirect-portal6 :: set youtube-restrict strict next end
Sample
To see an example of how this works, from your internal network PC, use a command line tool such as dig or nslookup to do DNS query for some domains, for example:
#dig www.example.com ;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 61252 ;; Flags: qr rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 13; ADDITIONAL: 11 ;; QUESTION SECTION: ;; www.example.com. IN A ;; ANSWER SECTION: www.example.com. 17164 IN A 93.184.216.34 ;; AUTHORITY SECTION: com. 20027 IN NS h.gtld-servers.net. com. 20027 IN NS i.gtld-servers.net. com. 20027 IN NS f.gtld-servers.net. com. 20027 IN NS d.gtld-servers.net. com. 20027 IN NS j.gtld-servers.net. com. 20027 IN NS l.gtld-servers.net. com. 20027 IN NS e.gtld-servers.net. com. 20027 IN NS a.gtld-servers.net. com. 20027 IN NS k.gtld-servers.net. com. 20027 IN NS g.gtld-servers.net. com. 20027 IN NS m.gtld-servers.net. com. 20027 IN NS c.gtld-servers.net. com. 20027 IN NS b.gtld-servers.net. ;; ADDITIONAL SECTION: a.gtld-servers.net. 21999 IN A 192.5.6.30 a.gtld-servers.net. 21999 IN AAAA 2001:503:a83e::2:30 b.gtld-servers.net. 21997 IN A 192.33.14.30 b.gtld-servers.net. 21997 IN AAAA 2001:503:231d::2:30 c.gtld-servers.net. 21987 IN A 192.26.92.30 c.gtld-servers.net. 20929 IN AAAA 2001:503:83eb::30 d.gtld-servers.net. 3340 IN A 192.31.80.30 d.gtld-servers.net. 3340 IN AAAA 2001:500:856e::30 e.gtld-servers.net. 19334 IN A 192.12.94.30 e.gtld-servers.net. 19334 IN AAAA 2001:502:1ca1::30 f.gtld-servers.net. 3340 IN A 192.35.51.30 ;; Received 509 B ;; Time 2019-04-05 09:39:33 PDT ;; From 172.16.95.16@53(UDP) in 3.8 ms
To check the DNS Filter log in the GUI:
- Go to Log & Report > DNS Query to view the DNS traffic that just traverse the FortiGate and the FortiGuard rating for this domain name.
To check the DNS log in the CLI:
#execute log filter category utm-dns # execute log display 2 logs found. 2 logs returned. 1: date=2019-04-05 time=09:39:34 logid="1501054802" type="utm" subtype="dns" eventtype="dns-response" level="notice" vd="vdom1" eventtime=1554482373 policyid=1 sessionid=50868 srcip=10.1.100.18 srcport=34308 srcintf="port10" srcintfrole="undefined" dstip=172.16.95.16 dstport=53 dstintf="port9" dstintfrole="undefined" proto=17 profile="demo" xid=17647 qname="www.example.com" qtype="A" qtypeval=1 qclass="IN" ipaddr="93.184.216.34" msg="Domain is monitored" action="pass" cat=52 catdesc="Information Technology" 2: date=2019-04-05 time=09:39:34 logid="1500054000" type="utm" subtype="dns" eventtype="dns-query" level="information" vd="vdom1" eventtime=1554482373 policyid=1 sessionid=50868 srcip=10.1.100.18 srcport=34308 srcintf="port10" srcintfrole="undefined" dstip=172.16.95.16 dstport=53 dstintf="port9" dstintfrole="undefined" proto=17 profile="demo" xid=17647 qname="www.example.com" qtype="A" qtypeval=1 qclass="IN"