DNS 过滤
本文约需 2 分钟阅读
DNS 过滤是指在终端将域名转换为 IP 地址的 DNS 查询阶段,阻断对恶意网站和不当内容访问的技术。由于它在浏览器打开 URL 之前的最早阶段进行拦截,因此能够预先防止连接到钓鱼网站和恶意软件分发网站。无需在端点上安装软件,仅需更改 DNS 服务器设置即可应用于整个组织或整个网络,这种便捷性是其最大的优点。
DNS 黑洞的工作原理
DNS 过滤的核心技术是 DNS 黑洞 (DNS Sinkhole)。在通常的 DNS 解析中,会针对客户端的查询返回正确的 IP 地址,而黑洞则对被列为拦截对象的域名故意返回无效的 IP 地址或拦截页面的 IP。
解析 example.com
比对拦截列表
返回 0.0.0.0
解析 safe-site.com
通过允许列表
返回正规 IP
需要拦截的域名列表会从威胁情报源和社区维护的拦截列表中自动更新。在像 Pi-hole 这样的自托管 DNS 黑洞中,可以添加广告域名的拦截列表,使其同时充当整个网络的广告拦截器。
主要的 DNS 过滤服务
| 服务 | 特点 | DNS 地址 |
|---|---|---|
| Cloudflare 1.1.1.1 for Families | 恶意软件拦截 (1.1.1.2) 与成人内容拦截 (1.1.1.3) 两个级别 | 1.1.1.2 / 1.1.1.3 |
| OpenDNS (Cisco Umbrella) | 面向企业的细致分类过滤。提供免费的 Family Shield | 208.67.222.123 |
| NextDNS | 可对拦截列表进行精细自定义。每月 30 万次查询以内免费 | 基于自定义 ID |
| Pi-hole (自托管) | 可在 Raspberry Pi 等设备上自家运行。同时支持广告拦截 | 家庭局域网的 IP |
拦截钓鱼与恶意软件网站
DNS 过滤尤其能发挥效果的是阻断钓鱼网站与恶意软件分发网站。即使点击了邮件中包含的恶意链接,由于在 DNS 阶段就被拦截,因此能够在浏览器连接到网站之前将其阻断。相对于防火墙以 IP 地址和端口号来控制通信,DNS 过滤能够以域名这一便于人类理解的单位进行控制,这是其在运维上的优势。
不过,如果攻击者不使用域名而直接指定 IP 地址,或者在终端一侧进行了绕过 DNS 过滤的设置,则不会奏效。与防火墙和端点安全相结合的多层防御不可或缺。也请一并参考钓鱼防护的文章。
在儿童网络安全中的应用
DNS 过滤也被广泛用作让家庭中孩子上网更安全的手段。只需将路由器的 DNS 设置改为 Cloudflare 1.1.1.3 或 OpenDNS Family Shield,就能在连接到网络的所有终端上限制访问成人内容和暴力网站。无需在每台终端上安装家长控制软件,而且孩子难以解除该设置,这也是其优点。儿童网络安全的文章中讲解了具体的设置步骤。
与 DNS over HTTPS 的关系
DNS over HTTPS (DoH) 是用 HTTPS 加密 DNS 查询的技术,对保护隐私有效,但它与 DNS 过滤之间存在矛盾关系。因为当浏览器使用自带的 DoH 解析器 (例如 Cloudflare 1.1.1.1) 时,网络管理员设置的 DNS 过滤就会被绕过。
为应对这一问题,NextDNS 和 Cloudflare Gateway 等服务提供了支持 DoH 的 DNS 过滤。它们也能对加密的 DNS 查询应用过滤,从而兼顾隐私与安全。在企业环境中,通常通过组策略将 DoH 的目标固定到组织的 DNS 过滤器,这是常见的做法。公共 Wi-Fi 安全的文章中也提及了在外出时的 DNS 保护。
常见误解
认为「只要装上 DNS 过滤就安全」是危险的。DNS 过滤终究只是多层防御中的一层,对DNS 欺骗并没有抵抗力。此外,尚未登记到拦截列表中的新建恶意域名会直接通过。要实现实时的威胁检测,需要与EDR 和下一代防火墙并用。
网络安全相关书籍 (Amazon)也可以在此查找。
这篇文章对您有帮助吗?