スマート署名を試してみた(その①)

DNS
Published: 2012-01-27

 現在、DNSSECの自動化に挑戦しています。ずぼらな私に手動運用は無理でした。。。とりあえずcronでの定期的な再署名を実装したので、前回のように署名が有効期限切れになってしまう事はないと思います。

 問題はZSKのロールオーバーです。調べてみたところ、Bind9.7から実装されているスマート署名なる機能があるみたいなので試してみました。

 手動DNSSECだと、ゾーンファイルに署名鍵のパスを記載しなければなりません。これがちょっと前にシェルで自動化しようとした時、障壁になりました。

$TTL    3600
$INCLUDE /var/named/chroot/var/named/work/Kaimless.jp.+008+51904.key
$INCLUDE /var/named/chroot/var/named/work/Kaimless.jp.+008+59091.key
@       IN      SOA     dns1.aimless.jp.    root.aimless.jp. (
        2011082201  ;Serial
        3600            ;Refresh
        900             ;Retry
        1209600         ;Expire
        3600            ;Minimum
)

 スマート署名ではこの点が解消されていました。-Sオプションを付けることで、署名鍵のパスが記載されていないゾーンファイルも署名可能です。

$TTL    3600
@       IN      SOA     dns1.aimless.jp.    root.aimless.jp. (
        2011082201      ;Serial
        3600            ;Refresh
        900             ;Retry
        1209600         ;Expire
        3600            ;Minimum
# dnssec-signzone -S -o aimless.jp -N unixtime -K /var/named/chroot/var/named
/work/ /var/named/chroot/var/named/aimless.zone
Fetching KSK 51904/RSASHA256 from key repository.
Fetching ZSK 59091/RSASHA256 from key repository.
dnssec-signzone: warning: Serial number not advanced, zone may not transfer
Verifying the zone using the following algorithms: RSASHA256.
Zone signing complete:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
                      ZSKs: 1 active, 0 stand-by, 0 revoked
/var/named/chroot/var/named/aimless.zone.signed

 これを利用しながら、dnssec-keygen + 時刻オプション + cronで定期的に良い感じのZSKを作成すれば、ZSKロールオーバも自動化できるはず。。。頑張ろう。