DNSフィルタリングとは何か
DNSフィルタリングは、端末やネットワークがドメイン名をIPアドレスに変換する「DNSの名前解決」の流れに対して、ポリシーに基づく判定や制御を行う考え方です。目的は大きく分けて、(1) 危険とみなされるドメインへのアクセスを抑える保護、(2) 不適切とされるコンテンツへの到達を減らすコンテンツフィルタリング、の2つです。
仕組みとしては、DNS問い合わせ(例:example.com を IP にする要求)を受けた時点で「許可するか/拒否するか/別の応答を返すか」を決める設計が一般的です。ここで重要なのは、DNSフィルタリングが主に制御するのが“通信そのもの”ではなく“名前解決の結果に至る判断”である点です。暗号化された通信(たとえばHTTPS)を使っていても、名前解決の段階で介入できれば効果が出る場合がありますが、逆に名前解決の経路が変わると効きにくくなります。
簡単な動作モデル
最小構成で捉えると、次の流れになります。
- 端末が、アクセスしたいドメイン名をDNSに問い合わせます。
- DNSフィルタリング側(またはその機能を持つDNSサーバ/中継)が、問い合わせ内容を確認します。
- ルールに従って、許可・ブロック・置換(別の応答)などの処理を行います。
- 端末は、DNSの応答に基づいてIPアドレスへ通信します。
「どこで判定するか」は実装により異なります。家庭や小規模組織では指定したDNSサーバに問い合わせを集約させる形がよく見られますし、組織ネットワークではネットワーク機器が問い合わせを誘導する設計もあります。いずれにせよ、利用者の端末が“そのDNSフィルタリングの見える場所”で問い合わせを行っているかが、効果を左右する核心になります。
また、DNS応答の扱いには複数のやり方があります。例えば、特定ドメインへの応答を返さない、アクセス不能に見える応答にする、あるいは別の宛先情報を返すなどです。ただし、どの方法が採られているかで、ユーザー体験(画面上のエラーの出方、再試行挙動など)も変わります。
機能の中心と限界(何ができて、何ができないか)
DNSフィルタリングの到達範囲は、設計と前提条件に強く依存します。代表的な限界として、次の点が挙げられます。
1) 名前解決経路が変わると効果が落ちる
端末がDNS問い合わせを、フィルタリングが監視している経路ではなく別の経路で解決してしまうと、フィルタリングが判定できません。環境によっては、端末側の設定やアプリの挙動、あるいは利用形態(外出先のネットワークなど)で経路が変わります。その結果、同じドメインでも場所や端末条件によって挙動が変わることがあります。
2) すべてを“止める”わけではない
DNSフィルタリングは、主に「ドメイン名に紐づく名前解決」を対象にします。
