DNS セキュリティとフィルタリングの活用

この記事は約 5 分で読めます

DNS (Domain Name System) はインターネットの根幹を支える仕組みであり、 ドメイン名を IP アドレスに変換する「インターネットの電話帳」として 機能しています。しかし、DNS は 1983 年の設計当初からセキュリティが 十分に考慮されておらず、攻撃者にとって格好の標的となっています。 Akamai の 2023 年レポートによると、マルウェアの通信の約 90% 以上が DNS を経由しており、DNS セキュリティの重要性は年々高まっています。 本記事では、DNS に対する主要な脅威と、安全な DNS サービスの 選び方、フィルタリング機能の活用法を解説します。

DNS の仕組みと脆弱性

ブラウザに URL を入力すると、まず DNS リゾルバに問い合わせが行われ、 ドメイン名に対応する IP アドレスが返されます。この名前解決のプロセスは 通常、暗号化されていない平文の UDP 通信 (ポート 53) で行われるため、 通信経路上の第三者に傍受・改ざんされるリスクがあります。 1 回の Web ページ表示で発生する DNS クエリは平均 20〜30 件に及び、 それぞれが平文で送信されている点は見落とされがちです。

ISP (インターネットサービスプロバイダ) が提供するデフォルトの DNS は、 ユーザーのアクセス先をすべて把握できる立場にあります。 プライバシーの観点からも、DNS の通信内容を保護することは重要です。 注意すべき点として、HTTPS で暗号化されたサイトにアクセスしていても、 DNS クエリ自体が平文であれば「どのサイトにアクセスしたか」は 第三者に筒抜けになります。

DNS ハイジャック

DNS ハイジャックは、DNS の応答を改ざんして、ユーザーを偽のサイトに 誘導する攻撃です。攻撃者がルーターの DNS 設定を書き換えたり、 マルウェアでローカルの DNS 設定を変更したりすることで実行されます。 ユーザーは正規の URL を入力しているにもかかわらず、 フィッシングサイトに誘導され、パスワードやクレジットカード情報を 窃取される危険があります。家庭用ルーターの管理画面パスワードが 初期設定のままになっているケースは多く、これが DNS ハイジャックの 主要な侵入経路の一つです。ルーターの管理パスワードは パスつく.com で生成した強力なものに変更しておきましょう。

DNS スプーフィング - キャッシュポイズニング

DNS キャッシュポイズニングは、DNS リゾルバのキャッシュに 偽の DNS レコードを注入する攻撃です。リゾルバが偽のレコードを キャッシュすると、そのリゾルバを利用するすべてのユーザーが 偽のサイトに誘導されます。2008 年に発見された Kaminsky 攻撃は、 DNS のトランザクション ID がわずか 16 ビット (65,536 通り) しかない 設計上の弱点を突いたもので、この脆弱性の深刻さを世界に知らしめました。 現在でもソースポートランダム化などの緩和策が施されていますが、 根本的な解決には DNSSEC の導入が必要です。

DNS キャッシュポイズニングの技術的背景を深く理解するには、DNS プロトコルとキャッシュポイズニング対策の技術書 (Amazon)が参考になります。

安全な DNS サービスの選び方

暗号化 DNS プロトコルへの対応

DNS 通信を保護するために、DNS over HTTPS (DoH) や DNS over TLS (DoT) に対応した DNS サービスを選択してください。 DoH は DNS クエリを HTTPS (ポート 443) で暗号化し、通常の Web トラフィックと 区別がつかないため、傍受や検閲が困難になります。 DoT は専用ポート (853) を使用して DNS 通信を TLS で暗号化します。 どちらを選ぶかは環境次第ですが、企業ネットワークでは DoT が 管理しやすく、個人利用では DoH がファイアウォールに ブロックされにくいという特徴があります。

DNSSEC の検証

DNSSEC (DNS Security Extensions) は、DNS 応答にデジタル署名を 付与することで、応答の改ざんを検出する仕組みです。 DNSSEC の検証に対応した DNS リゾルバを使用することで、 DNS スプーフィングのリスクを大幅に低減できます。 Cloudflare (1.1.1.1) や Google Public DNS (8.8.8.8) は DNSSEC の検証に対応しています。ただし、DNSSEC は DNS 応答の 真正性を保証するものであり、通信の暗号化は行いません。 プライバシー保護には DoH や DoT との併用が必要です。 APNIC の調査 (2024 年) によると、DNSSEC の検証率は 全世界で約 30% にとどまっており、普及はまだ途上です。

プライバシーポリシーの確認

DNS サービスを選ぶ際は、クエリログの保存期間と利用目的を 確認してください。Cloudflare は DNS クエリログを 24 時間で 削除し、広告目的での利用を行わないことを明言しています。 一方、一部の無料 DNS サービスはクエリデータを広告や マーケティングに利用している場合があります。 よくある誤解として「無料 DNS は遅い」と思われがちですが、 Cloudflare の 1.1.1.1 は DNSPerf の計測で平均応答時間 約 11ms と、多くの ISP 提供 DNS より高速です。

DNS フィルタリングの活用

マルウェアサイトのブロック

DNS フィルタリングは、既知のマルウェア配布サイトやフィッシングサイトの ドメインを DNS レベルでブロックする技術です。ブラウザがこれらの ドメインにアクセスしようとすると、DNS リゾルバがブロックページの IP アドレスを返すか、名前解決を拒否します。 Cloudflare の 1.1.1.2 (マルウェアブロック) や 1.1.1.3 (マルウェア + アダルトコンテンツブロック) は、 追加のソフトウェアなしで DNS フィルタリングを利用できます。 Cloudflare の公表データでは、1.1.1.2 は 1 日あたり 数十億件の悪意あるドメインへのリクエストをブロックしています。

家庭内ネットワークでの活用

ルーターの DNS 設定をフィルタリング対応の DNS サービスに 変更することで、家庭内のすべてのデバイスに一括で フィルタリングを適用できます。子どもが利用するデバイスの 安全性を高めるうえで、DNS フィルタリングは手軽で効果的な手段です。 個々のデバイスにセキュリティソフトをインストールする必要がなく、 IoT デバイスを含むすべての通信を保護できます。 注意点として、DNS フィルタリングはドメイン単位のブロックであるため、 正規ドメイン上にホストされた悪意あるコンテンツ (例: 正規の クラウドストレージに置かれたマルウェア) は検出できません。 ブラウザのセキュリティ機能やエンドポイント保護との併用を推奨します。

DNS セキュリティとパスワード保護の関係

DNS ハイジャックやスプーフィングの最終的な目的は、多くの場合、 ユーザーの認証情報を窃取することです。偽のログインページに 誘導されたユーザーがパスワードを入力すると、その情報は 攻撃者の手に渡ります。Anti-Phishing Working Group (APWG) の 2023 年レポートによると、フィッシング攻撃の約 36% が 金融機関を標的としており、DNS を悪用した誘導が主要な手口です。

この脅威に対する多層防御として、以下の対策を組み合わせてください。 まず、安全な DNS サービスを利用して偽サイトへの誘導を防ぎます。 次に、パスつく.com でサービスごとに固有のパスワードを生成し、 万が一 1 つのパスワードが漏洩しても被害が他のサービスに 波及しないようにします。さらに、重要なアカウントには 二段階認証を設定し、パスワードだけでは突破できない 追加の防御層を設けます。

多層防御の設計と実践手法については、多層防御とフィッシング対策の実践書 (Amazon)も参考になります。

DNS セキュリティは、パスワード保護やフィッシング対策と並ぶ インターネット安全利用の基盤です。まずはルーターやデバイスの DNS 設定を確認し、暗号化 DNS とフィルタリングに対応した サービスへの切り替えを検討してください。そのうえで、 パスつく.com で各サービスのパスワードを強化すれば、 DNS 攻撃とパスワード攻撃の両方に対する堅牢な防御体制を 構築できます。