WebRTC洩漏詳解:如何防止IP地址暴露

WebRTC協議如何繞過你的VPN並向網站洩露你的真實IP地址——以及消除這一風險的瀏覽器設置和擴充功能。

WebRTC leak IP exposure explained
1了解WebRTC

什麼是WebRTC及為什麼它會洩露你的IP

WebRTC(網絡實時通信)是一種瀏覽器技術,使瀏覽器之間能夠建立直接的對等連接,用於音頻、視頻和數據傳輸——被Google Meet、Zoom的網絡客戶端和許多其他視頻會議和文件共享應用程式使用。為了建立這些直接連接,WebRTC使用一種稱為ICE(交互式連接建立)的機制,發現並測試你的設備可以訪問的多個IP地址,包括你的公共IP、本地網絡IP和VPN IP。問題是,這個IP發現過程可以被任何網站通過JavaScript觸發,而不仅仅是合法的視頻通話應用程式。

當VPN活躍時,WebRTC的ICE協商可以同時發現並暴露你的VPN的IP地址和你的真實公共IP地址。真實IP的出現是因為WebRTC通過STUN(用於NAT的會話穿越實用程序)協議進行通信,發現你的ISP分配的IP地址——而這個STUN請求可以繞過VPN隧道,直接通過你的真實ISP連接到STUN伺服器。惡意或只是有追蹤動機的網站可以通過JavaScript運行WebRTC STUN請求,在沒有任何瀏覽器警告或用戶提示的情況下接收你的真實IP地址。

WebRTC洩漏默認影響Chrome、Firefox和Edge。Safari和Brave都在其默認配置中實現了WebRTC洩漏防護——Safari封鎖本地IP地址披露,Brave通過VPN隧道路由WebRTC流量。然而,Chrome和Firefox需要瀏覽器設置更改或擴充功能來防止WebRTC洩漏。這是VPN用戶中最常見的私隱漏洞之一——他們可能擁有完全功能、正確連接的VPN,卻仍然讓任何通過WebRTC檢查的網站看到其真實IP地址。

  • WebRTC用於視頻通話:Google Meet、Zoom網絡版、Discord——需要IP發現的合法用途。
  • 任何網站都可以觸發它:網站可以通過JavaScript發起WebRTC STUN請求,用戶毫不知情。
  • 繞過VPN隧道:STUN請求可以在VPN之外路由,返回你的真實ISP分配的IP。
  • 默認影響Chrome和Firefox:兩個瀏覽器默認在沒有洩漏防護的情況下啟用WebRTC。
  • Brave默認已受保護:Brave通過VPN隧道路由WebRTC並防止本地IP披露。
  • 靜默暴露:當你的真實IP通過WebRTC暴露時,不會顯示任何瀏覽器警告。
What WebRTC is and why it leaks IP
2測試洩漏

如何測試你的瀏覽器是否有WebRTC洩漏

使用免費的在線工具測試WebRTC洩漏大約需要30秒。在VPN連接並活躍的情況下,導航至browserleaks.com/webrtc或ipleak.net。這些網站自動從你的瀏覽器運行WebRTC STUN請求,並顯示任何被揭露的IP地址。如果頁面只顯示屬於你的VPN供應商的IP地址——通常是與你選擇的VPN伺服器位置匹配的外國IP——則沒有WebRTC洩漏。如果頁面還顯示屬於你實際ISP的香港IP地址(HKT、中國移動香港、數碼通等),你的真實IP正在通過WebRTC洩漏。

重要的是要在VPN連接時測試,而不是在沒有VPN的情況下。沒有VPN時,通過WebRTC看到你的真實IP是預期的,不是問題。洩漏測試專門檢查WebRTC是否繞過VPN——因此只有在你認為VPN應該屏蔽你的IP時,測試才有意義。在你的主要瀏覽器中運行測試,然後在Brave中比較結果(默認應顯示無洩漏),以了解正確保護和未保護的WebRTC配置之間的差異。

某些WebRTC測試區分不同類型的IP披露。本地IP披露顯示你的內部網絡IP(如192.168.x.x)——這通常比公共IP披露問題少,但仍可能揭示有關你的網絡配置的信息。通過WebRTC的公共IP披露是更嚴重的私隱問題,因為它揭示了你的ISP分配給你連接的IP地址。IPv6地址也通過WebRTC披露,應加以檢查——只保護IPv4流量的VPN可能在IPv4被正確隧道傳輸時仍然允許IPv6 WebRTC洩漏。

  • browserleaks.com/webrtc:主要工具——顯示你的瀏覽器通過WebRTC暴露的所有IP地址。
  • ipleak.net:在一次全面檢查中同時測試WebRTC、DNS和IP洩漏。
  • 預期的乾淨結果:只應顯示VPN伺服器IP地址——不應有香港ISP地址。
  • 在多個瀏覽器中測試:Chrome和Firefox通常顯示洩漏;Brave和Safari通常不顯示。
  • 檢查IPv6:IPv6 WebRTC洩漏可以在IPv4被正確隧道傳輸時暴露你的ISP身份。
  • 本地IP披露:比公共IP披露危害性小——揭示網絡拓撲,但不向外部網站透露你的身份。
Testing for WebRTC leaks
3在Firefox中修復

如何在Firefox中禁用WebRTC

Firefox通過about:config提供了禁用WebRTC洩漏防護的內建設置。在Firefox地址欄中輸入about:config並按回車。當提示時點擊「接受風險並繼續」。在搜索框中,輸入media.peerconnection.enabled並按回車。雙擊結果將其值從「true」更改為「false」。這將在Firefox中完全禁用WebRTC,防止任何網站發起WebRTC連接,包括STUN請求。通過重新訪問browserleaks.com/webrtc驗證修復——WebRTC部分現在應顯示無數據。

在Firefox中完全禁用WebRTC會破壞依賴WebRTC的網絡應用程式中的視頻通話功能,包括Google Meet、Zoom和Discord的網絡版本。如果你通過Firefox使用這些服務,考慮使用更有針對性的方法:不是完全禁用WebRTC,而是安裝「WebRTC Control」擴充功能,它提供一個瀏覽器工具欄按鈕,可以按會話快速啟用和禁用WebRTC。這讓你在一般瀏覽時禁用WebRTC,只在你特別需要視頻通話應用程式時重新啟用它。

在保持WebRTC功能的同時防止IP洩漏的替代Firefox方法,是在about:config中將media.peerconnection.ice.no_host設置為true——這防止WebRTC披露你的本地網絡IP地址,同時仍允許通過你的VPN IP路由的WebRTC連接。此外,將media.peerconnection.ice.default_address_only設置為true,將ICE候選項限制為僅VPN接口,防止通過STUN發現真實IP。這些更具外科性的設置允許視頻通話繼續,同時防止IP暴露。

  • 完全禁用:about:config > media.peerconnection.enabled > 設置為false——封鎖所有WebRTC,包括視頻通話。
  • 外科方法:將media.peerconnection.ice.default_address_only設置為true——將ICE限制為VPN接口。
  • 無本地IP:將media.peerconnection.ice.no_host設置為true——防止本地IP披露,同時保持WebRTC功能。
  • WebRTC Control擴充功能:通過工具欄按鈕切換WebRTC——對偶爾需要視頻通話的用戶方便。
  • 驗證修復:應用設置後重新訪問browserleaks.com/webrtc,確認無IP披露。
  • about:config警告:如果你不熟悉該過程,在進行about:config更改之前備份你的Firefox配置文件。
Disable WebRTC in Firefox
4Chrome和Brave

Chrome、Brave和Safari中的WebRTC防護

Chrome沒有提供內建設置來禁用或限制WebRTC。防止Chrome中WebRTC洩漏的唯一方法是安裝瀏覽器擴充功能。最可靠的選項是Google自己的「WebRTC Network Limiter」,它限制ICE候選生成,以及可以配置為通過在其進階設置中啟用選項來封鎖WebRTC的「uBlock Origin」。WebRTC Network Limiter擴充功能配置簡單——安裝後,打開其選項,設置為「禁用非代理UDP」以防止STUN請求繞過VPN。這是無法切換瀏覽器的Chrome用戶的推薦方法。

Brave Browser開箱即正確處理WebRTC。Brave在使用VPN時通過VPN隧道路由WebRTC流量,並防止WebRTC通過STUN發現真實IP地址。Brave的私隱設置包括設置 > 私隱和安全性 > 安全性下的「WebRTC IP處理策略」選項,默認設置為「默認」,但可以更改為「禁用非代理UDP」以在你想要最大IP隱藏的網絡上獲得額外保護。Brave用戶應通過運行browserleaks測試驗證WebRTC防護正常工作,但在大多數情況下不需要更改配置。

iOS和macOS上的Safari處理WebRTC的方式與Chrome和Firefox不同。Safari默認限制WebRTC發現本地IP地址的能力,這防止了最常見形式的IP披露。然而,在某些配置中,Safari仍可能披露VPN IP。對關注WebRTC的iOS用戶最乾淨的解決方案是使用iOS版Brave,它提供全面的WebRTC防護以及Brave的所有其他私隱功能。對於macOS用戶,Safari的原生限制和Brave的加固WebRTC配置都在不需要任何擴充功能管理的情況下提供強大的保護。

  • Chrome需要擴充功能:安裝「WebRTC Network Limiter」並設置為「禁用非代理UDP」以防止真實IP披露。
  • Brave默認已受保護:無需配置——Brave開箱即安全地處理WebRTC。
  • Brave策略設置:設置 > 私隱 > 安全性 > WebRTC IP處理 > 禁用非代理UDP以獲得最大保護。
  • Safari限制本地IP:內建保護防止本地IP披露,但可能無法涵蓋所有邊緣情況。
  • iOS建議:使用iOS版Brave以在iPhone上獲得最全面的WebRTC防護。
  • uBlock Origin選項:在uBlock Origin的進階設置中,啟用「防止WebRTC洩漏本地IP地址」。
WebRTC protection in Chrome and Brave

2分鐘內修復你的WebRTC洩漏

訪問browserleaks.com/webrtc檢查你的暴露程度——然後為你的瀏覽器應用正確的修復,以消除這一常見的私隱缺口。

Related VPN Articles