告別DNS劫持,一文讀懂DoH


如果評選一個差評服務器榜單,除去育碧高居榜首外,一定也少不了 Nintendo Switch 讓人頭禿的聯網服務。盡管任天堂已經架設了香港 CDN 服務器用於加速,但是更新安裝的速度也沒有什么大幅改變。一般這種時候大家都會選擇更改 DNS 來提高 NS 下載速度。

DNS(域名系統)是工作生活中很常見的名詞,用戶只需要在瀏覽器中輸入一個可識別的網址,系統便會在很短的時間內找到相應的 IP 地址。在解析過程中,DNS 會訪問各種名稱服務器,從這些名稱服務器中獲取存儲着的與 URL 對應的數字地址。截止到現在,DNS 已經發展了幾十年,雖然使用廣泛,卻很少引起人們對其安全性的關注。

從安全角度來看,請求傳輸時通常不進行任何加密,任何人都可以讀取的 DNS 其實是不安全的。這意味着網絡罪犯可以很容易地使用自己的服務器攔截受害者的 DNS,將用戶的請求跳轉到釣魚網站上,這些網站發布惡意軟件,或在正常網站上投放大量廣告吸引用戶,這種行為我們稱之為 DNS 劫持。為了減少這類情況的發生,業界專家目前在掙扎討論基於 HTTPS 的 DNS(DoH)的可行性選擇。那么什么是通過 HTTPS 的 DNS,它可以使 Internet 更安全嗎?我們一起來看看吧。

為什么需要通過 HTTPS 的 DNS?

在日常上網中,如果用戶輸入無法解析的網址(例如,由於輸入錯誤),則某些 Internet 提供商(ISP)會故意使用 DNS 劫持技術來提供錯誤消息。一旦 ISP 攔截了此內容,就會將用戶定向到自己的網站,在該網站宣傳自己或第三方的產品。雖然這並不違法,也不會直接損害用戶,但是該類重定向仍會讓用戶反感。因此,單獨使用 DNS 協議並不是非常可靠的。

而 DoH (DNS over HTTPS)即使用安全的 HTTPS 協議運行 DNS ,主要目的是增強用戶的安全性和隱私性。通過使用加密的 HTTPS 連接,第三方將不再影響或監視解析過程。因此,欺詐者將無法查看請求的 URL 並對其進行更改。如果使用了基於 HTTPS 的 DNS ,數據在傳輸過程中發生丟失時,DoH 中的傳輸控制協議(TCP)會做出更快的反應。

DNS劫持

目前,DoH 尚未成為 Internet 上的全球標准,大多數連接仍依賴基本的 DNS。到目前為止,僅 Google 和 Mozilla 兩家公司涉足了這一領域。Google 現正在與部分用戶一起測試該功能。此外,還有用於移動設備的應用程序,這些應用程序也可以通過 DoH 進行網上沖浪。Android Pie 也提供了通過網絡設置啟用基於 HTTPS 的 DNS 選項。

Firefox DoH 配置

通過 HTTPS 的 DNS 如何工作?

通常一些域名解析會直接從用戶的客戶端進行,相應的域名信息被保存在瀏覽器或路由器的緩存中。而期間傳輸的所有內容都需要通過 UDP 連接,因為這樣可以更快速地交換信息。但是我們都知道,UDP 既不安全也不可靠。使用該協議時,數據包可能會隨時丟失,因為沒有任何機制可以保證傳輸的可靠性。

而 DoH 依賴於 HTTPS,因此也依賴於 TCP,一種在 Internet 上使用頻率更高的協議。這樣既可以對連接進行加密, TCP 協議也可以確保完整的數據傳輸。另外,使用了基於 HTTPS 的 DNS,通信始終通過 443 端口進行,並在 443 端口傳輸實際的網絡流量(例如,訪問網站)。因此,外人無法區分 DNS 請求和其他通信,這也保障了更高級別的用戶隱私。

DoH 的優點和缺點

DoH 的優點是顯而易見的,該技術提高了安全性並保護了用戶隱私。與傳統的 DNS 相比,DoH 提供了加密措施。它利用 HTTPS 這種行業通用的安全協議,將 DNS 請求發往 DNS 服務器,這樣運營商或第三方在整個傳輸過程中,只能知道發起者和目的地,除此以外別的什么都知道,甚至都不知道我們發起了 DNS 請求。

DoH 的加密措施可防止竊聽或攔截 DNS 查詢,但這也會帶來了一些潛在的風險。多年以來實施的一些互聯網安全措施都要求 DNS 請求過程可見。例如,家長控制需要依靠運營商為一些用戶阻止訪問某些域名。執法部門可能希望通過 DNS 數據來跟蹤罪犯,並且許多組織都會使用安全系統來保護其網絡,這些安全系統也會使用 DNS 信息來阻止已知的惡意站點。引入 DoH 可能會嚴重影響上述這些情況。因此,目前 DoH 還處於自主配置的時期。用戶需要清楚誰可以看到數據,誰可以訪問數據以及在什么情況下可以訪問。

DoH 與 DoT

除了基於 HTTPS 的 DNS 外,目前還有另一種用於保護域名系統的技術:基於 TLS 的 DNS(DoT)。這兩個協議看起來很相似,它們也都承諾了更高的用戶安全性和隱私性。但是這兩項標准都是單獨開發的,並且各有各的 RFC 文檔。DoT 使用了安全協議 TLS,在用於 DNS 查詢的用戶數據報協議(UDP)的基礎上添加了 TLS 加密。DoT 使用 853 端口,DoH 則使用 HTTPS 的 443 端口。

由於 DoT 具有專用端口,因此即使請求和響應本身都已加密,但具有網絡可見性的任何人都可以發現來回的 DoT 流量。DoH 則相反,DNS 查詢和響應在某種程度上偽裝在其他 HTTPS 流量中,因為它們都是從同一端口進出的。

關於 DoT 和 DoH 究竟哪個更好?這個還有待商榷。不過從網絡安全的角度來看,DoT 可以說是更好的。它使網絡管理員能夠監視和阻止 DNS 查詢,這對於識別和阻止惡意流量非常重要。另一方面,DoH 查詢隱藏在常規 HTTPS 流量中。這意味着,若不阻止所有其他的 HTTPS 流量,就很難阻止它們。

推薦閱讀

最容易被盜的密碼,你中了么?

聊聊 DNS 的那些小知識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM