real time updates to signed zones using dynamic update
play

Real-time updates to signed zones using dynamic update, OpenDNSSEC - PowerPoint PPT Presentation

Real-time updates to signed zones using dynamic update, OpenDNSSEC and BIND views Gavin Brown <gavin.brown@centralnic.com> ICANN 50 London PRIVATE & CONFIDENTIAL A Brief History of CentralNics DNS System 1994: Altos Series 1000


  1. Real-time updates to signed zones using 
 dynamic update, OpenDNSSEC and 
 BIND views Gavin Brown <gavin.brown@centralnic.com> ICANN 50 London PRIVATE & CONFIDENTIAL

  2. A Brief History of CentralNic’s DNS System 1994: Altos Series 1000 + Informix => UUCP => SunOS Kickin’ it old school! PRIVATE & CONFIDENTIAL 2

  3. A Brief History of CentralNic’s DNS System 2000: Slackware + BIND8 Praise “Bob” Later: BIND9, migration to CentOS, addition of NSD, Anycast PRIVATE & CONFIDENTIAL 3

  4. A Brief History of CentralNic’s DNS System 2007: Initial DNSSEC Deployment PRIVATE & CONFIDENTIAL 4

  5. A Brief History of CentralNic’s DNS System 2012: new deployment to support new gTLDs PRIVATE & CONFIDENTIAL 5

  6. Signer Configuration • Genzone writes zone files to disk • Tells ODS to sign • ODS tells BIND to reload • BIND sends NOTIFY to slave(s) PRIVATE & CONFIDENTIAL 6

  7. 2013: dynamic DNS update • Real-time update of zone data • Application code assembles update packet (RFC 2136) and sends to master server for unsigned zone • Updated zone data is then signed and distributed • Problem: unsigned zone data must now be exposed over port 53 so dynamic updates can be accepted PRIVATE & CONFIDENTIAL 7

  8. Dynamic Update: Requirements • No new infrastructure (physical or virtual) • Both unsigned and signed zones served over port 53 from the same system • Solution: BIND views PRIVATE & CONFIDENTIAL 8

  9. BIND Views • Essentially virtual DNS servers inside the same BIND process • Similar to HTTP virtual hosts • Routing determined by source or destination address of query packet • Views can contain the same zones but use di ff erent zone files PRIVATE & CONFIDENTIAL 9

  10. Implementation • Add additional IP addresses as alias on server’s network adapter • one extra for BIND • one for OpenDNSSEC • Configure ODS to listen on IP and accept NOTIFY packets/do XFRs • Configure BIND with two views based on destination address: • “unsigned”: • uses zone files produced by genzone • accepts dynamic updates from SRS • sends NOTIFY packets to ODS • “signed” • uses zone files produced by ODS • sends NOTIFY packets to slave(s) PRIVATE & CONFIDENTIAL 10

  11. Implementation PRIVATE & CONFIDENTIAL 11

  12. Configuration - BIND options { listen-on { 192.168.1.199; 192.168.1.219; }; notify explicit; # more goes here }; view "unsigned" { match-destinations { 192.168.1.199; }; notify-source 192.168.1.199; also-notify { 192.168.1.198; }; allow-update { key ”srs-update-key.tsig"; }; include “gtlds-unsigned.conf"; }; view "signed" { match-destinations { 192.168.1.219; }; notify-source 192.168.1.219; also-notify { 192.168.1.150; }; allow-update { none; }; include “gtlds-signed.conf"; }; PRIVATE & CONFIDENTIAL 12

  13. Configuration - OpenDNSSEC conf.xml: � <Configuration> <!-- more goes here --> <Signer> <Listener> <Interface> <Address>192.168.1.198</Address> <Port>53</Port> </Interface> </Listener> <NotifyCommand>/usr/sbin/rndc reload %zone in signed</NotifyCommand> </Signer> </Configuration> PRIVATE & CONFIDENTIAL 13

  14. Configuration - OpenDNSSEC addns.xml: � <?xml version="1.0" encoding="utf-8"?> <Adapter> <DNS> <Inbound> <RequestTransfer> <Remote> <Address>192.168.1.199</Address> </Remote> </RequestTransfer> <AllowNotify> <Peer> <Prefix>192.168.1.199</Prefix> </Peer> </AllowNotify> </Inbound> </DNS> </Adapter> PRIVATE & CONFIDENTIAL 14

  15. Configuration - OpenDNSSEC zonelist.xml: � <Zone name=”tld"> <Policy>default</Policy> <SignerConfiguration>/var/opendnssec/signconf/tld.xml</SignerConfiguration> <Adapters> <Input> <Adapter type="DNS">/etc/opendnssec/addns.xml</Adapter> </Input> <Output> <Adapter type="File">/var/opendnssec/signed/tld</Adapter> </Output> </Adapters> </Zone> PRIVATE & CONFIDENTIAL 15

  16. Comments • Use externally visible IPs to allow for debugging + monitoring � • Genzone still used to process updates for batch processes � • Genzone has to “freeze” and “thaw” the zone in the unsigned view before generating a new file � • i.e. rndc [free|thaw] $zone in unsigned � • OpenDNSSEC DNS adapter has some issues � • Getting great support from Sara and Matthijs! PRIVATE & CONFIDENTIAL 16

  17. Questions PRIVATE & CONFIDENTIAL 17

  18. 
 Contact Details: CentralNic Global Headquarters CentralNic Ltd. 35-39 Moorgate, London, EC2R 6AR, UK Tel: +44 (0)20 33 88 0600 Fax: +44 (0)20 33 88 0601 PRIVATE & CONFIDENTIAL PRIVATE & CONFIDENTIAL

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend