DNSのしくみ
DNSはDQFNをキーに対応するIPアドレスなどの情報を取得する
名前解決(Name Resolution):DNSから情報取得すること
zone 各ネームサーバーが管理する名前空間
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
どこにでも攻撃できる
https://jprs.jp/glossary/index.php?ID=0158
https://gyazo.com/23862163fa2882286242f7800081661c
Name Serverから情報を取り出し、クライアントに応答として返すもの を「resolver」と呼びます。
リゾルバーのうち、「リカーシブモード」と呼ばれる動作を行い、内部にキャッシュを持っているものを「Full Service Resolver」と呼びます。
リカーシブモードとは、DNSクエリを受信した際に、キャッシュの内容から答えるか、他の権威サーバー群に問い合わせを行うモードです。
フルサービスリゾルバーは、名前解決をする際、同じ問い合わせを何度も繰り返すという非効率を避けるために、名前解決の際に得られた情報を内部にキャッシュして再利用します。
「キャッシュDNSサーバー」がフルサービスリゾルバーを示す用語として使われる場合がありますが、厳密にフルサービスリゾルバーのみを示す用語とはならないことに注意が必要です。
理由は、性能向上を図るために、権威サーバーにおいても自身のキャッシュを使用するソフトウェアが存在することによります。
https://youtu.be/bax2ZksBzck?t=760
Full Service Resolverが反復問い合わせを受け取った場合、保有している情報を返す
NameServerへの反復問い合わせは行わない
Name serverが再帰的問い合わせを受け取った場合、保有している情報を返す
DNSサーバーは4つの異なる機能を持つ
Name Server
Full Service Resolver
Stub Resolver
OSに組み込まれたDNSクライアント実装
再帰的問い合わせしかできない
キャッシュの保持は実装依存
制約
複数のDNSサーバーに対してドメインごとに振り分けはできない
例:インターネットのFQNDと社内のFQDNで問合せ先を変えたい
複数DNSサーバーを同時利用できない
こう言うことがやりたければForwarderを使う
名前解決に失敗した場合にfallbackすることはできる
Forwarder
受け取った問合せをルールに基づいて中継する
再帰的問い合わせしかできない
制約
インターネット向けと内部ネットワークで同じドメイン名を利用していると両方が三法できない
対策
ドメイン名を分ける
ホスト名を分ける
ネームサーバ間で必要なレコードを同期する
著名な実装はこれらが混じっている
https://gyazo.com/3763280ce9bbbb9d63ba78dcad9feee2