1. DNS データとして受入れるための検査
キャッシュサーバは問い合わせに対する返事として受信した DNS 返答レコードについて 受入れ検査をしなければなりません。
- 間違ったデータを送ってくるサーバがあります。
- 間違った設定により間違ったデータを送るサーバがあります。
- 悪意のあるデータを送るサーバもあります。
- 毒盛されたキャッシュ兼用サーバかもしれません。
- 毒盛を狙って偽データを送る攻撃者もいます。
1.1. 確認すべき項目
- 送った問合せに対応する返事であるか。
- 送信 IP アドレス、受信 IP アドレス、 送信 port、受信 port、 transaction ID、 DNS 問合せ (名前、タイプ)
- 受入れてよい情報か
- 問い合わせた内容と無関係のデータは廃棄しなければなりません。 返答の各セクション毎に検査内容を決めるべきという主張もあります。 in bailiwick 検査はすべてのセクションに実施すべきでしょう。
2. 委譲(delegation)
委譲の形式検査
2.1. glueかどうか
管理範囲外の名前に対する付加 A レコードはglue ではありません。
Aレコードがキャッシュされている場合にはglueはキャッシュしないという実装もあってよい。
- Aレコードと区別されたにしても、glue としてキャッシュされてしまったら、毒になるかもしれない。 BINDでは実装依存らしい。
3. 委譲でない場合
4. DNS サーバ側の動作
4.1. glue を返事するための条件
glueはglueとして使う場合にかぎり返答に含めるという提案もある。
- Aレコードの問い合わせの返答には使わない。
BINDでどういう実装がされているかはしらない。