DNS/qname-minimisation/検索例/unboundについて、ここに記述してください。
../kresd でのlogもある。
一段ずつ追いかけている。/2
これはDoSの道具に使える。:-) -- ToshinoriMaeno 2019-01-05 01:30:29
$ dig -t txt u.v.w.x.y.z.s1.brau.jp @127.0.0.3 ; <<>> DiG 9.12.3 <<>> -t txt u.v.w.x.y.z.s1.brau.jp @127.0.0.3 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54544 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1220 ;; QUESTION SECTION: ;u.v.w.x.y.z.s1.brau.jp. IN TXT ;; AUTHORITY SECTION: s1.brau.jp. 2560 IN SOA a.ns.brau.jp. hostmaster.s1.brau.jp. 1546586853 16384 2048 1048576 2560 s1.brau.jp. 600 IN NS a.ns.brau.jp. ;; ADDITIONAL SECTION: a.ns.brau.jp. 3600 IN A 14.192.44.29 ;; Query time: 99 msec ;; SERVER: 127.0.0.3#53(127.0.0.3) ;; WHEN: 金 1月 04 16:32:29 JST 2019 ;; MSG SIZE rcvd: 133
@400000005c2f0c172874124c 276e870c:605d:5a7a + S0001 s1.brau.jp @400000005c2f0c1728ccf434 276e870c:d67b:a62f + S0002 brau.jp @400000005c2f0c1728d41084 276e870c:63be:adb0 + S0001 ns.brau.jp @400000005c2f0c1729159dc4 276e870c:b256:df94 + S0001 z.s1.brau.jp @400000005c2f0c1729cd8f9c 276e870c:cf32:7645 + S0001 a.ns.brau.jp @400000005c2f0c1729d7633c 276e870c:9e1f:f143 + S0001 y.z.s1.brau.jp @400000005c2f0c172a799e7c 276e870c:6eda:691a + S0001 x.y.z.s1.brau.jp @400000005c2f0c172b1bed44 276e870c:8cbd:3ff5 + S0001 w.x.y.z.s1.brau.jp @400000005c2f0c172bb9e2c4 276e870c:833d:3f54 + S0001 v.w.x.y.z.s1.brau.jp @400000005c2f0c172c560b54 276e870c:8377:058e + S0001 u.v.w.x.y.z.s1.brau.jp @400000005c2f0c172cf646dc 276e870c:7aad:1a79 + S0010 u.v.w.x.y.z.s1.brau.jp
1. Unbound / iterator.c
if(iq->minimisation_state != DONOT_MINIMISE_STATE && !(iq->chase_flags & BIT_RD)) { if(FLAGS_GET_RCODE(iq->response->rep->flags) != LDNS_RCODE_NOERROR) { if(qstate->env->cfg->qname_minimisation_strict) return final_state(iq); /* Best effort qname-minimisation. * Stop minimising and send full query when * RCODE is not NOERROR. */ iq->minimisation_state = DONOT_MINIMISE_STATE; } if(FLAGS_GET_RCODE(iq->response->rep->flags) == LDNS_RCODE_NXDOMAIN) { /* Stop resolving when NXDOMAIN is DNSSEC * signed. Based on assumption that nameservers * serving signed zones do not return NXDOMAIN * for empty-non-terminals. */ if(iq->dnssec_expected) return final_state(iq); /* Make subrequest to validate intermediate * NXDOMAIN if harden-below-nxdomain is * enabled. */ if(qstate->env->cfg->harden_below_nxdomain) {
2. minimisation 時
LDNS_RR_TYPE_A でqueryを送っている。
- delegation返答か、そうでないかの区別(NXDOMAIN返答を含む)だけならいいが、 Aがあって、かつ子(孫)の同居のときはどうするのだろう。
-- ToshinoriMaeno 2019-01-04 15:09:37
ここは素直にSOAを問い合わせるのがいいのではないか。
- delegation返答を得る害にはならないだろう。(手元のUnboundで試行中)