再帰的DNSサーバーは、DNS階層にクエリを送信し、結果をキャッシュし、スタブリゾルバーに回答を返すことで、クライアントデバイスに代わってドメイン名をIPアドレスに解決します。 ほぼすべてのネットワーク接続は再帰型サーバーに依存しているため、これらは重要なインフラストラクチャであり、オープンリゾルバー攻撃、キャッシュポイズニング、およびネットワーク接続が正常な場合でもアプリケーションの障害を引き起こす可能性のある設定上の問題から保護する必要があります。 キャッシュは応答時間を短縮し、権威サーバーへの負荷を軽減しますが、キャッシュされたデータは有効期限(TTL)が切れるまで保持されるため、レコードの変更がユーザーに反映される速度に影響を与えます。 セキュリティリスクを低減し、一貫したDNS解決を確保するためには、許可されたクライアントへの再帰クエリの制限、冗長サーバーの運用、DNSSEC検証の有効化、クエリログの維持管理など、適切な管理手法が不可欠です。
再帰的DNSサーバーの仕組み
- Lorem Ipsum(任意)
- Lorem Ipsum(任意)
- Lorem Ipsum(任意)
- Lorem Ipsum(任意)
- Lorem Ipsum(任意)
- Lorem Ipsum(任意)
実際のサーバーでは、キャッシュされたリファラルも再利用されるため、ルートサーバーやトップレベルドメインサーバーはしばしばスキップされます。多くの導入環境では、サーバー自身が反復的に解決を行う代わりに、クエリをアップストリームの再帰サーバーに転送することができます。
再帰型DNSサーバーの一般的な問題
あらゆる送信元アドレスからのクエリに応答する再帰型サーバーは、第三者に対するリフレクション攻撃や増幅攻撃に悪用される可能性があります。アクセス制御リスト(ACL)を使用して再帰処理を内部クライアントの範囲に制限し、インターネットからサーバーにアクセスできないことを確認してください。
キャッシュされたレコードはTTLが切れるまで残ります。そのため、一部のユーザーにとっては、変更されたレコードが古いアドレスに解決され続ける可能性があります。キャッシュをフラッシュすることでこの現象は解消され、DNSSEC検証を有効にすることで、偽造された応答を受け入れるリスクを低減できます。
サーバーが、処理が遅い、フィルタリングされている、またはダウンしているアップストリームリゾルバーに転送を行うと、クライアントは断続的なタイムアウトやSERVFAIL応答を受け取ることになります。フォワーダーを直接テストし、サーバーが完全な再帰処理またはセカンダリフォワーダーにフォールバックできることを確認してください。
再帰サーバーがプライベートネームスペース用の転送ゾーンやスタブゾーンを持たず、代わりにパブリックインターネットにクエリを送信した場合、内部名の解決に失敗します。その結果、ネットワーク内にのみ存在する名前に対して、クライアントはNXDOMAIN を返されます。