FortiGuard category-based DNS domain filtering
You can use the FortiGuard category-based DNS domain filter to inspect DNS traffic. This makes use of FortiGuard's continuously updated domain rating database for more reliable protection.
The FortiGate must have a FortiGuard Web Filter license to use the FortiGuard category-based filter. |
To configure FortiGuard category-based DNS domain filtering in the GUI:
- Go to Security Profiles > DNS Filter and click Create New, or edit an existing profile.
- Enable FortiGuard Category Based Filter.
- Select the category and then select Allow, Monitor, or Redirect to Block Portal for that category.
- In the Options section, select a setting for Redirect Portal IP. Select either Use FortiGuard Default (208.91.112.55) or click Specify and enter another portal IP. The FortiGate will use the portal IP to replace the resolved IP in the DNS response packet.
- Click OK.
To configure FortiGuard category-based DNS domain filtering in the 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 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} set block-botnet enable set safe-search enable set redirect-portal 93.184.216.34 set youtube-restrict strict next end
Verifying the logs
From your internal network PC, use a command line tool, such as dig or nslookup, to do a 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. There are logs for the DNS traffic that just passed through the FortiGate with the FortiGuard rating for the domain name.
To check the DNS filter 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"