WebRTCリークとは?
WebRTCはGoogle MeetやDiscordなどのビデオ通話を支えるブラウザ技術です。2人を直接つなぐため、ブラウザはSTUNサーバーから知ったグローバルIPを含む自分のネットワークアドレスを集めます。この処理はどのサイトでも許可なしに開始できます。
このSTUNのリクエストがVPNトンネルの外を通ると、プロバイダから割り当てられた本当のアドレスが露出します。優れたVPNアプリはこれを防ぎますが、ブラウザ用のVPN拡張機能やプロキシでは防げないことがよくあります。
結果の見方
- 公開されたグローバルIP:STUNサーバーから見えたグローバルアドレスです。下に表示されるIPと同じならリークはありません。
- リーク:サイトから見えるアドレスとは異なるグローバルアドレスです。VPN使用中なら、たいていは本当のアドレスです。IPv4専用のVPNをすり抜けるIPv6アドレスも含みます。
- ローカルネットワークのIP:「ブラウザにより非表示(mDNS)」は現行のChrome、Edge、Firefox、Safariの安全な初期設定です。192.168.1.20のようなアドレスが表示されてもグローバルIPではありませんが、ブラウザのフィンガープリントに使われやすくなります。
- 「WebRTCを利用できません」:このブラウザではWebRTCが無効なので、リークは起こりません。
WebRTCリークの直し方
- ブラウザ拡張機能だけでなく、VPNのデスクトップアプリやモバイルアプリを使い、リーク防止機能とキルスイッチを有効にします。
- Brave:設定 → プライバシーとセキュリティ → WebRTC IP処理ポリシーで「プロキシされていないUDPを無効にする」を選びます。
- ChromeとEdge:Google製の拡張機能「WebRTC Network Limiter」を入れるか、uBlock Originの設定で「WebRTCがローカルIPアドレスを漏洩しないようにする」を有効にします。
- Firefox:about:configを開き、media.peerconnection.enabledをfalseにします。WebRTCが完全に無効になるため、ブラウザでの通話は使えなくなります。
- このページを再読み込みし、「再テスト」を押してリークが消えたことを確認します。