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)