メニュー

ホーム

すべてのページ

外観

位置:🇺🇸 アメリカ合衆国
メインサイト gistwillan.top
ブログに戻る
漏洩 · 約 5 分

誰もが一度はやるべき 2 つの漏洩検査:WebRTC と DNS

VPN はアドレスを隠しても、2 つの扉を開けたままにできます。どちらもブラウザで測定でき、既定の設定はたいてい間違っています。

リンク灯が点いた RJ45 コネクタ
Someone's Moving Castle · CC BY-SA 3.0 Wikimedia Commons

「IP 漏洩」は 1 つのバグのように語られますが、少なくとも 2 つあり、層が違い、対処も違います。片方を完全に塞いでも、もう片方から露出し続けることがあります。テストページに VPN のアドレスが出ること自体は、どちらの証明にもなりません。

ブラウザに残る 2 つの扉
両方が一致して初めて「目立った漏洩なし」と言えます。きれいでも特定不能ではありません。

1. まず、どの観測者が気になるかを決める

漏洩の問いは、結局「誰が何を知るか」です。訪問先のサイトは接続してきたアドレスを知ります。ローカルネットワークは解決した名前を知ります。ブラウザのネットワークスタックはローカルアドレスを知っており、対端に喜んで教えます。VPN が変えると約束するのは 1 つ目だけで、2 つ目と 3 つ目については、そう設定しない限り何も言っていません。

2. WebRTC:ブラウザが自分からアドレスを渡す

WebRTC は 2 つのブラウザを直結させ、音声・映像・データをやり取りする仕組みです。そのために ICE 候補を集めます。ローカルアドレスと、STUN サーバー経由で判明した公開アドレスを含み、それらを対端へ送ります。VPN クライアントがこの通信をトンネルに入れていないと、STUN 要求は物理回線から直接出て、候補一覧に本当の公開アドレスが載ります。サイトは JavaScript からその一覧を読めます。許可は不要です。

見るべき特徴は単純です。サイトが HTTP リクエストに対して報告したアドレスと異なるアドレスがある。あるいは公開アドレスの隣に 192.168.x.x のようなプライベート範囲がある。前者は Web 通信がトンネルを通り WebRTC が通っていない証拠、後者はそれ自体では何も漏らしませんが、候補収集が制限されていないことを示します。

3. DNS:リゾルバは開いたすべてのサイトを知る

接続の前に、名前をアドレスへ変える必要があります。その問い合わせは通常、平文で端末を出て、OS が選んだリゾルバへ向かいます。その選び方は混沌で、DHCP オプション、インターフェース設定、systemd-resolved、VPN クライアントのスクリプト、ブラウザ内蔵 DoH が絡みます。実際に勝つものは、利用者が意図したものとほとんど一致しません。

確実な検査は「サイトに尋ねる」より一段賢い必要があります。一意なホスト名を要求し、権威サーバーに「誰があなたの代理で問い合わせたか」を記録させます。そのリゾルバのアドレスと運営ネットワークが、唯一信頼できる答えです。出口 IP と同じ国で同じ事業者のリゾルバなら、直接接続では正常です。出口 IP と別の国なら、通信の出口と問い合わせの出口が違う——これが DNS 漏洩の定義です。

4. 2 つの結果を合わせて読む

  • 出口 IP とリゾルバが同じ国で、どちらも ISP のもの:VPN なし、漏洩なし、想定どおり。
  • 出口 IP は海外、リゾルバは国内:VPN は通信を経路制御しているが DNS は引き受けていない。最も多い誤設定です。
  • 出口もリゾルバも海外だが事業者が違う:漏洩ではないが、2 つの経路が別ルートを通り、リゾルバは全部見えています。VPN には見えません。
  • リゾルバが Cloudflare、Google、Quad9:暗号化 DNS が有効。ISP は見えませんが、その事業者にはすべて見えます。

5. 壊さずに直す

WebRTC の確実な対処は、全トンネル経路制御と、TCP だけでなく UDP も対象にするキルスイッチを備えた VPN クライアントです。WebRTC を完全に無効化しても構いません(Firefox は about:config の media.peerconnection.enabled)。ただし正常なビデオ通話も壊れるため、多くの人には機能を切るより STUN をトンネル経由にするクライアントのほうが適しています。

DNS はトンネル層で強制し、検証してください。ブラウザや OS の設定が意図を静かに上書きできるからです。VPN クライアントに「DNS 漏洩防止」スイッチがあるなら、本来設定が担うべき仕事をそのスイッチがしている状態です。クライアント更新のたびに再テストを。ルートは書き換えられます。自分が管理するネットワークなら、自前のリゾルバを DHCP で配り、上流へは DoT で接続します。

6. どちらの検査でも分からないこと

どちらも「あなたが特定可能か」を測りません。TLS フィンガープリント、インストールされたフォント、タイムゾーン、画面サイズ、打鍵の癖は依然としてあなたのもので、プロキシはどれも変えません。漏洩検査がきれいなのは、目立つ扉が閉まっているという意味であって、部屋が空だという意味ではありません。

ipbox.one はホームで両方を実行します。ブラウザが公開する WebRTC 候補と、実際に応答したリゾルバを、Cloudflare が見たアドレスの隣に並べるので、推測ではなく比較で確認できます。

関連記事