什麼是DNS洩漏及其解決方法
P erhaps在互聯網上最重要的服務之一是一個我打賭大多數人永遠不會給第二次思想:域名系統(DNS)。
在本文中,我將解釋DNS服務器如何威脅到您的隱私,什麼是DNS洩漏以及如何對其進行修復。
什麼是域名系統(DNS)?
域名系統是用於在線資源(例如計算機和其他服務)的分散式命名系統。
DNS將域名轉換為IP地址,從而使用戶無需記住一長串數字,即可在連接到Internet時訪問網站和服務。
例如,您當前正在訪問的站點的IP地址為“ 104.27.166.50”。儘管有些人可能會記住這麼長的數字字符串(而且您知道自己是誰),但記住鍵入“ pixelprivacy.com”訪問我的網站要容易得多。
在您喜歡的瀏覽器的地址欄中輸入網站地址時,域名將發送到DNS服務器,DNS服務器將查找該域名的IP地址。IP地址返回到您的瀏覽器。
然後,您的瀏覽器將完整請求發送到該IP地址的Web服務器,然後該網頁就會加載到您的瀏覽器中。所有這些通常都在眨眼間發生。
儘管這是一種管理互聯網流量的合乎邏輯且便捷的方法,但是當涉及到您的在線隱私時,它會打開一大堆蠕蟲。
域名系統如何允許其他人在線跟踪您
就像我在上面的部分中提到的那樣,當您在瀏覽器中輸入網站的域名時,請求將發送到DNS服務器,在該服務器中找到該網站的IP地址。
除非您已將計算機,移動設備或路由器定制為使用其他來源的DNS,否則您的DNS請求將發送到Internet服務提供商擁有和運營的DNS服務器。
由於您的互聯網流量通過記錄數據的ISP的DNS服務器,因此這是一個隱私問題。資源請求與請求地址的客戶的IP地址,日期和時間以及其他各種信息一起記錄在日誌中。
在許多國家/地區,政府,執法機構或娛樂業律師可以對這些DNS服務器日誌進行傳票,以使它們能夠跟踪您在網絡上的活動。
在某些國家/地區(包括美國),ISP可以將這些日誌出售給廣告商和其他第三方,而無需您的批准。
可以預防嗎?
幸運的是,可以通過使用虛擬專用網絡(VPN)來保護您的在線旅行,從而防止類似的在線跟踪。
VPN通過自己的VPN服務器路由您的在線連接及其所有DNS請求,從而避免窺視它們。最多,您的ISP只能看到您已連接到VPN提供商。連接到VPN時,他們看不到您參與的任何活動。
這是萬無一失的嗎?
通常,使用VPN足以使您的DNS請求處於秘密狀態。
但是,某些VPN提供商無法很好地隱藏您的請求,從您的VPN會話中洩漏DNS數據並向您開放進行監視。
在本文的下一部分中,我將解釋什麼是DNS洩漏以及如何測試VPN連接以檢測DNS洩漏。然後,我將解釋為什麼DNS洩漏會發生,並提供一些方法來幫助您防止洩漏再次發生。
什麼是DNS洩漏?
當您連接到VPN時,它會創建一個加密的連接,從而將您的互聯網流量保持在一個“隧道”中,該隧道隱藏您的所有互聯網活動(包括DNS請求)。除了您的VPN提供商以外,沒有人可以看到您的工作-ISP,政府或您(不友好)的鄰居黑客。(重要的是要相信您的VPN不會監視或記錄您的在線活動,因此只能訂閱信譽良好的VPN提供商,例如ExpressVPN。)
當您的計算機或其他設備連接到VPN提供商時,所有DNS請求都應僅通過加密隧道到達VPN服務的DNS服務器。
如果此操作正常,您的所有ISP或其他任何人都可以看到您已連接到VPN。另外,您所有的互聯網流量都是經過加密的,因此任何外部方都無法監視您正在訪問的任何內容。
但是,如果您的VPN應用程序無法正常工作,或者連接到配置錯誤的網絡,則DNS請求可能會“洩漏”到加密隧道之外。
然後,DNS請求像不使用VPN時一樣通過ISP。這樣一來,DNS請求就可以大開觀察,而您的IP地址,位置和瀏覽數據也將再次備受關注。
如何判斷我的VPN是否存在DNS洩漏?
有許多網站可以測試您的VPN連接是否存在DNS洩漏,包括VPN提供商提供的許多網站。
我通常會使用IPLeak網站並建議使用IPLeak網站,因為它易於使用並提供了大量有關我的連接的信息。
在開始測試任何VPN DNS洩漏之前,建議您訪問IPLeak站點並允許該站點運行其測試,然後再連接到VPN提供商。
獲得IPLeak測試(自動運行)的結果後,記下頁面頂部附近“您的IP地址”下顯示的IP地址。還要記下“ DNS地址”部分中顯示的DNS地址和DNS服務器的數量。
您不必寫下所有地址-只需記下一些地址或截屏以供以後參考。
從下面的屏幕快照中可以看到,IPLeaks可以看到我的ISP提供商使用的DNS服務器-全部54個。(為了簡潔起見,我在此處只包括了其中的少數幾個。)它還可以告訴我,由ISP提供的常規連接來自田納西州。
現在,是時候連接到VPN提供商並再次運行測試了。
我正在使用ExpressVPN,但是您當然可以使用您選擇的VPN。您可以連接到任何可用的VPN服務器,也可以只允許您的VPN應用為您選擇一個。
現在,再次訪問IPLeaks網站,並允許DNS洩漏測試通過您的VPN重新自動運行。
從下面的屏幕快照中可以看到,我的提供商在防止DNS洩漏方面做得很出色,因為我的連接似乎來自特拉華州,而單個DNS服務器位於德克薩斯州。
這表明我的VPN提供了受到適當保護的連接,並且我的DNS信息均未洩漏。
如果IPLeaks顯示ISP測試中的DNS服務器與VPN測試中的DNS服務器匹配,並且IP地址也相同,則表明我的VPN連接中可能存在DNS洩漏。
這將意味著VPN不能完成其工作,現在該尋找新的提供商了。
DNS洩漏:問題和解決方案
發生DNS洩漏的原因多種多樣。在本節中,我將介紹5種最常見的DNS洩漏原因,並共享針對這些問題的解決方案,以便在出現問題時可以進行處理。
問題#1:網絡配置不正確
配置不正確的網絡是發生DNS洩漏的最常見原因之一,尤其是對於定期連接到不同網絡的用戶而言。
道路勇士在辦公室工作時可能會比其他用戶看到更多的問題,而且他們還可以在家中連接到Wi-Fi網絡,或者在咖啡店,機場或酒店中連接到Wi-Fi熱點。
由於VPN要求您的計算機在啟動VPN保護之前必須先通過本地網絡連接到Internet,因此配置不正確的DHCP設置可能會自動分配DNS服務器來處理您的請求,並且該DNS服務器可能屬於您的ISP或ISP熱點供應商。
即使您在此問題網絡上連接到VPN,您的DNS請求也可能繞過VPN的加密隧道,從而在整個地方洩漏DNS。(而且沒有人想要清理它!)
解決方法:
在大多數情況下,只需將VPN配置為僅使用其自己的DNS服務器,就可以強制計算機使用VPN提供商的DNS服務器。
儘管VPN應用程序的設置因提供商而異,但您可能會看到下面的屏幕快照,其中顯示了ExpressVPN和VyprVPN Mac應用程序的“ DNS”選項。
如果您的VPN應用未提供設置(如上所示),請與您的提供商的客戶支持人員聯繫,並詢問他們如何強制您的設備使用其DNS服務器。如果他們無法為您提供幫助,或者您對他們的回答不滿意,請更換提供商。
問題2:不支持IPv6
我們大多數人都熟悉的IP地址稱為IPv4地址。
它們是32位地址,由4組(最多3位)組成,例如“ 123.04.321.23”。(我不知道該IP地址會將您帶到何處,因為我是在現場補上的。)
隨著始終連接的世界的到來,隨著計算機,智能手機,平板電腦,遊戲機,智能電視,甚至是智能冰箱連接到互聯網,IPv4地址池正在枯竭。
IPv6並不像IPv4那樣局限於4組最多3位的32位地址方案,而是使用128位地址,理論上允許2 ^ 128或大約3.4×10 ^ 38個地址。(哇!有很多地址!)
樣本IPv4地址 | 樣本IPv6地址 |
123.04.321.23 | 2001:db8:85a3:8d3:1319:8a2e:370:7348 |
互聯網正處於從IPv4過渡到IPv6的起步階段,這一轉變不會一overnight而就。這會帶來很多問題,尤其是對於當前不提供IPv6支持的VPN。
如果VPN不支持IPv6或不知道如何阻止IPv6請求,則通過IPv6發送到您的計算機或從您的計算機發送的請求將跳到VPN的加密隧道之外,洩漏信息供所有人查看。
與互聯網的其餘部分一樣,網站目前正在轉型中,儘管許多網站同時具有IPv4和IPv6地址,但仍有許多網站僅具有IPv4。(是的,有一些僅使用IPv6的網站。)
這是否會導致您的VPN出現問題,取決於多種因素,例如您的ISP,路由器和您嘗試訪問的網站。
儘管IPv6洩漏還沒有標準DNS洩漏那麼危險,但很快就會到來。
解決方法:
檢查您的VPN提供商是否完全支持IPv6 。這是理想的情況,您無需擔心。
但是,您的提供商至少應提供阻止IPv6流量的選項。儘管這是一個權宜之計,但它會逐步引導您,直到有更多的VPN提供商支持IPv6。
問題3:透明的DNS代理
即使用戶將其設置更改為使用第三方提供商(例如OpenDNS,Google或VPN提供商的服務器),某些ISP還是自行強制使用DNS服務器。
如果ISP檢測到DNS設置有任何更改,它將使用“透明代理”,該服務器是攔截並重定向您的網絡流量的服務器,以將您的DNS請求強制發送到ISP的DNS服務器。
基本上,這是您的ISP強迫DNS洩漏並試圖將其隱藏起來。
但是,大多數洩漏檢測工具(如IPLeak)將以與標準洩漏相同的方式檢測ISP的透明代理。
解決方法:
解決此“漏洞”取決於您使用的是哪個VPN提供商和哪個VPN應用。
如果您使用的是VPN提供商的應用程序,請查找用於強制使用VPN提供商的DNS服務器的選項。啟用它。
如果您使用OpenVPN開源應用程序連接到VPN,請找到要連接到的服務器的.conf或.ovpn文件,在文本編輯器中將其打開並添加以下行:
外部DNS
您可以查閱《OpenVPN手冊》以了解配置文件的存儲位置。
問題4:Windows 8和10:“智能多宿主名稱解析”功能
從Windows 8開始,Microsoft引入了“智能多宿主名稱解析”功能,該功能是為了提高Web瀏覽速度而開發的。
該功能將DNS請求發送到所有可用的DNS服務器,並接受第一個響應的DNS服務器的響應。
可以想像,這可能導致DNS洩漏,以及使用戶容易遭受DNS欺騙攻擊的可怕副作用。
解決方法:
此功能是Windows的內置組件,可能很難關閉。
但是,通過OpenVPN應用程序連接到其VPN的Windows用戶可以下載並安裝免費的插件來解決此問題。
使用其VPN提供商本地應用程序的Windows用戶應與提供商的客戶支持部門聯繫以尋求有關此問題的幫助。
問題5:Windows的Teredo技術
Teredo是Windows操作系統的內置功能,是Microsoft嘗試簡化IPv4和IPv6之間的過渡的一種嘗試。Teredo的目的是允許兩個地址方案共存而不會出現問題。
雖然我確定Microsoft很好,但它們為VPN用戶打開了一個巨大的,正在洩漏的安全漏洞。Teredo是一種隧道協議,在某些情況下,它可以優先於VPN自己的加密隧道。
去得到你的虛擬拖把,因為這裡來了洩漏。
解決方法:
Teredo非常容易安裝,可以使用戶熟悉Command Prompt。打開命令提示符窗口,然後輸入以下內容:
netsh接口teredo設置狀態已禁用
請注意,連接到某些網站,服務器和其他聯機服務時,您可能會遇到問題,但是您將獲得Teredo放棄的安全性。
將來如何防止DNS洩漏?
我們已經對DNS洩漏進行了測試,希望沒有發現任何洩漏。或者,如果您確實發現了洩漏,則至少您現在擁有解決這些洩漏的工具和知識。
但是,您可以採取什麼措施來防止漏水的未來?
通過執行本節中的5個步驟,您應該為在線活動接種疫苗,以防止將來發生洩漏。
1.僅使用受信任的獨立DNS提供商
大多數VPN提供商都有自己的DNS服務器,並且他們的應用程序會自動連接您的設備以使用這些服務器來代替您的ISP有時緩慢且始終不安全的DNS服務器。
即使您沒有使用VPN,也仍然可以避免使用ISP的DNS服務器,這使ISP很難跟踪您的在線活動。
相反,您可以使用可靠的第三方DNS服務器,例如OpenDNS,Google和其他公司提供的服務器。
以下是一些流行的DNS服務器地址選項:
- 首選的DNS服務器:8.8.8.8
- 備用DNS服務器:8.8.4.4
- 首選的DNS服務器:208.67.222.222
- 備用DNS服務器:208.67.220.220
- 首選DNS服務器:1.1.1.1
- 備用DNS服務器:1.0.0.1
請按照以下步驟更改Windows和macOS中的DNS設置。Linux用戶將需要參考手冊以了解Linux的風格,但是應該沒有太大不同。
如果您想更改Wi-Fi路由器的DNS設置,請查閱路由器手冊或聯繫製造商以獲取更多信息。
要在Windows 10中更改DNS設置,請執行以下操作:
- 轉到控制面板。
- 單擊“網絡和Internet”選項。
- 單擊“網絡和共享中心”選項。
- 在下一個菜單的左側面板中,您將看到“更改適配器設置”選項。點擊那個。
- 在打開的窗口中找到“ Internet協議版本4”選項,然後單擊它。
- 點擊“屬性”。
- 在“屬性”窗口中單擊“使用以下DNS服務器地址”。
- 從選項之一輸入首选和備用DNS服務器地址。
- 點擊“確定”按鈕。
要在macOS中更改DNS設置,請執行以下操作:
- 單擊蘋果菜單。
- 在出現的菜單中單擊“系統偏好設置”。
- 單擊“網絡”圖標-它應該在第三行中。
- 從左側單擊您的網絡接口。(它可能會被標記為“ Wi-Fi”,“以太網”或類似名稱。)
- 單擊“網絡”窗口右下角的“高級”按鈕。
- 點擊屏幕頂部的“ DNS”標籤。
- 要添加新的DNS服務器,請單擊可能已經存在的DNS服務器列表下方的[+](加號)按鈕。
- 要編輯現有的DNS服務器,請在要更改的DNS IP地址上單擊兩次。
- 要刪除DNS服務器,請選擇DNS服務器IP地址,然後單擊列表下方的[-](減號)按鈕或按Mac鍵盤上的“刪除”鍵。
- 使用我前面提到的DNS服務器地址或您喜歡的DNS提供商的信息。
- 完成更改後,單擊“確定”按鈕。
- 單擊“應用”使更改生效。
- 像往常一樣關閉“系統偏好設置”。
2.設置您的VPN或防火牆以阻止非VPN流量
檢查您的VPN客戶端,看看它是否提供自動阻止任何不通過VPN的流量的選項。
一些提供商將其稱為“ IP綁定”,而另一些提供商則將其稱為“ kill switch” 。請與您的VPN提供商聯繫,以確保您的VPN提供它。如果沒有,請在別處尋找您的VPN服務。
Windows用戶還可以將其Windows防火牆設置配置為僅允許通過VPN進出流量。這是這樣做的方法。(步驟可能會因所使用的Windows版本而異。這些說明適用於Windows10。)
- 連接到您的VPN。
- 以管理員身份登錄到Windows計算機。
- 打開網絡和共享中心。您應該同時看到ISP連接(標記為“網絡”)和VPN(標記為VPN提供商的名稱)。
注意:“網絡”應被標識為家庭網絡,而您的VPN應被標識為公共網絡。如果任何一個顯示為不同的內容,則需要單擊它們並將它們設置為正確的網絡類型。
- 打開Windows防火牆設置。
- 點擊“高級設置”。
- 在左側面板中找到“入站規則”。點擊它。
- 在右側面板中,您現在應該看到“ New Rule…”的選項。單擊該選項。
- 當出現新窗口時,單擊“程序”,然後單擊“下一步”。
- 選擇“所有程序”或您要阻止其非VPN流量的單個應用程序。然後點擊“下一步”。
- 單擊“阻止連接”,然後單擊“下一步”。
- 確保選中“域”和“私有”複選框,但不要選中“公共”複選框。點擊下一步。”
- 您將返回Windows防火牆的“高級設置”菜單。在左側面板中找到“出站規則”。單擊它,然後重複步驟6到10。
完成上述步驟後,將設置防火牆,以通過VPN路由往返於計算機的所有流量。
3。定期執行DNS洩漏測試
預防是邁出的重要一步,但是您不時要檢查以確保一切正常。
定期執行DNS洩漏測試。請按照“如何判斷我的VPN是否存在DNS洩漏?”中的步驟進行操作。本文前面的部分。
4.考慮使用VPN-“監控”軟件
有一些軟件包可以監視您的VPN連接,以確保您的DNS請求不會超出VPN加密保護通道的範圍。
這是在您為VPN服務支付的費用之上的一筆額外費用,但是如果您擔心您的VPN可能會定期洩漏DNS請求,那麼這可能是值得的。
當VPN連接斷開時,VPN Watcher將阻止應用程序發送數據請求。它的價格為9.95美元,但還有一個先試后買的選擇。
PRTG VPN監視對於想要監視整個VPN網絡的公司用戶是有效的選擇。定價因要監視的用戶數而異。提供30天的免費試用版,以及針對小型網絡的“免費”版本。
留言
張貼留言