什么是DNS污染

DNS污染又称域名污染”、“域名欺骗”和“域名服务缓存投毒”,是指通过制作域名服务数据包,将域名指向不正确的IP地址。

在正常的DNS解析过程中,下一级域名服务器会将从上游域名服务器获得的解析记录保存一段时间,当在TTL值失效之前,有相同域名的解析请求时,就会直接将解析记录告知客户端,而无需进行全球范围的递归查询,这样既加快了查询时间,同时也降低了服务器工作压力。

但在这个过程中,如果局域域名服务器的缓存受到污染,就会告知客户端错误的解析记录,从而将用户指向错误的网站。这种攻击方式,被称为DNS污染。

常见场景

某些网络运营商为了达成某些目的,对DNS进行某些操作,就会导致使用ISP正常上网设置无法通过域名访问正确的IP地址。如果掌握了部分国际DNS根目录服务器或镜像,也可以通过DNS污染的方式,屏蔽对特定网站的访问。

许多国内被禁止的网站都是通过DNS污染实现的,如google、YouTube等网站无法直接访问都是通过DNS污染方式实现的。

因为http://google.com的服务器在国外,所以在访问时DNS解析必须转到国际带宽的输出,然后会被GFW捕获。由于DNS使用UDP协议,而UDP没有验证机制,只需发送即可。因此,此时GFW伪装成一个相应的DNS服务器,就会返回错误的地址信息。

解决方案

  1. 解决方案1:需要能够替换DNS解析服务器。通常,域名注册企业提供免费的DNS解析服务。域名提供商可以提供许多免费的DNS解析服务,并且其解析速度非常快,多组DNS服务器,可以更好地避免被DNS污染。
  2. 解决方案2:使用第三方DNS解析服务,以及使用CDN服务,CDN服务商会提供他们的DNS服务器解析服务和CDN的网络IP地址 。

注:GFW(Great Firewall of China)是一个集中的官方项目,旨在控制和监管互联网及其内容。该项目使用一系列技术手段实现其目标,其中包括DNS污染、IP封锁和Deep Packet Inspection(DPI)技术等。这些技术可以检测和过滤流经中国边境的数据流量,屏蔽不符合规定的数据包。具体来说,GFW在客户端和服务器之间建立了一个过滤器,它通过检查网络传输中的IP地址、域名和URL等元数据,以及数据报文中的内容和协议等信息,判断该数据流是否违反防火墙规定。若此内容被识别为敏感或违规,则会被GFW阻止,使用户无法访问相关网站和服务。