2014
Mar
08

什么是 DNS 呢,简单说就是当你的电脑要连线到 www.google.com 的时候,电脑要怎么知道连接到哪一台主机呢,这时你的 ISP 服务会帮你处理这个问题, ISP 的 DNS 服务将 www.google.com 的 IP 回传给你的电脑,不过这个行为是不须要 User 同意的,也就是说如果 ISP DNS 回传一个有问题的 IP ,那么你就会不知不觉的连到该恶意的网站,接下来的内容,我将说明如果防止 DNS hijacking ,保护你的网路安全。

这篇文章的教学是针对非技术人员撰写的,会简化一些网路安全的专有名词。

DNS HIJACKING 专有名词

Domain name

电脑的网路位址都是使用 IP 来代表 「114.201.121.33」,为了方便记忆,我们会使用段英文名字的代替,例如 www.google.com 这就是一个 Domain name

IP Address

每一台电脑的网路位址,如 「114.201.121.33」,就像是每个家庭的电话号码一样,透过这个号码,就接通两台电脑之间的连线。

DNS

DNS 是 Domain Name Service 的缩写,一般预设的 DNS 使用的网路 Port 是 「53 」,他的功能是用来翻译 Domain Name ,可以将 Domain Name 转成 IP Address,例如 www.google.com 转成 74.125.203.105。

ISP

ISP 是 Internet Service Provider 的缩写, 一台电脑要能够上网,必须先通过 ISP 的机器,在台湾就是指中华电信的机房,他负责了我们的网路连线功能。

Ping

Ping 是一个最基本的封包传输,使用这个工具,可以用来确认对方的电脑是否有正常运作, 这是一个很有用的工具,用来测试 DNS hijacking 。


DNS HIJACKING 的危险性

如果 ISP 的 DNS 当机或是忙碌中,Domain 就会无法翻译成 IP ,这时你将无法上网,如果你想切换你的 DNS 服务,例如切到 Google 的 DNS Server,或是其他的 DNS Proxy Server ,但当你这样做,你的 DNS 就有可能被这些 Proxy 攻击。

ISP 的 DNS Server会记录你的 DNS 资讯,从中就能够知道在哪个时间点,你看了哪一些网页,ISP DNS 是你上网的唯有入口点,如果 ISP DNS 被骇客攻击成功,那么骇客就能控制 DNS 的 Response 结果,回传有害的网站 IP ,例如骇客能够将 www.google.com 的 IP 改写成骇客的主机 IP,或是做一个假的银行网站,再把你导到这个有问题的银行网站,让你输入帐号; 密码。

如何检查是否被 DNS hijacking

Ping 这个工具是一个快速检查你的电脑是否被 DNS hijacking 攻击的方式,当你使用 ping 去查询一个不存在的 Domain Name ,而 DNS Server 却正确回传一个 IP ,那么你的电脑有很大的可能性被 DNS hijacking 攻击 了,

http://www.wikihow.com/Ping-an-IP-Address 这是一个教你如何在 Windows, Mac OS X, Linux 上使用 Ping 的网站。

另外一个百分之百确认你的电脑是否被 DNS hijacking 攻击的方式,就是去修改你的 DNS Server IP ,将这个 IP 改成一个没有 DNS Server 的 IP,如果你修改了 DNS Server IP,但你还是可以用浏览器上网 ,那么代表你的 DNS 已经被 DNS hijacking 攻击了。

中华电信的 DNS Server IP 是 「168.95.1.1」。

防止 DNS hijacking

这篇文章会介绍两种防止 DNS hijacking 的方法,一种简单的方式与另一种困难的方式。

简易的防止 DNS hijacking

使用 VPN 连线, VPN 是指 Virtual Private Tunnel,这是一个私有的网路连线, 当你透用 VPN 连上网路,VPN Service 会加密你的所有连线讯息,包含你的 DNS 资料,而你的 ISP 就无法记录你的上网资料。


Hide My Ass」就是一个 VPM Service ,这个服务提供了最高标准加密机制,能够加密你的所有网路讯息。

较困难的防止 DNS hijacking

找一个使用 Port 54 的 DNS Server ,例如 Unlocator,然后你买一个 router,并设定他的 iptables 规则,将原本的 DNS Server port 53 改接到 Port 54 ,因为一般的 DNS Server 的 Port 是使用 53 ,而我们已经改成了 54 ,这样我的 Domain Name 讯息都会从 Unlocator 的 DNS Server 取得,这时 Domain Name 讯息就不会再通过 ISP 的 DNS Server ,Domain Name 的传输讯息就能被隐藏起来。

资料来源


回應 (Leave a comment)