DNSとVPNが担う役割を整理する
DNS(Domain Name System)は、Webサイト名(例:example.com)をIPアドレスに変換する仕組みです。アクセス先の名前を解決する過程で、DNS問い合わせが発生します。この問い合わせの「どこに送られるか」は、結果として第三者が観測できる情報に影響します。
VPN(Virtual Private Network)は、端末からVPNサーバまでの通信に暗号化されたトンネルを作り、経路上の盗聴や改ざんリスクを下げるために使われます。重要なのは、VPNが守るのは主に「トンネルの中に入る通信」であり、DNS問い合わせもその扱いが適切でないと、意図しない経路に流れてしまう可能性がある点です。
つまり「安全性」と「匿名性に近い状態」は、(1) 暗号化による通信保護、(2) DNS問い合わせの経路制御、(3) 端末やアプリ側の振る舞い、の組み合わせで現実的に左右されます。
簡単なモデル:通信の流れで何が見えるか
イメージとして、次の2種類の情報が観測され得ます。
- あなたのアクセス先(名前やIP)
- DNSで「どの名前を解決したか」が見える場合があります。
- HTTP/HTTPS自体は暗号化されていても、接続先の情報やタイミングは状況により推測材料になります。
- あなたの通信経路や中継点
- VPNが効いていれば、少なくとも端末〜VPNまでの経路で盗聴されにくくなります。
- ただしVPN先やアプリが扱う情報がゼロになるわけではありません。
このモデルで鍵になるのが、DNS問い合わせがVPNトンネルを経由しているか、そしてOSやブラウザが別経路でDNSを解決していないかです。ここがうまくいかないと、DNSリークと呼ばれる状態になり、プライバシー上の不利につながり得ます。
DNSリークとは何で、なぜ起きるのか
DNSリークは一般に、VPN使用中にDNS問い合わせが意図した経路(VPN経由など)ではなく、別の経路から外部に送られてしまう状況を指します。原因は環境によって異なりますが、典型的には次のようなパターンが考えられます。
- OS側のDNS設定がVPNと整合していない OSが参照するリゾルバ(DNSサーバ)が、VPN経由にならない設定のままの場合があります。
- アプリが独自にDNS解決を行う ブラウザや各種アプリが独自の方式で名前解決することで、DNS問い合わせの経路が変わることがあります。
- 通信がトンネルに入る/入らないが混在する VPNの対象にならない通信があると、その通信に関連するDNSも別経路に出ることがあります。
このため、VPN=自動的にDNSも安全になる、とは限りません。VPN利用時は「通信だけでなくDNSの経路」もセットで考える必要があります。
