本稿ではIPA試験で必要とされる知識をまとめます。
目次
DNSサーバと問い合わせの用語整理
DNSサーバと問い合わせの名称には下記のような用語があります。
- 再帰問い合わせ:名前解決の最終的な結果を得るための問い合わせ
- 反復問い合わせ:階層的なDNSサーバ群から名前解決を行うための問い合わせ
- リゾルバ:名前解決のためDNSサーバに問い合わせるソフトウェア
- フルリゾルバ:反復問い合わせを行うリゾルバ
- キャッシュDNSサーバ:問い合わせを代理で行い結果をキャッシュするDNSサーバ
- コンテンツDNSサーバ(権威DNSサーバ):ドメインの情報を保持するDNSサーバ
- 内部DNSサーバ:内部ネットワークに属するDNSサーバ
- 外部DNSサーバ:DMZに属するDNSサーバ
- フォワード:自身は名前解決を行わずに問い合わせを転送すること
これらを図示すると以下のようになります。
再帰問合せと反復問合せを逆にして覚えてしまうことが多いため注意しましょう。矢印で書くと反復問合せが再帰っぽく見えてしまいますが,再帰は「結果が返ってくる」ことを指しています。DNSの名前解決は問合せの反復動作であったことを踏まえると,両者が上図のように位置付けられることも理解できます。
外部の悪質な攻撃者によってキャッシュの内容を改ざんされてしまうDNSキャッシュポイズニング攻撃を避けるため,DMZに位置する外部DNSサーバでは外部からの再帰問い合わせを拒否し,外部からの反復問い合わせと内部からの再帰問い合わせを許可します。DMZの外部DNSサーバは自身のゾーンに対するDNSレコードを外部からの反復問い合わせに対して応答できていればよいため,外部からの再帰問い合わせを受け付けるはないからです。ただし,内部からの再起問い合わせも拒否してしまうと内部ネットワークで名前解決が行えなくなってしまうため,内部からの再起問い合わせは許可します。
補足
上の図では内部DNSサーバと外部DNSサーバを分けていますが,最小構成ではDMZにDNSサーバを配置します。ただし,この最小構成ではDMZに配置されたDNSサーバが内部からの再帰問い合わせを受け付ける必要がありますが,キャッシュ機能を有効にするとDNSキャッシュポイズニング攻撃のリスクが高まり,キャッシュ機能を無効にすると内部からの問い合わせに対するスループットが落ちてしまいます。
コメント