WebRTCリークはVPNが有効で全く異なるIPアドレスを表示していても、訪問するすべての ウェブサイトに実際のIPアドレスを無警告で公開します。テストは whatsmy.fyiを使えば30秒もかかりません — ページを読み込むたびに自動的にテストが実行されます。
WebRTCリークとは何か
WebRTC(Web Real-Time Communication)は、プラグインなしでビデオ通話、音声チャット、 ファイル共有などのP2P機能を可能にするブラウザAPIです。ブラウザ間の直接接続を確立する ために、WebRTCはデバイスのIPアドレスを発見する必要があります — ローカルネットワークIPと、 重要なことに実際のパブリックIPアドレスを含みます。
問題:WebRTCはブラウザレベルでVPNのIPマスキングをバイパスします。VPNが有効でも、 ウェブサイトは小さなJavaScriptのスニペットを使用してWebRTCをトリガーし、あなたの知識や 同意なしにブラウザから実際のホームIPアドレスを読み取ることができます。
詳細な背景は WebRTCリークとは何か、その仕組みについてのガイドをお読みください。
ステップ1:VPNをオフにしてテストする(実際のIPを取得する)
- VPNが切断されていることを確認します。
- whatsmy.fyiを開いてメモします:
- パブリックIPアドレス(上部のヒーローセクションに表示)
- WebRTCリークテストの結果(WebRTCカードに表示)
- VPNなしでは、WebRTCカードには通常実際のIPが表示されます — これは予想通りです。 書き留めておきます。
ステップ2:VPNに接続して再テストする
- VPNに接続してサーバーを選択します。
- whatsmy.fyiをリロードします(単にリフレッシュではなく — キャッシュ状態をクリアする ためにハードリロードを使用:MacではCmd+Shift+R、WindowsではCtrl+Shift+R)。
- 結果を比較します:
- ヒーローIPセクション:ホームIPではなくVPNサーバーIPが表示される はずです。
- WebRTCリークテストカード:VPN IPで「リーク未検出」と表示される はずです。ステップ1の元のホームIPが表示される場合、WebRTCリークが確認されています。
WebRTCテスト結果の解釈
- リーク未検出(安全):WebRTCが無効になっているか、VPN接続と同じIPを 返しています。実際のIPは公開されていません。
- リーク検出:WebRTCがVPN IPと異なるIPを返しました。そのIPがステップ1の 実際のホームIPと一致する場合、リークが確認されています。
- ローカルIPのみ:WebRTCがプライベート/ローカルIPアドレス (192.168.x.xまたは10.x.x.x)を返しています。これは部分的なリークです — パブリックな ホームIPではありませんが、ローカルネットワーク構造を明かします。
WebRTCリークの修正方法
Firefoxでの修正(推奨 — 最も簡単)
- Firefoxのアドレスバーにabout:configと入力してEnterを押します。
- 警告を受け入れます。
- media.peerconnection.enabledを検索します。
- ダブルクリックして値をfalseに設定します。
- これによりWebRTCが完全に無効になります。WebRTCに依存するビデオ通話アプリはこの Firefoxプロファイルでは動作しなくなりますが、IPは漏洩しません。
Chromeでの修正(拡張機能が必要)
Chromeは設定からWebRTCを無効にすることができません。2つのオプションがあります:
- uBlock Origin:uBlock Originダッシュボード → 設定タブ → 「WebRTCがローカルIPアドレスを漏洩するのを防ぐ」にチェックを入れます。これにより WebRTCを完全に無効にすることなく公開内容を制限します。
- WebRTC Leak Prevent:WebRTC IPハンドリングポリシー(デフォルト、 デフォルト_パブリックインターフェース、非プロキシUDP無効)のきめ細かい制御を可能にする 専用のChrome拡張機能です。
Safariでの修正
macOSのSafariはWebRTCをサポートしていますが、歴史的に公開する内容についてより慎重です。 WebRTCを完全に無効にするには:
- Safari → 環境設定 → 詳細 → 「メニューバーに"開発"メニューを表示」にチェックを入れます。
- 開発メニュー → 試験的な機能 → 「WebRTC」のチェックを外します。
注意:このオプションはすべてのSafariバージョンで利用できない場合があります。利用できない場合は、 システムレベルでWebRTCを処理するVPN(ブラウザ拡張機能ではなく)を使用してください。
VPNクライアントで修正する
プレミアムVPNクライアント(Mullvad、ProtonVPN、ExpressVPN)は、アプリケーションレベルで WebRTCリーク保護を提供し、WebRTCトラフィックをVPNトンネル経由でルーティングします。 これが最もクリーンな解決策です — ブラウザのWebRTC機能を無効にすることなく漏洩を防ぎます。
VPNアプリの設定で「WebRTCリークを防ぐ」、「WebRTC保護」などのオプションを確認してください。 有効にして再接続し、whatsmy.fyiで再テストします。
ステップ3:修正を確認する
- 選択した修正を適用した後、VPNに接続したままwhatsmy.fyiをリロードします。
- WebRTCリークテストカードには以下が表示されるはずです:
- 「リーク未検出」、または
- VPN接続と同じIP
- リークが続く場合、VPNクライアントが十分でないブラウザ拡張機能を使用している可能性が あります — システムレベルのVPN修正に切り替えてください(ChromeではuBlock Origin、 FirefoxではaboutL:config)。
DNSリークもIPアドレスを公開しますか?
DNSリークは別の問題です。IPアドレスは公開しませんが、ISPがどのドメインを訪問しているかを 見ることができます。WebRTCとDNSリークは独立しています — 完全な保護のために両方を 修正してください。 VPNが機能しているかを確認している場合は、両方をテストしてください。
なぜVPN使用中にWebRTCが漏洩するのか
VPNソフトウェアは通常、OSネットワークレベルでトラフィックを傍受します。WebRTCはOSネットワーク インターフェースへの直接呼び出しを行いますが、それらのインターフェースがVPNトンネル内に 完全に収まる前、またはトンネルを完全にバイパスするSTUNサーバーリクエストを使用します。 これはシステムレベルのVPNトンネルが常に傍受できるとは限らないブラウザレベルの動作です。
根本的な原因は ウェブサイトがVPN使用を検出できる理由と同じです:ブラウザはVPNトンネルが認識しているより多くの情報を公開します。
よくある質問
WebRTCを無効にした場合、ビデオ通話は機能しますか?
WebRTCに依存するアプリケーション(Google Meet、Zoomウェブ、ブラウザのDiscord)は、 WebRTCが完全に無効なブラウザでは機能しません。それらのサービスにはネイティブデスクトップ アプリを使用してください — ブラウザのWebRTCに依存しません。
ローカルIPリーク(192.168.x.x)は危険ですか?
ローカルIPリークは内部ネットワークIPを明かしますが、ウェブサイトはそれを使ってあなたを 外部から識別することはできません。ただし、WebRTCがアクティブであることを確認し、他の フィンガープリンティング技術と組み合わせることができます。とにかくブロックしてください — それを公開することに利点はありません。
モバイルブラウザにWebRTCリークはありますか?
モバイルChromeとFirefoxはWebRTCをサポートしており、デスクトップブラウザと同様に漏洩する 可能性があります。モバイルSafariは歴史的に制限が多いです。モバイルブラウザでwhatsmy.fyi のWebRTCテストを使用して、特定のデバイスとブラウザの組み合わせを確認してください。



