DNSSECとDNSフィルタリング
名前解決システムを防御します。
「DNSSECとDNSフィルタリング」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
名前解決システムの防御
通常のDNSには真正性の保証がありません。この問題には、相補的な2つの防御策で対処します。DNSSECは応答が本物で改ざんされていないことを証明し、DNSフィルタリングは既知の悪性ドメインの名前解決をブロックします。両者を組み合わせることで、完全性を保ち、攻撃対象領域を縮小できます。
このレッスンでは、それぞれの仕組みと、多層的なDNSセキュリティ戦略における位置付けを説明します。
DNSSECが提供するもの
DNSSEC(DNS Security Extensions)は、DNSデータに暗号学的署名を追加します。次の事項を保証します。
- 送信元の真正性 — 応答が実際のゾーン所有者から送られたこと。
- データの完全性 — 応答が転送中に変更されていないこと。
重要なのは、DNSSECが機密性を提供しない点です。クエリと応答は引き続き平文のままなので、プライバシー保護にはDoT/DoHが必要です。
レコードへの署名:RRSIG
署名済みゾーンの各レコードセットにはRRSIGレコードが付与されます。これは、そのデータに対するデジタル署名です。対応する公開鍵はDNSKEYレコードとして公開されます。
検証を行うリゾルバーはRRSIGとDNSKEYを取得し、署名を検証します。検証に失敗した場合、応答はbogusとして拒否され、クライアントには提供されません。
dig +dnssec example.com A
# Look for the RRSIG record alongside the A record信頼の連鎖とDSレコード
信頼は階層に沿って下へ伝わります。親ゾーンは、子ゾーンのDNSKEYをハッシュ化したDS(Delegation Signer)レコードを公開します。連鎖は次のようになります。root → TLD → お客様のドメイン。
検証を行うリゾルバーは、あらかじめ組み込まれたroot trust anchorから開始し、DSレコードを下へたどります。どこか1つでもリンクが欠落しているか誤っていると、検証は失敗します。レジストラでDSを公開することで、ドメインのDNSSECが有効になります。
ZSKとKSK
ゾーンでは2つの鍵の役割を使い分けます。
- ZSK(Zone Signing Key) — 実際のレコードに署名し、頻繁にローテーションします。
- KSK(Key Signing Key) — DNSKEYセットに署名し、より長期間使用され、親ゾーンのDSから参照されます。
役割を分けることで、親ゾーンの委任に触れることなくZSKをローテーションでき、鍵管理が簡単になります。
認証付き否定:NSECとNSEC3
DNSSECでは、ある名前が存在しないことも証明する必要があります。NSECレコードは既存の名前の間にある空白に署名しますが、攻撃者がゾーン全体を巡回して列挙できてしまいます。
NSEC3は、平文の名前ではなくハッシュ化した名前に署名することでこの問題を解決し、ゾーンの列挙を困難にします。完全にクロールされたくないゾーンでは、NSEC3(またはNSEC3 opt-out)を優先してください。
DNSSECの限界
適用範囲を現実的に考える必要があります。
- 提供するのは完全性と真正性だけで、機密性はありません。
- 検証は信頼できるリゾルバーで行う必要があります。DoT/DoHがなければ、スタブリゾルバーまでのラストマイルは保護されません。
- 設定ミスや期限切れの署名は障害を引き起こすため、署名の有効性を監視してください。
- オープン再帰を有効なままにすると、応答が大きくなり、増幅攻撃に悪用される可能性が高まります。
DNSフィルタリングの基本
DNSフィルタリングは、リゾルバーをポリシー適用ポイントとして使用します。クライアントが悪意のあるドメインや望ましくないドメインを検索すると、リゾルバーは応答を拒否するか書き換えます(多くの場合、シンクホールまたはブロックページに誘導します)。
安価で高速、かつプロトコルに依存しません。接続が試行される前に名前解決をブロックできるため、マルウェアのC2、フィッシング、望ましくないカテゴリへのアクセスを阻止できます。
Response Policy Zones(RPZ)
RPZは、DNSファイアウォールのポリシーを適用する標準的な方法です。リゾルバーはポリシーゾーン(ローカルのもの、または脅威インテリジェンスフィードから取得したもの)を読み込み、次の処理を行えます。
NXDOMAIN(名前が存在しない)を返します。NODATAを返します。- シンクホールまたは隔離用のウォールドガーデンIPアドレスにリダイレクトします。
- ログを記録して通過させます。
シンクホールはインシデント対応に有効です。既知のC2ドメインをリダイレクトし、どのホストがそこへ接続しようとするかを監視できます。
; Example RPZ entry redirecting a malicious domain to a sinkhole
malware-c2.example. CNAME sinkhole.security.local.脅威インテリジェンスとカテゴリ
フィルタリングの価値はデータの品質に左右されます。リゾルバーには次の情報を提供します。
- 精選されたマルウェア、フィッシング、C2の指標リスト。
- 新規登録されたばかりのドメインや評価の低いドメインのフィード(悪意のあることが多い)。
- カテゴリポリシー(たとえば、企業デバイスで既知の匿名化サービスをブロックする)。
フィルタリングをログ記録と組み合わせ、ブロックした名前解決を単なる無言の拒否ではなく検知シグナルとして利用してください。
DNSSECとフィルタリングの組み合わせ
この2つの防御策は競合するものではなく、相補的なものです。
- DNSSECは、取得した応答が本物で改ざんされていないことを保証します。
- フィルタリング/RPZは、既知の悪性ドメインを最初から名前解決しないようにします。
検証を行う内部リゾルバーに両方を導入し、ラストマイルのプライバシー保護にDoT/DoHを追加し、送信元の制御を適用すれば、強固で多層的なDNSセキュリティ体制を構築できます。
理解度チェック
DNSSECが実際に保証する内容を確認します。
まとめ
DNSSECは、RRSIG署名、root trust anchorからのDNSKEY/DS信頼の連鎖、認証付き否定のためのNSEC/NSEC3を使用してDNS応答を認証しますが、機密性は提供しません。DNSフィルタリング(RPZ、シンクホール、脅威インテリジェンスフィード)は、既知の悪性ドメインの名前解決を防ぎ、ブロックを検知につなげます。
検証を行う内部リゾルバーで両者を併用し、DoT/DoHと送信元の制御を組み合わせることで、このコースで扱ったDNS攻撃に対する多層防御を構築できます。
AI チューターと学ぶ Cyber Security Academy — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 76
- レッスン
- 303
よくある質問
「DNSSECとDNSフィルタリング」レッスンは無料ですか?
はい。「DNSSECとDNSフィルタリング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「DNSSECとDNSフィルタリング」で何を学びますか?
名前解決システムを防御します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「DNSSECとDNSフィルタリング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- DNSの仕組みとリスク
- DNSスプーフィングとキャッシュポイズニング
- DNSトンネリングと情報窃取
- DNSSECとDNSフィルタリング