DNSSEC始めました

ルートからJPへのチェイン。弊社が利用しているドメイン(co.jp jp ch me es be dk com net org…)もすべてDNSSECおよびDANE/TLSA対応完了。DNSSECが有効でTLSA RR,CAA RRにも対応したセカンダリDNSサーバ,DANE,TLSA,DMARC,DKIM,SPFに関するご相談は弊社へどうぞ。と宣伝をしたところで以下は設定を確認するためのリンク集と自分で確認する手順。

DNS-OARCや公開サーバでDNSSECが有効なものをODVRとして使用する方法は、DNS-OARCに書かれているように

のようなコマンドにて、ADビットがついている、かつ正しい応答であることを確認をします。

これだと他人任せなので、もう少し自力で確認するにはroot(.)のKSK(257)を取得してトラストアンカーとしてから検証します。


delv版

にて


古いdig +sigchase版

WE NOW DO VALIDATION が何回か表示され、最終的に指定したトラストアンカーまでたどり着くのを確認します。


お気づきの通りこのやり方では、キャッシュサーバでDNSSECのvalidationが正常に動作していた場合(その場合はすでにトラストアンカーがあったわけですが)を除きトラストアンカーの真正性が確認されていないため、改ざんの可能性が大きく残ります。DNSSEC Trust Anchor Fetcherunbound-anchorを利用したり、bindであればmanaged-keysを含む/etc/namedb/bind.keys(無いときはlocate bind.keysとかで探す)ファイルが付属しているはずなのでそのファイルのハッシュを検証して利用するなどでより確からしくなります。ここではroot(.)のzoneファイルをhttpsで取得して使ってみます。

~/tmp/hoge.rr.txtが~/tmp/root.zoneのDNSKEYと同じであることを確認しつつ、念のためこれで再度確認します。

今時のキャッシュサーバはデフォルトでtrust anchorが自動更新されるようにパッケージングされていることと思いますが、運用している場合は念のためroot(.)のロールオーバーに対応できるようになっていることも確認します。

今は亡きdigの+sigchaseは;; We are in a Grand Father Problem: See 2.2.1 in RFC 3658 とか言ってみたり core はいてくれたりするので、delvを使うかさっさとUnboundをDNSSEC有効なキャッシュサーバとしてインストールする方が早いです。validationは自分のUnboundでやるのでADビットはついてなくても良いとしても、いまだにISPのキャッシュサーバがDOビット付きqueryでもRRSIG付けて返してくれないといった悲しい状況では公開サーバなどをforwarderとして利用することとなるのでしょう。幸い弊社環境ではすべてRRSIGを付けて返してくれる上流ばかりでした。

以下はDNSVizの確認用リンク

コメントを残す

メールアドレスが公開されることはありません。