有問有答:什麼是DNS over HTTPS?

剛才的新聞中提到了DNS over HTTPS這項技術,這篇有問有答就簡單地為各位讀者介紹一下加密DNS協議的發展過程。首先我們需要了解一下傳統DNS上面存在的一些問題。

有问有答:什么是DNS over HTTPS?

DNS的安全性缺陷

DNS全稱Domain Name System,在當今的互聯網協議中,它是一個域名與IP對應的系統,我們通過域名訪問一個地址需要經過DNS查詢獲取該域名的真實IP地址,比如說訪問我們網站的時候,瀏覽器就會向系統指定的DNS服務器發送一個請求,讓DNS服務器返回該域名的真實IP地址。

傳統的DNS方式是通過53端口向DNS服務器發送明文的請求信息,如果有意的話,ISP可以很容易地在用戶到DNS服務器之間將這個請求進行劫持,由於傳統DNS請求基於無連接的UDP協議,用戶端只接受最快到達的查詢結果,所以ISP可以通過搶先應答的方式向用戶返回錯誤的IP,這種做法被稱為域名劫持,這是DNS協議的一個典型缺陷。

一般在完成ISP的PPPoE認證連上互聯網之後,ISP會提供兩個DNS服務器的IP,這兩個DNS服務器就是典型的DNS緩存服務器,它緩存了用戶曾經通過它請求的域名-IP對應信息,這類服務器被稱為非權威域名服務器,它向用戶返回的都是經過緩存的IP信息,其中就有可能存在被惡意篡改的域名-IP對,使用這臺緩存服務器的所有用戶在查詢特定域名時都將得到錯誤的結果,這就是緩存投毒。

以上只是兩個常見的DNS協議自身設計缺陷,它的這些缺陷主要存在於安全性方面,而利用這些缺陷,ISP可以通過域名劫持做到在網頁上面插入廣告,攻擊者可以對用戶進行DNS欺騙將用戶發送的網絡請求引向假的服務器以獲得用戶數據。而DNS協議存在的另一個缺陷就是它是用明文進行傳輸的,只要有心人對你的53端口進行監聽,他們就可以輕而易舉地知道你訪問了哪些網站。

但是DNS協議作為當今互聯網的基石之一,不可能輕易地用一種新的協議去取代它,只能用其他手段在DNS協議外面進行防護,提高它的安全性和私密性。從這個思路出發,人們提出了幾種方案,首先是1997年提出的DNSSEC。

從DNSSEC到DNS over HTTPS

很早就有但是沒完全普及的DNSSEC

DNSSEC為原本的DNS協議引入了一個數字簽名驗證機制,它在DNS請求包的頭部加入了一段數字簽名,通過現代的數字證書驗證體系保證DNS查詢結果的正確性,或者用信息安全的話來說,就是保證了DNS查詢結果的完整性。

DNSSEC在1997年提出,發展至今已經非常成熟了,很多公共域名服務器都支持它。但是DNSSEC只解決了DNS協議的安全性問題,它沒有對DNS查詢內容進行加密,別人還是很容易就可以看到你訪問的網站。

沒有標準化的DNSCrypt

於是,又有新的選手站了出來。這次上臺的是DNSCrypt,名字裡面都帶Crypt了那它肯定是有加密的,是的,它對DNS查詢過程做了完整的加密,可以做到查詢結果沒有問題,別人也看不到你查詢了什麼域名。

但是問題來了,DNSCrypt並沒有進行標準化流程,這導致了它無法在互聯網上面得到廣泛的應用。

DNS over TLS與DNS over HTTPS

前兩個選手的挑戰都沒有取得完全的勝利,於是又有新的選手站上了擂臺,這次的倆兄弟長得很像。DNS over TLS(DoT)使用TLS協議確保DNS查詢過程的完整性和保密性,而DNS over HTTPS(DoH)則是使用HTTPS協議進行通信,比它哥哥DoT還多了一層HTTP協議。

DoT標準正式發佈於2016年,而DoH標準正式成文於2018年10月,但是後者被接受的程度遠超前者,這是為什麼呢?還是兼容性問題。

DoH基於HTTP之上,在使用便利性上面比基於裸套TLS的DoT要高不少。相對於DoT,各大系統、瀏覽器都可以比較簡單地將DoH整合進去。而且公共DNS對於DoH的支持速度也非常快,現在我們能夠想到的國外的DNS基本都支持了DoH,它大有成為老舊DNS協議升級版的趨勢。

目前支持DoH的瀏覽器和DNS服務器

瀏覽器

  • · Firefox

  • · Chrome

作為DoH標準的主要推動者,Mozila和Google自然是很快就在自家瀏覽器裡面加入了對於DoH的支持,現在網上已經有很多在這兩個瀏覽器中開啟DoH的教程了,這裡就不再贅述。

公共DNS服務器

如果想用DoH,DNS服務器的支持肯定是要的,而出於利益原因,國內ISP們的DNS短時間肯定是不會支持的,而像大的幾個DNS服務器短時間內也很難加上DoH的支持,只能看國外了。

  • · 1.1.1.1

    這是全球最大的CDN服務商Cloudflare提供的公共DNS,相當好記。

  • · 8.8.8.8

    長期被汙染的Google公共DNS在DoH下終於可以使用了。

總結

DNS over HTTPS可以說是目前最有希望的DNS協議繼任者,已經得到了幾大軟件巨頭和域名提供商的鼎力支持。如果你長期遭受DNS汙染或者欺詐,在換用其他公共DNS後效果不明顯的,可以嘗試使用DNS over HTTPS來獲得更好的網上衝浪體驗。而對於非常在意自己隱私的用戶來說,DNS over HTTPS更是一項不可或缺的技術,幫助你更好的保護自己的隱私不被他人窺探。


分享到:


相關文章: