32
DNS/DNSSEC and Domain Transfers: Are they compa:ble ? Olafur Gudmundsson Steve Crocker Shinkuro inc. {ogud,steve}@shinkuro.com

DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNS/DNSSECandDomainTransfers:Aretheycompa:ble ?

OlafurGudmundssonSteveCrockerShinkuroinc.

{ogud,steve}@shinkuro.com

Page 2: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Background

•  ShinkurowasaskedbyORGtolookintohowDNSSECaffectstransfersofsigneddomains,–  Inpar:cularwhenRegistraroperatestheDNSservicefortheDomainholder.

•  Wehavespendmanymonthsworkingoutsolu:onsthatfitintotherealworld– RunningDNSSECtransfertestswithearlyadop:ngregistrarsfororg.

3/9/10 DNSandDNSSECoperatorchanges 2

Page 3: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Approach

•  Thispresenta:onisfromtheperspec:veoftheDNSprotocol,DNSsoUwareandisaimedathighligh:ngtherealworldissues.

•  Goals:– Eliminateand/orminimizeDNSresolu:onerrorsandservicecalls

– Minimizeworkby“old”operators

3/9/10 3DNSandDNSSECoperatorchanges

Page 4: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Approach(cont)

•  Assump:ons:– Allpar:esarewillingtobeminimallycoopera:ve.

• Withoutcoopera:onDNSresolu:onerrors

– OnlyDNSisbeingchangedallotherservicesareignored.

3/9/10 4DNSandDNSSECoperatorchanges

Page 5: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Approach(cont)

•  HowthebehaviorofcertainDNSarchitecturalelementsaffectthesteps,atthe:meof:

•  DNSoperatorchange•  Registrartransfer•  DNSSECkeychange

•  WhatDNScomponentsneedtobetakenintoaccountwhenchangingoperators

•  Parent/Registry/Registrarbehavior•  Authorita:veserverbehavior•  Resolver’sbehavior•  TTLvaluesandimpact

3/9/10 DNSandDNSSECoperatorchanges 5

Page 6: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

RolesandNota:on•  Domainholder:(H)

–  Theen:tythathastheregistra:onforadomain•  DNSoperator:(O=old)(N=new)

–  OperatestheDNSserversforthedomainandmaintainsthezone•  Registrar:(R)

–  ThepartythattheDomainholderhascontractedwithtoregisterthedomain•  FromH’sperspec:veRegistryisnotvisible.

•  Parent:–  TheDNSdomainthathasthedelega:ontothezone

•  ContentProvider:–  Ignoredinthispresenta:on

•  Red=ERROR,Blue=Op:onal,Orange=notdesired/par:alfailure

3/9/10 6DNSandDNSSECoperatorchanges

Page 7: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNScontrolplanefordomains:Recordtypes

•  NSliststhesetofhoststhatactasauthorita:venameserversforazone–  Appearsintwoplaces

•  asahintintheparent,unsigned•  Authorita:veinthechild,signed.

•  DNSKEYthekey(s)thatcansignthedatainthezone,–  Residesatthechildsizeofthedelega:on

•  DSthekey(s)authorizedtosignthechildDNSKEYset–  Residesattheparentsideofthedelega:on,signedbyparent.

3/9/10 7DNSandDNSSECoperatorchanges

Page 8: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Simplifiedmodel

•  Newoperatorcreatesandloadsazone– Dataisavailablebutnotvisibleasparentpointstooldoperator.

•  MomentofDNSchange:– WhenparentchangesNSsettopointtonewoperator.

•  Newoperator’sdatabecomesvisible

– BUT3/9/10 8DNSandDNSSECoperatorchanges

Page 9: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Complica:on#1:TTL

•  AllDNSRRsetscanbestoredandreusedbyDNSresolvers/cachesforcertain:meaUerrecep:on.– Resolversthatknowaboutoldoperatorwillkeepaskingoldoperatorun:ltheNSsetexpiries.•  Un:lNSsetexpirestheonlyreasonforresolvertoaskparentanyques:onaboutthedomainistorefreshtheDSrecord.

3/9/10 9DNSandDNSSECoperatorchanges

Page 10: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNSOperatorChange:whathappens

Parent

Resolver

NewOld

Before

During

AUer

Page 11: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Complica:on#2:Resolverbehaviors

•  Centricity:•  SomeresolversonlyusetheNSsetfromthechild•  Othersjustusetheonefromtheparent

•  TTLstretching:•  Whenaniden?calcopyofacachedRRsetfromthesamesourceisseen–  someresolversusethenewcopytorefreshtheTTL

–  resolverscanbes:ckytooldoperator.•  Errorrecovery:

•  EvenwhenNONEoftheauthorita:veserversanswersresolverswillnotaskparentfornewercopyofNS.–  Thisiscommonoperatormistake/…….–  askingparentrepeatedlywillonlyyieldsamebaddata,

»  Onlycausesextraload

3/9/10 11DNSandDNSSECoperatorchanges

Page 12: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNSoperatorchange(script)

•  Domainholder(H)isusingOasDNSoperator•  HasksNtobecomenewDNSoperator•  HassistsNininstan:a:ngacopyofthezone

–  Omayormaynotbeinvolved.•  NgivesHanewNSset.•  HviaR(registrar)tochangestheNSsettopointtoN•  HasksOtochangeitsNSsettoN’s

–  Thisisop:onalforO•  HwaitsforoldcopiesofNSsetstoexpirei.e.newNSsetto

becomegloballyvisible.•  HasksOtostopDNSservice

–  Oshouldstopserviceassoonaspossible.

3/9/10 12DNSandDNSSECoperatorchanges

Page 13: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Whatcangowrong:

•  IfOstopsservicebeforeparentNSischanged:–  TotalDNSfailureonalllookups

•  IfOstopsservicebeforeallresolvershavemigratedover:–  Someresolversmayexperienceoutage

•  Hardtodiagnoseasthisdependsonthestateoflocalresolvers•  IfOdoesnotstopservicewhenaskedto

–  Somechild‐centrics:ckyresolversmayneverdiscovertheoperatorchange

•  NisnotreadywhenNSischanged:–  DNSresolu:onfailure

3/9/10 13DNSandDNSSECoperatorchanges

Page 14: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

TTLeffects

•  Howfastoperatorscanbechanged:isdictatedbytheTTLontheDNScontrolplaneRRsets!

•  InmanycasesthePARENTselectedTTL’sdominatethewait:mes.– ManyTLD’shaveTTL’sonNSsetsthatareinday’s

3/9/10 14DNSandDNSSECoperatorchanges

Page 15: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNSSECoperatorchange

•  Assump:on:– NewandOldDNSoperatorswillusedifferentkeystosigndatainthezone.

•  Goal:– WanttoavoidbothDNSresolu:onfailuresandDNSSECvalida:onerrors!!•  Followsameapproach•  DuringchangeresolversMUSTbeabletovalidatesignaturesbybothoperators.

•  ActuallythisisKeyRolloverandOperatorchangerolledintoone

3/9/10 15DNSandDNSSECoperatorchanges

Page 16: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNSSECprecondi:ons

•  DSsetMUSTcontainauthoriza:onforbothoperatorsKSK’sduringthechange

•  BothDNSKEYRRset’sMUSTcontainZSK’sforbothoperatorsduringchange.

•  NewDNSKEYandDSsetsMUSTbegloballyvisible– beforeNSsetinparentischanged.

3/9/10 16DNSandDNSSECoperatorchanges

Page 17: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Script:BeforeDNSSECoperatorchange

•  HcontractswithNtooperatezone•  Ninstan:atesazone,– GeneratesnewKSKandZSK,

•  DNSKEYsetincludesZSKOisusing.–  ProvidesHwithnewNSandDSrecords

•  HasksOtoaddN’sZSKtoitscopyofzone•  HviaRaddsN’sDSrecordtotheonesforO•  HwaitsfornewDSandDNSKEYtobecomegloballyvisible.–  Max(O’sNSTTL,P’sNSTTL,DSTTL)

3/9/10 17DNSandDNSSECoperatorchanges

Page 18: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

OperatorChangeandaUer

•  HviaRchangesNSsettopointtoN•  HasksOtochangeNSsettopointtoN– Op:onalstep

•  HwaitsforoldNS’stoexpiremaxTTLonNSsets

•  HasksOtostopservice.•  Hwaitsforlaggardresolverstodetectchange•  HviaRtoremovesDSrecordsforO•  HasksNtoremoveZSKrecordsforO

3/9/10 18DNSandDNSSECoperatorchanges

Page 19: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Howcanchangegowrong?

•  OrefusestoaddN’sZSK– signedOperatorChangenotpossible

•  thisbehaviorcomplicatesthings.

•  Oturnsoffservicebeforechangesinparenthavehad:metopropagate– DNSresolu:onfailures.

•  HcannotupdateDSrecords– OperatorChangenotpossible

3/9/10 19DNSandDNSSECoperatorchanges

Page 20: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Considera:ons

•  Hdoesnotwaitlongenoughforolddataforexpirefromthesystem– Someresolversmayexperiencefailures

•  ThisisH’schoice

•  OdoesnotchangeNStoreflectN– Mi:ga:ons:

•  OcanslavefromNandthenthingsworkgreat

•  OcanlowerTTLonNSandDNSKEYtoforceresolverstoforgetitsNSset.

3/9/10 20DNSandDNSSECoperatorchanges

Page 21: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Nowbacktotherealworld

•  ThepreviousslidesassumedHknewwhattodoandhadtheabilitytodoso.– HcangiveNtheauthoriza:ontoperformitstasks

•  WhenRegistrarisalsotheDNSOperator

– ChangetheDNSOperatorfirst

– ThenchangetheRegistrar•  ISSUE:HnotabletoinsertnewDSrecordsbeforechange.

3/9/10 21DNSandDNSSECoperatorchanges

Page 22: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

RegistryDNSSECrequirements

•  Signzoneandprocessupdatesinnearreal‐:me.

•  AcceptDSrecordsviaEPP– AcceptmorethanoneDSrecordperdelega:on

•  Orgallows12•  RolloversworkbeserifDSispublishedbeforechange

– Op:onal:acceptDNSKEYrecordsandgenerateDSrecords

3/9/10 22DNSandDNSSECoperatorchanges

Page 23: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

RequirementsforRegistrars:DNSSECSignedDomains

•  RegistrarsmustsupportDNSSECEPPextensions

•  InterfacesmustbeupdatedtoacceptDSrecords–  add+deleteopera:ons– Op:onal:acceptDNSKEYrecords

•  SeparateaccountforTechnicalContact– CanonlychangeNSandDSrecords

3/9/10 23DNSandDNSSECoperatorchanges

Page 24: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

RequirementsforDNSoperators

•  MUSTacceptDNSKEYrecordfromdomainholder

•  ShouldchangeNSwhenasked•  MUSTturnoffservicewhenaskedbutnotbefore.

3/9/10 DNSandDNSSECoperatorchanges 24

Page 25: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNSSECTransferTes:ngforORG

•  Asademonstra:onthatitispossibletochangeDNSoperatorsandRegistrarswehaveworkedwithorgandtworegistrars– NamesBeyond– DynDNS

•  Foreachregistrarthereareupto13testswhereitistheoriginalregistrar

•  Thereareupto4testswhereitisdes:na:onregistrar.

3/9/10 25DNSandDNSSECoperatorchanges

Page 26: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Tes:ngsheet

3/9/10 26DNSandDNSSECoperatorchanges

Page 27: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Tes:ngsheet(cont)

3/9/10 DNSandDNSSECoperatorchanges 27

Page 28: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Tes:ngResults

•  Registrarinterfacesneededfixing– Allminorissues

•  Mostoftes:ngperformedbyoutsiders(us)

•  TimetoperformtestsdominatedbyORG’sTTLof1day

•  Actualtestsinprogress.

3/9/10 28DNSandDNSSECoperatorchanges

Page 29: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

DNSSECRegistrarConsidera:ons

•  RegistrarthatoperatesONLYasregistrarforadomain– NeedstoupdateUIandEPPwithparents

•  Add/deleteDS/DNSKEY

3/9/10 DNSandDNSSECoperatorchanges 29

Page 30: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

BundledDNSSECRegistrarconsidera:ons

•  RegistrarthatoperatesDNSasvalueaddedservice

•  NeedstounderstandtheextrarequirementsthatbeingaDNSSECoperatormeans

•  MustacceptnewDNSKEYrecordsfromdomainholder

– Transferpolicies:?–  BlockTransfersun:laUerDNSopera:onhasbeentransferred.–  OperateDNSserviceforagraceperiodaUerTransfer–  Other

3/9/10 DNSandDNSSECoperatorchanges 30

Page 31: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

RegistryPolicyQues:ons

•  WhencanaDNSSECdomainbetransferred?– BetweenDNSSECcapableregistrars?

•  HowmanyDSrecordareallowed?

•  WillregistrylowerTTL’sonupondemand?

•  Whatcer:fica:ontes:ngisrequiredforDNSSECregistrars?

•  DoesregistryacceptDSand/orDNSKEYrecords?

3/9/10 DNSandDNSSECoperatorchanges 31

Page 32: DNS/DNSSEC and Domain Transfers: Are they compable · DNSSEC affects transfers of signed domains, – In parcular when Registrar operates the DNS service for the Domain holder. •

Conclusions

•  “Allatonce”DNSSECTransferisimpossible•  With“DNSfirst,Registra:onsecond”Transferis:

3/9/10 DNSandDNSSECoperatorchanges 32