您所在的位置:首页 > 软件资讯 > NOD32专题

NOD32总是提示DNS缓存投毒的解决办法

 DNS缓存投毒表现为:

相信安装了NOD32 5.X版本以上的朋友上网会发现系统经常弹出一个窗口提示DNS缓存投毒的窗口,如下图所示:

 什么是DNS缓存投毒:

域名服务器缓存投毒(DNS Cache Poisoning),又名域名服务器缓存污染(DNS cache pollution),是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址。一般来说,外间在互联网上一般都有可信赖的域名服务器,但为减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一但有关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。

一般来说,一部连上了互联网的电脑都会使用互联网服务提供商(ISP)提供的域名服务器。这个服务器一般只会为供应商的客户来服务,通常都会储蓄起部分客户曾经请求过的域名的缓存。缓存污染攻击就是针对这一种服务器,以影响服务器的用户或下游服务。

 为什么会受到缓存投毒攻击:

在中国大陆,对于所有经过防火长城的在UDP的53端口上的域名查询进行IDS入侵检测,一经发现与黑名单关键词相匹配的域名查询请求,其会马上伪装成目标域名的解析服务器给查询者返回虚假结果。由于通常的域名查询没有任何认证机制,而且域名查询通常基于的UDP协议是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。

对于不了解相关知识的网民来说也就是,由于系统默认使用的ISP提供的域名查询服务器查询国外的权威服务器时即被防火长城被污染,使其缓存受到污染,因而默认情况下查询ISP的服务器就会获得虚假IP地址;而用户直接查询境外域名查询服务器(比如 Google Public DNS)有可能会被防火长城污染,从而在没有任何防范机制的情况下仍然不能获得目标网站正确的IP地址。

防火长城暂时未对TCP协议下的域名查询进行投毒污染,故现在能通过强制使用TCP协议查询真实的IP地址:Windows下打开命令提示符,输入nslookup -vc 要查询的域名 境外DNS服务器的IP地址(必须支持TCP协议查询,否则不会返回查询结果),回车后能返回正确的目标服务器IP地址。而现实的情况是,防火长城对于真实的IP地址也可能会采取其它的手段进行封锁,故能否真正访问可能还需要其它翻墙的手段。

 缓存投毒的解决办法:

虽然微软给出了一个修改注册表的方法,方法如下所示,但微软同样注明默认情况下,在 Windows 2000 Service Pack 1 (SP1) 和 Windows 2000 Service Pack 2 (SP2) 上,此项不存在,而且不安全的数据不会从响应中消除。然而在 Windows 2000 SP3 和更高版本中,DNS 缓存污染保护默认情况下是启用的,该注册表项不存在,也不需要存在。创建此注册表项的唯一原因是为了禁用 DNS 缓存污染保护。
  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 在注册表中找到下面的项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters
  3. 编辑菜单上,单击添加值,然后添加以下注册表值:
    值名称:SecureResponses
    数据类型:REG_DWORD
    :1(可消除不安全的数据)
  4. 退出注册表编辑器。

 缓存投毒的对策:

DNS缓存投毒几乎可以完全避免,前提是对DNS服务器进行了合理的配置。这包括强制服务器检查其他非权威的服务器转发的 DNS响应信息,并丢弃任何返回的与最初的查询不相关DNS响应记录。许多最新的DNS服务器在默认配置下已经不再受此类攻击影响。也就是说我们基本上没有太好的办法,不过不会影响大家正常的网络访问。NOD32已经默认帮我们做了很多的防护工作,大家可放心使用。建议尽量使用稳定安全的DNS服务器。

 网上最有名的DNS推荐:

谷歌的DNS算是用户非常多的了,IP地址是:
首选DNS服务器:8.8.8.8
备用DNS服务器:8.8.4.4
 
OPEN DNS也是一个国外比较有名的DNs,IP地址是:
首选DNS服务器:208.67.222.222
备用DNS服务器:208.67.220.220 

 如何设置DNS:

1、在网上邻居上点击鼠标右键,选择属性。
2、在本地链接上点击鼠标右键,选择属性。
3、用鼠标选择"Internet 协议(TCP/IP)",然后点击下面的属性按钮.如下图所示:
4、按照下图所示填入DNS的IP地址后确认即可。

 如何解决NOD32不停提示DNS缓存投毒的提示窗口:

NOD32每次都不停的频繁弹出窗口,提示缓存投毒,很让人烦闷,看着都视觉疲劳了。有没有解决办法呢?答案是肯定的。
 
解决办法:打开高级设置,在左侧树状菜单中点选:网络个人防火墙IDS和高级选项,在IDS和高级选项中,取消入侵检测“攻击检测之后显示通知”的勾选。如下图所示:
 

 关闭提示后会不会不安全?

虽然关闭了攻击提示通知,但并不意味着NOD32防火墙不在继续工作了,其实防火墙还是在继续工作着。大家可以查看工具中的个人防火墙的日志记录,里面会详细记录着个人防火墙的工作情况,如下图所示:

 最后鸣谢:


以上资料部分来自维基百科和卡饭论坛,在此表示感谢。^_^
 
作者:小山来源:天天资讯网
文章分类