dnssec-signzoneコマンドで署名ができない

権威DNSサーバをDNSSECに対応させる際、dnssec-signzoneコマンドを使って署名付きのゾーンファイルを生成しますが、以下のメッセージが表示されて署名付きゾーンファイルが作成できずハマりました。

dnssec-signzone: fatal: failed to find keys at the zone apex: not found

オプション-KでKSKとZSKを格納しているディレクトリは指定しているし、鍵ファイルを明示的に指定する必要はなさそうなんだけど…
ちなみにシェルでdnssec-signzoneを実行した時の内容は以下の通り

# dnssec-signzone
Usage:
        dnssec-signzone [options] zonefile [keys]

“at the zone apex”とあるし、起点となるのは信頼の連鎖のDSレコードに必要なKSK秘密鍵かなと思い、KSK秘密鍵を明示的に指定したらうまくいきました。

# dnssec-signzone -a -S -x -K <鍵の保存場所> -d <DSレコードファイル生成場所を指定> -3 <NSEC3のsalt> -s <署名開始日時> -e <署名終了日時> -r /dev/urandom -N unixtime -f <署名付きゾーンファイル名指定> -o <ゾーン名(origin)> <ゾーンファイル> <KSK機密鍵>

生成された署名付きゾーンファイルをnamed.confで指定して、DNSSECの検証(flags:ad)は出来ているので大丈夫だとは思いますが、このオプション指定が正しいのかイマイチ不安。
事前公開法や二重署名法も実際どのようなオプション指定をすればいいかまだわかっていないので、色々と試してみる必要がありそうです。

参考
http://www.atmarkit.co.jp/ait/articles/1203/29/news122_3.html
http://jprs.jp/related-info/guide/dnssectutorial.pdf
http://jprs.jp/dnssec/doc/smart-sign.pdf
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds2/dnssec-signzone.htm

 

スポンサードリンク