共计 1343 个字符,预计需要花费 4 分钟才能阅读完成。
网站运营中令我们头疼的事情之一就是域名污染,它与域名被墙不同,DNS 污染是直接让域名无法访问。PING 一下我们的站点,会有很多节点解析到非我们服务器的 IP 地址。接下来分享域名污染是什么意思?域名污染的解决办法有哪些?
一、域名污染是什么意思
域名污染又称域名 DNS 服务器缓存污染(DNS cache pollution),简单来说,当我们打开某个域名,电脑会向域名服务器发送域名查询的请求,然后域名服务器把回应发送给你的电脑,这个过程有一个时间差。攻击者会利用域名服务器的 DNS 应答还没有到达你的电脑之前,先伪造一个错误的 DNS 应答发给你电脑。那么你的电脑收到的就是错误的信息,并得到一个错误的 IP 地址。
一般来说,在互联网上都有可信赖的域名服务器,但为减低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。攻击者利用了这一特性,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址而达到无法访问目标网站的目的。
二、域名污染的原理解析
由于 DNS 污染的数据包并不是在网络数据包经过的路由器上,而是在其旁路产生的。所以 DNS 污染并无法阻止正确的 DNS 解析结果返回,但由于旁路产生的数据包发回的速度较国外 DNS 服务器发回的快,系统认为第一个收到的数据包就是返回结果,从而忽略其后收到的数据包,从而使得 DNS 污染得逞。
以下模拟被污染的 DNS 请求过程:
假设 A 为用户端,B 为 DNS 服务器,C 为 A 到 B 链路的一个节点的网络设备(路由器,交换机,网关等等)。A 向 B 构建 UDP 连接,然后,A 向 B 发送查询请求,查询请求内容通常是:“A baidu.com”,这一个数据包经过节点设备 C 继续前往 DNS 服务器 B;然而在这个过程中,C 通过对数据包进行特征分析(远程通讯端口为 DNS 服务器端口,激发内容关键字检查,检查特定的域名如上述的“baidu.com", 以及查询的记录类型 "A 记录 "),从而立刻返回一个错误的解析结果(如返回了 "A 123.123.123.123"),众所周知,作为链路上的一个节点,C 机器的这个结果必定会先于真正的域名服务器的返回结果到达用户机器 A,而我们的 DNS 解析机制有一个重要的原则,就是只认第一,因此 C 节点所返回的查询结果就被 A 机器当作了最终返回结果,用于构建链接。
三、域名污染与域名被墙的区别
域名被墙简单讲是被我国的防火墙屏蔽了,多半是网站有敏感内容,不符合国内法律法规,域名被墙的表现为域名解析正常,但国内无法正常访问。而域名污染是被利用了 DNS 协议中存在的漏洞,将 IP 地址错误指向,即输 A 网络地址,打开的却是 B 网络页面。
四、域名污染的解决办法
1、替换 DNS 解析服务器:一般域名注册服务商都有提供免费的 DNS 解析服务,在域名管理面板将已指向的其它 DNS 地址替换为服务商的 DNS 地址即可。
2、第三方 DNS 解析服务:现在有许多第三方平台提供 DNS 解析服务,有免费也有付费,将自己域名的 DNS 改为第三方平台的 DNS 地址,同时重新添加域名解析。
3、自建 DNS 解析服务器:这个需要具备一定的技术知识,也可以请人搭建,有能力的朋友可以尝试。
丸趣 TV 网 – 提供最优质的资源集合!