什麼是 WebRTC VPN“錯誤”以及如何修復它?

2015 年初,Chrome 和 Firefox 瀏覽器都推出了一項名為 WebRTC 的新“功能”。然而,令人震驚的是,它允許網站檢測您的真實 IP 地址,即使在使用 VPN 時也是如此!

Web 實時通信 (WebRTC) 是一種潛在有用的標準,它允許瀏覽器將語音通話、視頻聊天和 P2P 文件共享等功能直接合併到瀏覽器中。

一個很好的例子就是新的火狐你好視頻和聊天客戶端,讓您可以使用最新的 Firefox、Chrome 或 Opera 瀏覽器與其他人安全地交談,無需下載任何插件或配置任何新設置。

那麼問題出在哪裡呢?

對於 VPN 用戶來說不幸的是,WebRTC 允許網站(或其他 WebRTC 服務)直接檢測您主機的真實 IP 地址,無論您使用的是代理服務器還是 VPN。

作為製作者https://diafygi.github.io/webrtc-ips/,一個檢測您的瀏覽器是否容易遭受 WebRTC 洩漏的工具,解釋一下,

Firefox 和 Chrome 已經實現了 WebRTC,允許向 STUN 服務器發出請求,該服務器將返回用戶的本地和公共 IP 地址。這些請求結果可用於 javascript,因此您現在可以在 javascript 中獲取用戶的本地和公共 IP 地址。這個演示是一個示例實現。

此外,這些 STUN 請求是在正常的 XMLHttpRequest 過程之外發出的,因此它們在開發人員控制台中不可見,也​​不會被 AdBlockPlus 或 Ghostery 等插件阻止。如果廣告商設置具有通配符域的 STUN 服務器,則這些類型的請求可用於在線跟踪。

Opera 瀏覽器,使用相同的網絡工具包為 Chrome 提供支持的代碼也受到該問題的影響,但不支持 WebRTC 的 Internet Explorer 和 Safari 則不受此影響。更新:新版本的 Android 瀏覽器似乎實現了 WebRTC,因此應該避免使用。

我受到影響了嗎?

您可以檢查WebRTC 洩露通過使用我們自己的VPN 洩漏測試工具!

在這裡我們可以清楚地看到我有一個 WebRTC 洩漏。該網站可以看到我的 VPN 服務器的 IP,但也可以看到真實的本地(英國)IP 地址。壞的!

如果您在瀏覽器中禁用了 WebRTC(或者正在使用不“支持”WebRTC 的瀏覽器,您將看到此消息。很好!

如果您在未禁用 WebRTC 的情況下測試了您的 VPN 並且沒有遇到任何洩漏,這意味著您的 VPNVPN服務已修復該問題並正在通過其服務器路由 WebRTC STUN 請求。太棒了!

儘管某些 VPN 提供商(例如空中VPN)已採取措施修復 WebRTC“錯誤”,但應該強調的是,從根本上來說,問題在於 WebRTC API,以及它在受影響的瀏覽器中默認啟用的事實。

因此,這並不是 VPN 提供商的錯,儘管我們希望看到更多的提供商迎接挑戰,幫助他們的客戶(他們基本上沒有意識到這個問題)的隱私受到此問題的影響。

如何修復 WebRTC 洩漏?

WebRTC 洩漏的修復方法根據您使用的瀏覽器而略有不同。我們在下面列出了在 Firefox、Google Chrome 和 Opera 瀏覽器中解決此問題所需採取的步驟。

如何修復 Firefox 中的 WebRTC 洩漏

  1. 解決該問題的最簡單方法是禁用 WebRTC。在 Firefox 中可以在高級設置中輕鬆手動完成:

    a) 輸入 '關於:配置'進入地址欄(然後點擊“我保證會小心!”)
    b) 搜索 '媒體.peerconnection.啟用'
    c) 雙擊該條目將值更改為“錯誤的'

    此方法也適用於移動版本的 Firefox (Android/iOS)

  2. 安裝禁用 WebRTC添加在。這uBlock起源瀏覽器擴展還可以防止 WebRTC 洩露桌面上的本地 IP 地址(所有這些附加組件也可以在移動版本的 Firefox 上使用。)

    在 uBlock Origin 中,轉到菜單 -> 附加組件 -> uBlock Origin -> 選項 -> 顯示儀表板以禁用 WebRTC

  3. 更核心的選擇是使用無腳本添加在。這是一個非常強大的工具,並且保護瀏覽器免受各種威脅(包括 WebTRC)的最佳方法,但許多網站不會使用 NoScript,並且需要相當多的技術知識來配置和調整它以按照您想要的方式工作。

    向白名單添加例外很容易,但即使如此也需要對可能涉及的風險有一定的了解。不是對於普通用戶來說,而是對於精通網絡的高級用戶來說,NoScript 很難被擊敗(事實上,即使關閉了大部分功能,NoScript 仍然提供了一些有用的保護。)NoScript 僅適用於桌面版本的 Firefox。

  4. 正如我所指出的,WebRTC 實際上很有用,因此對於更細緻的方法,您可以安裝 Statutory 附加組件。這允許您逐個站點決定是否允許 WebRTC 連接。僅限桌面。

    默認情況下,法定附加組件會阻止 WebRTC,但允許您通過將網站添加到此列表來將其列入白名單

    請注意,Tor 瀏覽器(基於 Firefox)默認禁用 WebRTC。

如何修復 Google Chrome 中的 WebRTC 洩漏

  1. uBlock起源瀏覽器擴展也適用於 Chrome(並且適用於 Opera。)

  2. 2. 的WebRTC 網絡限制器瀏覽器擴展將防止 IP 洩漏,而無需完全禁用 WebRTC 功能(這是官方的 Google 擴展。)

  3. 3. 在 Android 中,您可以使用以下方法手動禁用 Chrome 中的 WebRTC:

    類型鉻://標誌進入搜索欄並向下滾動,直到看到“WebRTC STUN origin header”。禁用此功能。還有一些 WebRTC 視頻解碼選項,但您不需要禁用這些選項來防止 WebRTC IP 洩漏(儘管如果這讓您感覺更好,那就繼續吧!)。

如何修復 Opera 中的 WebRTC 洩漏

理論上,Opera 可以使用常規的 Chrome 擴展,但這些擴展大多無法阻止 WebRTC IP 洩漏。我所知道的一種方法工作正在使用WebRTC 防洩漏擴展,但前提是您:

  1. 轉到菜單 -> 擴展 -> 管理擴展 WebRTC Leak Prevent -> 選項
  2. 將“IP處理策略”設置為:禁用非代理UDP(強制代理),並勾選“舊版”下的兩個選項。

3. 點擊“應用設置”。

結論

WebRTC“錯誤”對於 VPN 用戶來說是危險的,因為它可以洩露您的真實 IP 地址(從而否定使用 VPN 的全部意義!)

雖然這並不是他們的錯,但如果更多的提供商能夠解決這個問題以保護他們的用戶,那就太好了,因為他們中的大多數人完全沒有意識到這種威脅。

同時,至少一旦您意識到問題,就可以輕鬆解決它。