DNS filtering is a security control that blocks, allows, or redirects domain name queries at the resolver based on administrator policy and threat intelligence, stopping connections to prohibited sites before traffic is sent. It operates at the application layer (layer 7) on port 53 and provides centralized policy enforcement across all network devices, including unmanaged and IoT equipment, without requiring security agents on individual endpoints. The approach enables early threat blocking for phishing, malware, and command-and-control domains while presenting operational challenges such as client bypass paths, false positives from stale block lists, and inability to filter direct IP connections.
DNSフィルタリングの仕組み
DNSフィルタリングでは、クライアントがリゾルバーにドメイン名をIPアドレスに変換するよう要求する時点で、ポリシーに基づく判断が行われます。リゾルバーは、応答する前にその名前を自身のルールと照合します。
- クライアントによるクエリの送信:ユーザーがWebページを開いたり、アプリケーションが起動したりした際など、デバイスが設定済みの再帰的リゾルバーに対してドメイン名のアドレスを問い合わせます。
- リゾルバーによるポリシーチェック:フィルタリング機能を備えたリゾルバーは、クエリされたホスト名を、許可リスト、ブロックリスト、カテゴリルール、および脅威インテリジェンスフィードと照合します。ポリシーは、ユーザー、デバイスグループ、またはネットワークセグメントごとに異なる場合があります。
- リゾルバーはアクションを適用します。名前が許可されている場合、リゾルバーは通常通り解決を行います。ブロックされている場合、リゾルバーはNXDOMAINなどのエラー、空の応答、またはブロックページやシンクホールのアドレスを返します。
- クライアントは結果を受け取ります。デバイスは実際の宛先に接続するか、あるいは接続が阻止されます。通常、リゾルバーは確認のためにクエリと実行されたアクションをログに記録します。
フィルタリングの対象となるのは、フィルタリング機能付きリゾルバを使用するトラフィックのみです。IPアドレスに直接接続するクライアントや、暗号化DNSを含め外部のリゾルバにクエリを送信するクライアントは、ネットワークがそれらの経路を制限していない限り、フィルタリングを迂回することができます。また、フィルタリングではページの内容ではなく、名前のみが判定の対象となります。
DNSフィルタリングにおける一般的な問題
ハードコードされたパブリックリゾルバーが設定されているデバイスや、DNS over HTTPS を使用するブラウザは、フィルタリングリゾルバーを完全にバイパスします。その結果、これらのクライアントではブロックされたサイトが通常通り読み込まれ、クエリログにも何も記録されません。
大まかなカテゴリルールや古いブロックリストにより、正当なサイト、コンテンツ配信ドメイン、またはソフトウェア更新用ホストがブロックされてしまうことがあります。ユーザーからは、アプリケーションが動作しない、あるいはページが部分的にしか読み込まれないといった報告が寄せられますが、その原因は、クエリログを検索してブロックされた名前を特定することで初めて判明します。
クエリが中間フォワーダーやNATデバイスを経由する場合、フィルタリングを行うリゾルバーにはそのデバイスのアドレスのみが表示されます。ユーザーやグループごとのポリシーを適用することはできず、ログから発信元のホストを特定することもできません。
クライアントおよび下流のリゾルバーは、レコードの有効期間(TTL)が切れるまで応答を保持します。新たに追加されたブロックは、すでにキャッシュされている名前に対しては適用が遅れることがあり、テスト中は適用に一貫性がないように見える場合があります。
ハードコードされたIPアドレスに接続するマルウェアは、決してルックアップを行わないため、DNSフィルタリングでは検出されません。リゾルバーのみに依存しているチームは、ファイアウォールやその他の制御手段でこのトラフィックをカバーしていない限り、このトラフィックを見逃してしまいます。