

DNS过滤是一种基于DNS请求报文中的域名进行访问控制的手段,通过DNS过滤功能允许或禁止用户访问某些网站,规范上网行为。DNS过滤是通过DNS黑白名单和DNS分类来对域名进行分类,阻断对非法域名的访问,放行对合法域名的访问。
什么是DNS?为什么需要DNS过滤
TCP/IP提供了通过IP地址来连接到设备的功能,但对用户来讲,记住某台设备的IP地址是相当困难的,因此专门设计了一种字符串形式的主机命名机制,这些主机名与IP地址相对应。在IP地址与主机名之间需要有一种转换和查询机制,提供这种机制的系统就是DNS(Domain Name System,域名系统)。
DNS使用一种有层次的命名方式,为网上的设备指定一个有意义的名字,并且在网络上设置域名解析服务器,建立域名与IP地址的对应关系。这样用户就可以使用便于记忆的、有意义的域名,而不必去记忆复杂的IP地址。
用户在浏览器输入网站的域名,浏览器会向域名解析服务器(DNS服务器)发送域名解析请求,DNS服务器返回域名对应的IP地址,最终,用户通过IP地址获取到相应的网站资源。
随着互联网应用的迅速发展,计算机网络在经济和生活的各个领域迅速普及,使得信息的获取、共享和传播更加方便,但同时也给企业和个人带来了前所未有的威胁。
- 员工在工作时间随意地访问与工作无关的网站,严重影响了工作效率。
- 员工访问非法或恶意的网站,造成公司机密信息泄露,甚至会带来病毒、木马和蠕虫等威胁攻击。
- 在内部网络拥堵时段,无法保证员工正常访问与工作相关的网站(如公司主页、搜索引擎等),影响工作效率。
为了解决上述问题,出现了DNS过滤技术。DNS过滤不仅可以阻止员工访问与工作无关的网站,同时它也是一项非常重要的网络安全措施,它可以阻断对网络钓鱼、勒索或挖矿等恶意站点的访问,避免造成信息泄露或财产损失等严重后果。
DNS过滤是如何工作的
支持DNS过滤功能的产品(如防火墙),通常部署在企业网络边界。当员工发起网站访问请求时,DNS过滤功能通过分析用户的DNS请求报文中的域名是否合法,以此实现对用户的访问请求进行放行、告警或阻断。
- 当员工访问合法域名的网站时,放行此请求。
- 当员工访问非法域名的网站时,阻断此请求并告警。

DNS过滤的典型使用场景
DNS过滤的方式主要包括基于DNS黑白名单和基于DNS分类的DNS过滤两大类,不同方式的DNS过滤处理优先级不同。
DNS过滤的方式
-
基于DNS黑名单和DNS白名单的DNS过滤
DNS黑名单和DNS白名单可以看做是一种特殊的自定义DNS分类,只是黑名单和白名单的控制动作是固定的无法更改。 -
黑名单和白名单通常用于过滤简单固定的网站,黑名单是不允许用户访问的域名列表,白名单是允许用户访问的域名列表。设备将DNS请求报文中提取的域名与黑名单和白名单规则进行匹配,匹配白名单规则则放行访问请求,匹配黑名单规则则阻断访问请求。
① 基于DNS分类的DNS过滤
DNS分类是DNS过滤的核心管控方式,管理员可以按照DNS分类控制员工禁止访问哪些类别的域名、允许访问哪些类别的域名。
② DNS分类分为预定义DNS分类和自定义DNS分类两种:
预定义DNS分类:预定义DNS分类中维护了大量常见Web网站的域名及其分类,比如并预置在DNS过滤设备上,供管理员调用。这些预定义DNS分类还可以通过DNS远程查询服务动态更新,华为的远程查询服务器提供数量超过5亿的域名分类。对于新出现的域名,如果远程查询服务器上没有该域名的分类,则远程查询服务会定期动态地调用访问服务器模拟访问该域名,获取网页内容进行域名分类,分类的结果会同步到远程查询服务器。
自定义DNS分类:虽然预定义分类覆盖了大部分常见的Web网站,但很多新出现的网站可能覆盖不到。另一方面,企业可能有自己的DNS分类策略,希望基于定义的DNS分类进行管控,此时管理员可以按需创建一些自定义分类。
DNS过滤处理流程
DNS过滤的方式有多种,那么,这些不同方式的DNS过滤的处理流程是什么样的呢?以华为防火墙为例,DNS过滤的处理流程整体分为3个阶段。
- 从DNS请求报文中提取用户访问的网站域名。
- 基于DNS白名单、DNS黑名单、DNS分类和远程查询服务结果来判断访问域名是否合法。
- 基于域名的匹配结果执行响应动作,包括放行、告警或阻断。
DNS过滤的详细处理流程如图所示。

DNS过滤处理流程
-
防火墙从DNS请求报文中提取域名。
-
域名是否命中DNS白名单。
① 命中白名单,则直接放行该流量。
② 未命中白名单,则进行下一步检测。 -
域名是否命中DNS黑名单。
① 命中黑名单,则直接阻断该流量。
② 未命中黑名单,则进行下一步检测。 -
域名是否匹配DNS自定义分类。
① 匹配自定义DNS分类,则按照自定义DNS分类的控制动作处理该流量。
② 未匹配自定义DNS分类,则进行下一步检测。 -
域名是否匹配DNS预定义分类。
① 匹配预定义分类,则按照预定义分类的控制动作处理该流量。
② 未匹配预定义分类,则进行远程查询。
【1】如果远程查询服务器可用,则继续进行远程查询。
【2】如果远程查询服务器不可用,则按照缺省动作处理请求。 -
启动远程查询。
① 如果远程查询服务器在设定的超时时间内没有返回结果,则按照管理员配置的“超时后动作”处理。
② 如果远程查询服务器上明确查询到该域名属于某个预定义分类,则按照该分类的控制动作处理。
说明
如果该域名不属于任何一个确定的分类,则按照“其他”类的控制动作处理该请求。
如何使用DNS过滤
华为防火墙的DNS过滤功能配置简单,所有DNS过滤相关的配置都是在DNS过滤配置文件中承载的。通过在DNS过滤配置文件中配置DNS黑白名单、DNS分类及分类的控制动作,并在安全策略中引用DNS过滤配置文件即可实现对特定的域名进行过滤。

DNS过滤配置逻辑
DNS 过滤和URL过滤有什么区别
DNS过滤和URL过滤都属于Web过滤,但是控制粒度和实现方式不同。
表1-1 DNS过滤与URL过滤对比

对比来看,DNS过滤相比于URL过滤更早的进行访问控制,可以有效降低整网HTTP报文的流量;URL过滤相比于DNS过滤可以进行更精细控制用户对网络资源的访问。
什么场景下DNS过滤不生效
虽然DNS过滤是一种有效的保护网络DNS安全的方式,但它也不是绝对可靠的。以下场景仅使用DNS过滤功能是无法达到过滤效果的:
-
对于加密的DNS流量,如DNS-over-TLS(DOT)、DNS-over-HTTPS(DOH)、DNS-over-QUIC(DOQ)、DNS-over-HTTP3,DNS过滤功能暂不支持过滤。
这种情况下,请同时配置安全策略阻断加密DNS流量(先自定义服务,然后在安全策略中引用自定义服务),强制用户浏览器自动使用非加密的DNS。典型的加密DNS类型及对应服务的端口如下:
DNS over TLS: TCP 853
DNS over HTTPS:TCP 443
DNS over QUICK:UDP 443
DNS over HTTP3:UDP 853 -
使用虚拟专用网络(VPN)或代理服务器上网、用户修改主机的DNS配置等场景下,DNS过滤功能不生效。
为了应对DNS过滤失效带来的网络安全问题,企业应不断完善网络安全防护措施,如部署DDoS防护、Web应用防护、专用DNS服务器等,最大限度的降低不断更新迭代的网络威胁给企业带来的网络安全风险。

1024

被折叠的 条评论
为什么被折叠?



