1、简介
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的 API。它于 2011 年 6 月 1 日开源并在 Google、Mozilla、Opera 支持下被纳入万维网联盟的 W3C 推荐标准
2015 年,TorrentFreak 报告了一个 WebRTC 的安全漏洞,该漏洞会致使安装有 WebRTC 的用户泄露真实 IP,即使用户已经使用虚拟私人网路
漏洞影响
通过该漏洞,网站管理员可以轻易地通过WebRTC看到用户的真实IP地址,即使用户使用VPN来隐藏自己的IP。该漏洞影响了支持WebRTC的浏览器,包括Google Chrome和Firefox等常见的浏览器。
网络安全研究员Paolo Stagno测试了70个VPN提供商,发现其中有16个通过WebRTC泄漏了用户的IP(23%)。你可以通过这个地址来检查你的VPN是否泄漏了你的真实IP。
漏洞原理
WebRTC采用STUN(Session Traversal Utilities for NAT)、TURN和ICE等协议栈对VoIP网络中的防火墙或者NAT进行穿透。用户发送请求至服务器,STUN服务器会返回用户所用系统的IP地址和局域网地址。
返回的请求可以通过JavaScript获取,但由于这个过程是在正常的XML/HTTP请求过程之外进行的,所以在开发者控制台看不到。这意味着,这个漏洞的唯一要求就是浏览器要支持WebRTC和JavaScript。
◎维基百科 WebRTC [ 链接 ]
2、关闭WebRTC
Mozilla Firefox:在地址栏输入 “about:config”,搜索 “media.peerconnection.enabled” 并双击将值改为 “false”,WebRTC 将被关闭。
Google Chrome:在谷歌应用商店安装谷歌官方扩展 “WebRTC Leak Prevent”,在插件选项里找到 “IP handling policy:” 选择第三项 “Disable non-proxied UDP”,并点击下方 “Apply settings”
Google Chrome 另一种方法:在谷歌应用商店安装谷歌官方扩展 “WebRTC Network Limiter”,在插件选项里找到 “Options” 选择第四项 “Use my proxy server” 即可
测试网站:https://ip.voidsec.com/,未禁止前显示结果如下,能直接看到内网ip:
启用插件后: