Any name server. Add a zone or two @ 3600 IN SOA u.example.net. noc.example.net. ( 1 86400 10800 3600000 3600 ) 86400 IN NS c.example.net. 86400 IN NS a.example.net. 3600 IN MX 10 mail.example.org. www 3600 IN A 10.0.1.2 mail 3600 IN A 10.0.1.3 Done If it worked, it worked for ever and a day
with signatures "www.example.net is at 10.0.1.2 (TM)" Set up a server which supports DNSSEC Create a zone (or two) Create private and public keys Sign the zone Submit DS to parent Monitor Rinse and repeat
DS Signature of the DNSKEY Contains key tag and hash Located in parent zone RRSIG Signature of an RRset Valid for a particular time only (inception, expiry) NSEC/NSEC3 Prove non-existence (NXDOMAIN)
that indicates nothing between "ldap" and "mail". NSEC data generated for the whole zone Zone becomes "walkable". (Privacy policy?) NSEC3 opt-in Proves non-existence using signed record that indicates nothing is between H("ldap") and H("mail") in hash order. NSEC3 opt-in data is generated for the whole zone NSEC3 opt-out Same as opt-in, but NSEC3 opt-out is not generted for whole zone but only for authoritative data and for delegation to signed zones. e.g. .FR has around 4M records but only handful of signatures
9.7) zone "example.org" in { type master; file "e/example.org"; auto-dnssec maintain; key-directory "/var/named/e"; update-policy local; }; BIND daemon (named) automatically signs zone "maintain" means sign as new records are updated (RFC 2136) If keys are available in key-directory, adding DNSKEY records, performs key rollover
and keys/signatures separate Some changes in database schema Small change in configuration launch=gpgsql gpgsql-dnssec gpgsql-host=127.0.0.1 gpgsql-user=powerdns gpgsql-password=secret gpgsql-dbname=powerdns Off we go: $ pdnssec secure-zone example.org That’s it. Honest!
in back-end database (gmysql, gpgsql, gsqlite) and need to be protected It’s a bit like a private key for your HTTPS server Alternatively run in pre-signed mode Encrypted file system Supports NSEC and NSEC3 Signatures (RRSIG records) are calculated on the fly Inception: previous Thursday Expiration: Thursday two weeks later No issue if PDNS is authoritative, but watch out if hidden master No DNSSEC relevance: PDNS 3.x also has TSIG for AXFR
BIND) to test your authoritative server DNScheck http://dnscheck.iis.se/ ZoneCheck http://zonecheck.fr DNSSEC Debugger http://dnssec-debugger.verisignlabs.com/ YAZVS (Yet Another Zone Validation Script) http://yazvs.verisignlabs.com/ DeNIC NAST http://www.denic.de/en/background/nast.html SURFnet DNSSEC monitor http://www.dnssecmonitor.org/
automation Number and size of zones Required security Keys on file system Hardware Security Module Define Policies Key lengths & algorithms Signature lifetimes Key rollovers
means building your own Monitor. More than you ever did When choosing your signing platform, throw things at it You need lots of random data (hw dongles) Get a good calendar & reminder program Choosing an HSM is a PITA DNSSEC means more data, more CPU, and more traffic. Oh, and more problems Keep your system clocks in sync You can’t just turn DNSSEC "off" Did I say use recent software releases?
published 20091013 SE ODS+BIND Corrupt zone published (not DNSSEC) [2] 20101007 BE Homebrew Expired signatures [4] 20100604 ARPA ? Expired signatures [5] 20100913 UK OpenDNSSEC Signing failure upon failover (HSM) [3] 20100512 DE Java Partial zone published (not DNSSEC) [1] 20110212 FR ODS+BIND Invalid sigs on NSEC3 disprove DS (BIND bug) 20110215 e164 Secure64 No RRSIG on KSK [6] 20110222 KG ? RRSIG inception times hours in future [7] 20120118 NASA.GOV ? KSK rollover w/o DS submission [8] @npua: Extrapolation: If you don't hit an operational snag, DNSSEC will get you 1: http://www.denic.de/denic-im-dialog/mailinglisten/public-l.html?url=msg04454.xml 2: http://royal.pingdom.com/2009/10/13/sweden%E2%80%99s-internet-broken-by-dns-mistake/ 3: http://www.nominet.org.uk/registrars/systems/serviceannouncements/?contentId=7872 4: https://lists.dns-oarc.net/pipermail/dns-operations/2010-October/006166.html 5: http://dnssec-deployment.org/pipermail/dnssec-deployment/2010-June/003881.html 6: http://dnssec-deployment.org/pipermail/dnssec-deployment/2011-March/004842.html 7: http://dnssec-deployment.org/pipermail/dnssec-deployment/2011-February/004816.html 8: http://www.dnssec.comcast.net/DNSSEC_Validation_Failure_NASAGOV_20120118_FINAL.pdf @nerdybits