现在的位置: 首页IT点滴>正文
DNS 泄露及 DNS 劫持和 DNS 污染
2013年01月24日 | IT点滴 | 浏览 8,284 | 暂无评论

有些网络运营商为了某种目的,对 DNS 做了手脚,导致使用 ISP 的正常上网设置无法通过域名取得正确的 IP 地址。常用的手段有:DNS 劫持和 DNS 污染。为此,很多人采取了一些相应的办法,如:使用国外的 DNS 服务器,或者使用 VPN 服务。但是,这些办法并不能完全解决问题,DNS 泄露仍然可能发生。

DNS 劫持

DNS 劫持就是指用户访问一个被标记的地址时,DNS 服务器故意将此地址指向一个错误的 IP 地址的行为。范例,网通、电信、铁通的某些用户有时候会发现自己打算访问一个地址,却被转向了各种推送广告等网站,这就是 DNS 劫持。

【症状】对特定的网址不能访问或访问的是假网址,如,当你输入 google.com 这个网址的时候,你看到的网站却是百度的首页。

【解决方法】对于 DNS 劫持,可以采用使用国外公认的 DNS 服务器解决。例如 OpenDNS(208.67.222.222)或 GoogleDNS(8.8.8.8)。

DNS 污染

DNS 污染指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成 DNS 服务器向用户发回错误的地址的行为。范例,访问 Youtube、Facebook 之类网站等出现的状况。

DNS 污染是一种让一般用户由于得到虚假目标主机 IP 而不能与其通信的方法,是一种 DNS 缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的 DNS 查询没有任何认证机制,而且 DNS 查询通常基于的 UDP 是无连接不可靠的协议,因此 DNS 的查询非常容易被篡改,通过对 UDP 端口53上的 DNS 查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。DNS 污染发生在用户请求的第一步上,直接从协议上对用户的 DNS 请求进行干扰。

【症状】目前一些被禁止访问的网站很多就是通过 DNS 污染来实现的,例如 YouTube、Facebook 等网站。

【解决方法】 对于 DNS 污染,可以说,个人用户很难单单靠设置解决,通常可以使用 VPN 或者域名远程解析的方法解决,但这大多需要购买付费的 VPN 或 SSH 等,也可以通过修改 Hosts 的方法,手动设置域名正确的 IP 地址。

DNS 泄露

在某些情况下,即使连接到 VPN,操作系统仍然继续使用其默认的 DNS 服务器,这就导致了 DNS 泄露,见图:
What is a DNS leak and why should I care?

如果 ISP 使用了透明 DNS 代理技术(Transparent DNS proxies),那么,你就是设置了国外的 DNS 服务器,例如 OpenDNS(208.67.222.222)或 GoogleDNS(8.8.8.8),也无济于事。运用此技术 ISP 可以拦截所有 DNS 查询请求(TCP/UDP端口53),有效地迫使你使用他们的 DNS 服务器进行所有的 DNS 查找。见图:
Transparent DNS proxies

【症状】某些网址不能访问或访问到的是假网址,包括 DNS 劫持和 DNS 污染的所有症状。你可以到这个网页点击 "Check for DNS leaks now" 按钮,查看你的 DNS 是否泄露。

【解决方法】解决问题的根本原则就是确保使用了 VPN 服务商提供的 DNS 服务器。这里只介绍 Windows 客户端的解决办法。三个基本的步骤:1) 在连接到 VPN 之前,设置静态IP 地址 2) 在连接之后, 禁用原先 DNS 设置 3) 断开后, 切换回 DHCP 必要时恢复原 DNS 服务器。点击这里看详细步骤。

欢迎留言

定制个性头像