如何在 Firefox 中屏蔽来自 WebRTC 的 IP 泄漏?

Posted

技术标签:

【中文标题】如何在 Firefox 中屏蔽来自 WebRTC 的 IP 泄漏?【英文标题】:How to Mask IP Leak from WebRTC in Firefox? 【发布时间】:2021-08-14 05:52:42 【问题描述】:

我在阅读有关在线隐私的内容时发现,即使使用代理,一个人的 IP 地址也会被WebRTC 技术泄露。根据我阅读的一篇文章,可以通过导航到about:config 并将media.peerconnection.enabled 设置为false 来禁用Firefox 中的WebRTC。虽然这确实关闭了WebRTC,但我认为它产生了一系列新问题,那就是通过关闭WebRTC,我将自己标识为“不想启用WebRTC 的人”。这对某些网站可能是可疑的。正如有人曾经写道:“我宁愿做一大堆干草堆里的一根针,也不愿做一把干草里的一根针”。

如何保持WebRTC 处于启用状态,但对其进行修改使其仅显示我的代理的 IP 或某个随机 IP 而不是我的真实 IP?

【问题讨论】:

嗨!你说的是公共 IP 还是私有 IP? @divinelemon 通过 WebRTC 泄露的 IP 是公共 IP,所以大概我们正在处理公共 IP。 【参考方案1】:

要解决潜在的XY:仅通过禁用 WebRTC 并不能真正脱颖而出。它可以出于很多非常常规的原因被禁用,例如公司组策略。

如果您担心指纹识别到 程度,您还应该担心显示器尺寸和分辨率以及可通过 javascript 检测到的任何数量的其他功能的指纹识别。在这种情况下,请使用Tor browser,这会造成很多混淆。

至于隐藏您的 IP 地址:

about:config集合中

    media.peerconnection.ice.proxy_onlytrue。 Undocumented 阻止未通过您的代理的 WebRTC 的功能。 media.peerconnection.ice.relay_onlytrue。这可用于阻止所有本地 (LAN) 和外部 IP 地址被生成为候选地址。这不会对 TURN 服务器本身隐藏您的外部 IP 地址,因此如果您的攻击者尝试启动连接并指定他们控制的 TURN 服务器,这还不够。

为了减轻上述 #2 的风险但仍使用 WebRTC,另外设置

    media.peerconnection.use_document_iceserverstrue 然后 media.peerconnection.default_iceservers 到您希望使用和信任的服务器列表中,例如您的 ***。

use_document_iceservers 为false 时,它​​将拒绝使用网页指定的peer,而只使用default_iceservers 中指定的peer。如果您未能提供default_iceservers 的列表,FireFox 可能use_document_iceservers 恢复为备用。

至于一种“通过 WebRTC 故意泄露虚假 IP 而不是简单地完全禁用它的规范方法”,其方式不会禁用 WebRTC 但会破坏它 em>,将media.peerconnection.ice.force_interface 设置为0.0.0.0,一个不可路由的地址(或10.0.0.0/8172.16.0.0/12192.168.0.0/16 中的任何内容都可以)。

禁用它可能是最简单的 - 偷偷摸摸的页面可以通过许多其他方式在常规浏览器中识别或跟踪您。

参考:https://wiki.mozilla.org/Media/WebRTC/Privacy

未来读者请注意:这些都是活动部分,有些目前是半记录或未记录的,因此在您阅读本文时情况可能会发生变化。

【讨论】:

我尝试将media.peerconnection.ice.force_interface 设置为0.0.0.0,但我的真实IP 已暴露。如果我遵循您的前 4 个步骤,这将完全禁用 WebRTC,这正是我们试图避免的。当您转到Firefox -> Settings -> General -> Network Settings 并单击Settings 然后在Manual proxy configuration 下输入代理详细信息时,目标是让WebRTC 泄漏代理IP 而不是您的真实IP。简而言之,外部网站看到的任何代理 IP 也应该被 WebRTC 泄露。在您的回复中,我看不到如何做到这一点。谢谢。 @S.O.S 按照前四个步骤不应完全禁用 WebRTC:配置中可能缺少某些内容。看起来这可能取决于两件事:media.peerconnection.ice.proxy_only 提供的代理不支持代理该类型的连接,或者media.peerconnection.default_iceservers 不支持。此外,由于 ice_prpoxy_only 未记录在案,它可能会停止工作。 我刚刚又测试了一遍。即使不更改任何其他设置,将 media.peerconnection.ice.proxy_only 设置为 true 也会禁用 WebRTC。另外,我不明白您要通过前 4 个步骤来完成什么。您是故意通过 WebRTC 泄露虚假 IP 还是只是禁用 WebRTC?如果您没有禁用 WebRTC,外部网站(例如 express***.com/webrtc-leak-test)看到了什么 IP? (网站告诉你通过WebRTC泄露了什么IP或者WebRTC是否完全禁用)

以上是关于如何在 Firefox 中屏蔽来自 WebRTC 的 IP 泄漏?的主要内容,如果未能解决你的问题,请参考以下文章

WebRTC:在 Firefox 中使用 VP9 编码的 SDP

WebRTC:Firefox 中缺少中继候选人

基于Webrtc的视频聊天,Firefox中不生成视频流

Google Hangouts支持使用Firefox WebRTC

Firefox 中的 WebRTC 直播流(H264)错误,无法生成有效的 SDP 答案

在firefox v60.0.2中创建sdf提供错误(WebRTC,Firefox)