An authoritative DNS server holds the original resource records for DNS zones and provides definitive answers to queries, serving as the source of truth for an organization's published names without relying on cached data. These servers are critical infrastructure that must maintain high availability and consistency across redundant instances deployed on separate networks, as their unavailability or data corruption directly prevents name resolution for all users regardless of backend service health. Operators must implement robust practices including zone synchronization, access controls, DNSSEC signing, and distributed hosting to ensure security, prevent data inconsistencies, and mitigate denial-of-service attacks that could disrupt service for entire zones.
権威DNSサーバーの仕組み
権威サーバーは、サービスを提供するように設定されているゾーンに対するクエリに応答します。通常、クライアントに代わってDNS階層を辿る再帰的リゾルバーによってアクセスされます。
- クエリの受信:再帰的リゾルバーは、ホスト名やレコードタイプなどの名前に関するクエリを、そのゾーンのNSレコードに記載されているサーバーに送信します。
- ゾーンの一致確認:サーバーは、クエリされた名前が自身が管理するゾーン内に含まれるかどうかを確認します。含まれていない場合、権威ある応答は返されません。
- レコードの検索:サーバーは、そのゾーンデータ内から一致するリソースレコードを検索します。このデータは、ゾーンファイル、データベース、またはプライマリサーバーから受信したコピーから取得されます。
- 応答を返す:サーバーはレコードを返信し、DNSヘッダーに権威ある応答フラグを設定します。名前が存在しない場合は、権威ある否定応答を返します。名前が委任された子ゾーンに属している場合は、そのゾーンのネームサーバーへのリファラルを返します。
ゾーンは通常、冗長性を確保するために複数の権威サーバーによって提供されます。従来のモデルでは、1台のプライマリサーバーがマスターコピーを保持し、セカンダリサーバーはDNS規格に記述されているように、ゾーン転送を通じて更新情報を受け取ります。レコードの有効期間(TTL)は、リゾルバーに対して回答をキャッシュできる期間を示します。
権威DNSサーバーに関する一般的な問題
親ゾーンのNSレコードに、実際にはそのゾーンを処理していない、または権威ある応答を返さないネームサーバーが記載されている場合があります。リゾルバーは、そのサーバーからタイムアウトやSERVFAIL応答を受け取ると、他のサーバーへの再試行を行うため、遅延が生じ、断続的な障害を引き起こす可能性があります。
セカンダリサーバーは、ゾーン転送が失敗した場合や、編集後にSOAシリアル番号がインクリメントされなかった場合に、古いデータを提供します。ユーザーは、リゾルバーがたまたまどのネームサーバーにクエリを送信するかによって、異なる回答を受け取ることになります。
クライアントからの再帰クエリにも応答する権威サーバーは、リフレクション攻撃や増幅攻撃に悪用される可能性があります。運用担当者は通常、権威サーバーと再帰サーバーの役割を分離するか、権威サーバー側で再帰機能を無効にします。
ゾーンのすべてのネームサーバーは、1つのサブネット、サイト、またはプロバイダー内に配置されています。そこで障害やルーティングの問題が発生すると、キャッシュされたレコードの有効期限が切れた時点で、ゾーン全体にアクセスできなくなります。
UDPポート53のみを許可するファイアウォールは、ゾーン転送や、UDPで処理できないほど大きな応答を妨げます。症状としては、転送の失敗や、DNSSECで署名された大きな応答を取得できないリゾルバーなどが挙げられます。