WebRTC とは何か

WebRTC (Web Real-Time Communication) は、ブラウザ間で音声・映像・データをリアルタイムにやり取りするためのオープンソース技術です。Google Meet、Discord、Facebook Messenger など、多くの Web サービスがこの技術を基盤としています。

WebRTC の最大の特徴は、プラグインやアプリのインストールなしに、ブラウザだけで P2P (ピアツーピア) 接続を確立できる点にあります。しかし、この P2P 接続を確立する過程にプライバシー上の懸念が潜んでいます。

WebRTC リークの仕組み

WebRTC が P2P 接続を確立する際、ICE (Interactive Connectivity Establishment) というプロトコルを使用して通信候補となる IP アドレスを収集します。この過程で収集される情報には以下が含まれます。

  • ローカル IP アドレス (プライベート IP): 192.168.x.x や 10.x.x.x などの内部ネットワークアドレス
  • パブリック IP アドレス: STUN サーバーを通じて取得される外部 IP アドレス
  • IPv6 アドレス: デバイスに割り当てられた IPv6 アドレス

問題の核心は、この情報収集が VPN トンネルを迂回できてしまう点にあります。VPN を使用していても、WebRTC がネットワークインターフェースに直接アクセスし、実際の IP アドレスを取得してしまう可能性があるのです。

VPN 使用中でもリークが発生する理由

VPN は通常、OS のネットワークスタックを通じてすべてのトラフィックをトンネリングします。しかし、WebRTC はブラウザ内で動作し、VPN トンネルの外側に STUN リクエストを送信してしまうことがあります。

特に以下のシナリオでリークが発生しやすくなります。

  • VPN クライアントが WebRTC トラフィックを適切にルーティングしていない場合
  • スプリットトンネリングが有効で、ブラウザのトラフィックが VPN を迂回する設定になっている場合
  • IPv6 トラフィックが VPN の対象外になっている場合

WebRTC リークが発生すると、VPN で隠しているはずの実際の IP アドレスが、任意の Web サイト上の JavaScript からアクセス可能になります。これは VPN を使用する目的そのものを損なう深刻なリスクです。

WebRTC リークの確認方法

専用のWebRTC リークテストを使うと、ローカル IP とパブリック IP の露出状況をその場で判定できます。判定はブラウザ内で完結し、結果がサーバーに送信されることはありません。

VPN 使用中にプライベート IP アドレス (192.168.x.x など) や本当の回線の IP が表示された場合、WebRTC リークが発生しています。「保護されています」と表示されていれば、リークは防止されています。

あわせてトップページのネットワーク情報カードや、セキュリティスコアの「WebRTC IP リークリスク」の項目でも露出の有無を確認できます。

ブラウザ別の対策

Firefox

Firefox では、設定から直接 WebRTC の IP リークを防止できます。

  1. アドレスバーに about:config と入力する
  2. media.peerconnection.enabled を検索する
  3. 値を false に設定する

この設定を無効にすると、Google Meet や Discord など WebRTC に依存するサービスが利用できなくなる点に注意してください。

Chrome / Edge

Chrome と Edge では、ブラウザの設定だけで WebRTC を完全に無効化することはできません。代わりに以下の拡張機能を使用してください。

  • WebRTC Leak Prevent: WebRTC の IP アドレスリークをブロックする拡張機能
  • uBlock Origin: 設定で有効化が必要な WebRTC リーク防止機能を内蔵

Safari

Safari は、WebRTC の ICE 候補からプライベート IP アドレスを除外する設計になっています。比較的安全ですが万全ではないため、VPN 使用時には確認を推奨します。

Brave

Brave には WebRTC リーク防止機能が組み込まれています。「プライバシーとセキュリティ」設定で「WebRTC IP ハンドリングポリシー」を「プロキシされていない UDP を無効にする」に設定できます。

VPN 側の対策

多くの VPN サービスも WebRTC リーク防止機能を提供しています。

  • VPN クライアントの設定で「WebRTC リーク防止」を有効にする
  • ファイアウォール機能を使用して WebRTC の STUN リクエストをブロックする
  • IPv6 リーク防止を有効にして、IPv6 経由の WebRTC リークを防ぐ

VPN の選び方についてはVPN ガイドを、DNS リークについてはDNS リークの解説記事もあわせてご覧ください。ブラウザフィンガープリントの対策と組み合わせることで、ブラウザ経由のプライバシーリスクをより包括的に軽減できます。

この記事の関連用語

WebRTC ブラウザ間でリアルタイムの音声・映像通信を可能にする技術。ビデオ通話やファイル共有に利用されるが、VPN 使用時でもローカル IP アドレスが漏洩する WebR…

よくある質問

WebRTC リークは VPN を使っていても起きる?

はい。WebRTC はブラウザの機能として VPN トンネルの外側で通信することがあり、VPN を使用していても実際の IP アドレスが漏洩する可能性があります。ブラウザの設定や拡張機能で WebRTC を無効化する必要があります。

WebRTC を無効にするとビデオ通話はできなくなる?

はい。WebRTC は Google Meet、Zoom (Web 版)、Discord などのブラウザベースのビデオ通話に使われています。無効にするとこれらが動作しなくなるため、必要に応じて切り替えるか、専用アプリを使用してください。