.moe は NSEC3 じゃなくて NSEC じゃないか! ってことで、気まぐれに DNSSEC walk してみました。ところが、順番に NSEC レコードを問い合わせて辿っていく方法では、NIC.moe までしか辿れませんでした。
% dnsqr ns moe 2 moe: 137 bytes, 1+6+0+0 records, response, noerror query: 2 moe answer: moe 475175 NS ns1.dns.nic.moe answer: moe 475175 NS ns3.dns.nic.moe answer: moe 475175 NS ns4.dns.nic.moe answer: moe 475175 NS ns5.dns.nic.moe answer: moe 475175 NS ns6.dns.nic.moe answer: moe 475175 NS ns2.dns.nic.moe % drill -D nsec nian.moe. @ns1.dns.nic.moe ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 64789 ;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 0 ;; QUESTION SECTION: ;; nian.moe. IN NSEC ;; ANSWER SECTION: nian.moe. 86400 IN NSEC nibryofudd.moe. A MX TXT SRV RRSIG NSEC nian.moe. 86400 IN RRSIG NSEC 8 2 86400 20141010071219 20140910061448 54550 moe. aCaOcsB73oy9/dzyryg0G4ruK0M4OC9+f8RLbU7qpiT3Mq0IrSoCovWe6m9E4Er36VHixiyzQ6FMVBVEkYib8O7o81p4XVHaztn4IEahbBX/Vs4fng4BWqspcuIkfQDxYFI+hb/UpK1hC+1d6bnSe3TJ8G1e70T5qjS+nJ+u58s= % drill -D nsec nibryofudd.moe @ns1.dns.nic.moe ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 42429 ;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 0 ;; QUESTION SECTION: ;; nibryofudd.moe. IN NSEC ;; ANSWER SECTION: nibryofudd.moe. 86400 IN NSEC NIC.moe. A MX TXT SRV RRSIG NSEC nibryofudd.moe. 86400 IN RRSIG NSEC 8 2 86400 20141010065032 20140910061451 54550 moe. sBdlKZHmYvaEBG49Ao/BkxAp3oHEfi5PI2s8afYV6sxG85dC7F7vFacY52Rzh8TqISow45lqFsYSnTOlbO/lZgxudFwgmWX2fSiaRmS0Fdr/SyiRBMyeObTqFigTSQ5XniKNEn3cPoJooIuKvBwp2j5daIB33LauPddDQWn/5Hg= % drill -D nsec nic.moe. @ns1.dns.nic.moe ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 4706 ;; flags: qr aa rd ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;; nic.moe. IN NSEC ;; ANSWER SECTION: ;; AUTHORITY SECTION: nic.moe. 600 IN SOA ns1.dns.nic.moe. hostmaster.neustar.biz. 1367329498 10800 3600 604800 900
nibryofudd.moe のあと、nic.moe で NSEC が途絶えているように見えますが、、、
試しに次のように、NIC1.moe という NIC.moe のあとにくる不存在な名前を引いてみると、、、
% drill -D nsec nic1.moe. @ns1.dns.nic.moe ;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 22541 ;; flags: qr aa rd ; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 0 ;; QUESTION SECTION: ;; nic1.moe. IN NSEC ;; ANSWER SECTION: ;; AUTHORITY SECTION: moe. 7200 IN SOA ns1.dns.nic.moe. hostmaster.neustar.biz. 8757 900 900 604800 86400 NIC.moe. 86400 IN NSEC NICE.moe. NS RRSIG NSEC moe. 86400 IN NSEC 0.moe. NS SOA RRSIG NSEC DNSKEY moe. 7200 IN RRSIG SOA 8 1 7200 20141024005337 20140923235337 54550 moe. n2Z3CfOwRTYi6JhWRmur4qsdZqgPll4WhfT1wE3u0vCEnclsU9syJCwdONHMNfwO3mkXZ7k/njndZnMQFJjN2VGYTjfJfNHDsg+HSha7Ey083BZruL3TVmkWI/OsViWvIF3ZC82IaTwZtdDFX/G2bWM7p/sAO17/gb/7KHrksxw= moe. 86400 IN RRSIG NSEC 8 1 86400 20141010051335 20140910044304 54550 moe. PY2JzVpBTem3c7XVoeduWAMj7UBBzUEKQx0y6zsdFW6Ho2JMiWdSWK35zPIldGeoNMq58nGKR8XszXykGFJHT6vMv9UDooAXVnJEgFYP2PSDt3wykNYSiwIiVz2qUDNa/QqCItBHwCSQTldxlaDf08eCXSGEJnXSm6G8hwuTghs= NIC.moe. 86400 IN RRSIG NSEC 8 2 86400 20141005060430 20140905051422 54550 moe. cKO78mmn7xndekS+/u6bC8Q478uNl2kGgIH6oCvzZpt5E8rlHh417RWXzXWXIOgm2N5cVSx+/CeFbNXtGXjrYwXO5/W5dO/V19/LNvITr5oS9Fv/96bN/mxqAATPBZKrbyzn8oXX07Kkc0qnKgnaNiey+CRR6bN8m2q+/jMhHlY=
上記のように、moe ゾーンは "NIC.moe 86400 IN NSEC NICE.moe. NS RRSIG NSEC" というレコードを持ってることがわかります。普通の不存在証明のアルゴリズムではこれで用が足りるはずなので大きな問題にはなっていないのでしょうけれど、直接 NIC.moe の NSEC を引いて否定応答が返るのはなぜなのでしょう。
それは、moe の権威サーバにおいて、moe ゾーンと NIC.moe ゾーンが親子同居なために、moe ゾーンが NIC.moe の NSEC を持っていても、NIC.moe ゾーンが否定応答を返してしまうということなのだと推察しています。これ本当に大きな問題にはならないのでしょうかね。私は DNSSEC に詳しくないので DNSSEC の偉い人はこれでいいのか教えてください。
余談ですが nic.moe 以降も walk してみたところ、現在 moe からは総計 2,441のドメイン名が委譲されていました。これだけ? Interlink涙目?
追記: せっかくなのでリスト(2014/11/10更新:2997ドメイン名)を公開しておきます。どうせ公開情報ですものね。
p.s.
IDN を逆変換してくださった方が w 巨乳やらなんやら w > 萌える(.moe)国際化ドメイン名一覧
Copyright by T.Suzuki