12分で読めます

DNS Leakとは?VPN利用中でも閲覧履歴が漏れる仕組みを解説

DNS leakは、VPNなどで通信を保護しているつもりでも、DNS queryだけが別経路で外へ出てしまう問題です。アクセス先のドメイン名がISPやネットワーク管理者に見える可能性があります。

DNS Leakとは?

DNS leakとは、Webサイトへ接続する通信はVPN tunnelを通っているのに、ドメイン名をIPアドレスへ変換するDNS queryがVPN外へ送られてしまう状態です。

HTTPSは通信内容を暗号化しますが、DNS queryが漏れると「どのドメインへ接続しようとしたか」は見える場合があります。ページ内容までは分からなくても、閲覧傾向や利用サービスが推測される可能性があります。

DNS Resolutionの仕組み

ブラウザでexample.comを開くと、端末はまずDNS resolverに問い合わせ、対応するIPアドレスを取得します。その後、取得したIPへHTTP/HTTPS接続します。

example.com -> DNS resolver -> 93.184.216.34
browser -> HTTPS connection -> 93.184.216.34

VPNはDNSをどう扱うべきか

適切に設定されたVPNは、通常の通信だけでなくDNS queryもVPN tunnel内へ流します。さらに、tunnel外へ出ようとするDNS trafficをblockし、VPN切断時にはkill switchで通信を止めるのが理想です。

DNS Leakで漏れる情報

情報分かる可能性があること
問い合わせたドメイン名銀行、streaming、医療、SNSなど、開こうとしたWebサイトやサービス
queryの時刻仕事時間、休憩時間、日常の行動パターン
queryの頻度毎日使うサイトと一時的に開いたサイトの違い
実際のIPやISPVPN外へ漏れた場合、実際の回線や地域と結びつく可能性がある
バックグラウンドアプリの接続先update server、API endpoint、アプリが自動的に呼び出すサービス

DNS Leakの原因

原因環境説明
Windows Smart Multi-Homed Name ResolutionWindows複数のnetwork adapterへ同時にDNS queryを送り、VPN外の経路を使うことがある
IPv6 DNS queriesすべてのplatformVPNがIPv4だけをtunnelし、IPv6 queryが外へ出ることがある
VPN設定不備すべてのplatformVPNがDNS serverを上書きしない、またはtunnel外のDNS trafficをblockしない
VPNの一時切断すべてのplatformreconnect中にkill switchがないとISP DNSへ戻ることがある
Split tunnelingすべてのplatform一部trafficをVPN外へ出す設定で、DNS queryも外へ出る場合がある
Browser DoHの個別設定BrowserブラウザがOSやVPNと別のDNS providerを使い、結果が想定とずれることがある

DNS Leakのテスト方法

  1. VPNを切った状態でDNS leak testを実行し、通常のDNS providerを確認する。
  2. VPNへ接続し、同じテストをもう一度実行する。
  3. 表示されるDNS serverがVPN providerや意図したresolverだけか確認する。
  4. ISPや実際の地域に近いresolverが出る場合はDNS leakの可能性がある。

DNS Leakの直し方

  • VPNアプリのDNS leak protectionとkill switchを有効にする。
  • OSのDNS設定をVPN指定のresolverまたは信頼できるresolverに変更する。
  • IPv6をVPNが対応していない場合は無効化するか、IPv6対応VPNを使う。
  • split tunnelingを使う場合、DNS queryの経路を確認する。
  • ブラウザのDoH設定がVPN方針と衝突していないか確認する。

Encrypted DNS: DoH、DoT、DoQ

Encrypted DNSはDNS queryを暗号化し、同じネットワーク上の第三者にquery内容を見られにくくします。ただし、どのresolverを信頼するかという問題は残ります。

ProtocolPort暗号化特徴
Traditional DNS53UDP plain text暗号化なし。network管理者やISPがqueryを見られる
DNS-over-HTTPS (DoH)443HTTPS encryptedDNSをHTTPSで送る。Web trafficに近く、個別にblockしにくい
DNS-over-TLS (DoT)853TLS encryptedDNS専用の暗号化channel。識別しやすくfirewallで制御しやすい
DNS-over-QUIC (DoQ)853QUIC encrypted新しい方式。低latencyが期待されるが対応状況を確認する必要がある

IPv6 LeakとWebRTC Leak

DNS leakと混同されやすいものに、IPv6 leakとWebRTC leakがあります。IPv6 leakはIPv6 trafficがVPN外へ出る問題で、WebRTC leakはブラウザのリアルタイム通信機能がlocal IPやpublic IPを露出する問題です。DNS leak testだけでなく、IPv6/WebRTC leak testもあわせて確認すると安全です。

誰がDNS Queryを見られるのか

相手見える条件メモ
Wi-Fi提供者plain DNSなら見えるカフェ、ホテル、空港、公共ネットワークなど
ISPISP DNSや暗号化されていないport 53なら見える利用履歴のlogや分析につながる可能性がある
DNS resolver常にqueryを処理するGoogle、Cloudflare、Quad9、VPN providerのDNSなど
VPN providerVPNのDNSを使う場合は見えるno-log policyや運用実態を信頼する必要がある
会社や学校のnetwork管理者管理ネットワーク上では見えることがあるsecurity policyやfilteringのためにDNS logを取る場合がある

DNS Privacyを守るベストプラクティス

  • 信頼できるVPNを使い、DNS leak protectionとkill switchを有効にする。
  • VPN接続後にDNS leak test、IPv6 leak test、WebRTC leak testを行う。
  • OS、ブラウザ、VPNのDNS設定が矛盾していないか確認する。
  • 公共Wi-Fiではplain DNSを避け、VPNまたはEncrypted DNSを使う。
  • プライバシー重視のresolverを選び、ログ方針を確認する。

DNS Leakを今すぐ確認

現在の接続で使われているDNS resolverを確認し、VPN外へqueryが漏れていないかチェックできます。

DNS Leak Testを開く