リゾルバー(キャッシュサーバー)の動作は実装による。-- ToshinoriMaeno 2019-05-14 08:14:19
1. リゾルバー/実装
DNS/返答: DNS/1 を理解していることは前提にする。
https://github.com/semihalev/sdns /sdns
Lightweight, fast recursive dns server with dnssec support https://semihalev.github.io/sdns/
2. 問合せの送り先
qname-minimisation の有無
3. 返答の扱い
- 委任・委譲返答を信用するか。(毒盛対策は棚上げしたとしても)
- harden-referral-path のような動作をどう考えるか。
4. キャッシュ
キャッシュの実装も異なる。
- djbdnsやBINDのようにすべてをまとめたキャッシュだけでなく、 kresdのように目的、ゾーン別のキャッシュなどもある。
キャッシュの実装が振る舞いに影響するのは言うまでもない。
5. 振る舞いの違い
fingerprintとして利用できそう。-- ToshinoriMaeno 2019-05-14 09:16:24
root hints (priming)
harden-referral-path (harden-glue は当然として)
/qname-minimisation DNS/qname-minimisation DNS/リゾルバー/zone cut検出 (privacy)
port randomization
TTLの扱い(min, max) cache-ttl-max, min などがあるか。
/返答パケットの毒味 DNS/毒盛/AncillaryDataAttacks Auth/Add section RRsの扱い DNS/RFC/2181
脆弱性(各種) DNS/リゾルバー/脆弱性 DNS/毒盛
6. 毒盛対策
ゾーンサーバからは常にまっとうな返答だけが返ってくると期待してはいけない。
- おかしな返事をするサーバーもあれば、毒盛攻撃もある。
毒入りの返答は偽返答としてもやってくる。
NS, CNAME typeには十分注意する必要がある。(現状のリゾルバーはどれも不十分)
-- ToshinoriMaeno 2016-07-28 05:15:01