分类: 系统运维
2010-05-25 21:59:17
什么是DNS劫持
DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。
从上面的原理图上来看,DNS劫持是出现在第2步,通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现DNS劫持的。
DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。
再说简单点,当你输入liusuping.com这个网址的时候,你看到的网站却是百度的首页。
什么是DNS污染
DNS污染是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。
而DNS污染则是发生在用户请求的第一步上,直接从协议上对用户的DNS请求进行干扰。
DNS污染症状:目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube。
解决办法:
修改Hosts文件,Windows中Hosts文件的优先级高于DNS服务器,操作系统在访问某个域名时,会先检测HOSTS文件,然后再查询DNS服务器。可以在hosts添加受到污染的DNS地址来解决DNS污染和DNS劫持,如 “ 127.0.0.1(正确的域名IP地址)”
使用安全的DNS服务器,大多数用户都是使用ISP默认的DNS,如果发现存在DNS劫持现象可以通过更换DNS服务器来实现避免DNS劫持,例如可以更换为第三方的DNS服务Opendns或者得Google的DNS服务器,可以参考:[] ,不过使用第三方DNS服务器虽然可以解决DNS劫持情况,但是还是不能解决DNS污染问题的。