dns-sec and Maintaining Human Sanity
Phil Mayers
p.mayers at imperial.ac.uk
Fri Aug 6 13:24:04 UTC 2010
On 06/08/10 12:24, Martin McCormick wrote:
>
> The one thing that impresses me about dns-sec is that it
> appears to be one of those things that will probably work fine
> after installation but getting there may be an adventure to put
> it mildly.
My advice is to investigate upgrading to Bind 9.7 and using the
"auto-dnssec maintain" option on your zones.
We do something similar to this:
zone "example.com" {
type master;
# file in a per-zone directory
file "data/zones/example.com/zone";
# keys in the same direction
key-directory "data/zones/example.com";
# tell bind to do DNSSEC maintenance
auto-dnssec maintain;
# must allow updates for online (re)signing
allow-update { key ...; };
};
...at this point, signing a zone is very simple:
NAME="example.com"
ZDIR="/var/named/data/zones/$NAME"
# make key-signing key
dnssec-keygen -K $ZDIR -a RSASHA1 -b 2048 -n ZONE -f KSK $NAME
# make zone-signing key
dnssec-keygen -K $ZDIR -s RSASHA1 -b 1024 -n ZONE $NAME
# fixup perms
chgrp named $ZDIR/K*
chmod 640 $ZDIR/K*
# sign it
rndc sign $NAME
Bind will automatically maintain the signatures and re-sign every $SOME
days. When you want to do a key rollover, you can use the timestamp
options to generate a new key which is valid but not used:
# make new zone-signing key
dnssec-keygen -K $ZDIR -P now -A none -s RSASHA1 -b 1024 -n ZONE $NAME
# insert key
rndc sign $NAME
# wait for cache expiry times - see RFCs for details
# roll over keys & fixup perms
dnssec-settime -K $ZDIR -A now K<theNEWkeyid> && chmod 640 $ZDIR/K*
dnssec-settime -K $ZDIR -I now K<theOLDkeyid> && chmod 640 $ZDIR/K*
# wait $SOME time for the zone to be incrementally
# resigned using the new key, and the old key is redundant,
# and any old RRs have expires from caches
# remove the old key
dnssec-settime -K $ZDIR -D now K<theOLDkeyid>
rndc sign $NAME
Obviously there is some care and attention needed, but the above
procedures are very quick to test. Play around with it a bit - I think
you'll be pleasantly surprised how easy the stuff in bind 9.7 is.
More information about the bind-users
mailing list