Esclavizando la zona raíz - LACNIC

29
Esclavizando la zona raíz Carlos M. Mar*nez (@carlosm3011) LACNOG 2016 San José de Costa Rica Se9embre 2016

Transcript of Esclavizando la zona raíz - LACNIC

Page 1: Esclavizando la zona raíz - LACNIC

Esclavizando la zona raíz

CarlosM.Mar*nez(@carlosm3011)LACNOG2016

SanJosédeCostaRica– Se9embre2016

Page 2: Esclavizando la zona raíz - LACNIC

Introducción al DNS

•  ”Mapeodenombresanúmeros”•  ¿quedirecciónIPlecorrespondeawww.facebook.com?

•  Yademás•  Delegacióndeautoridad•  Apoyadiferentes9posdeaplicaciones(correoelectronico,hos9ngvirtual,aliases,etc.)

•  Redundancia(primariosysecundarios)

Page 3: Esclavizando la zona raíz - LACNIC

Registros

•  ElDNSesunabasededatosdistribuida•  Los‘registros’son5-tuplasconlossiguientescampos

•  Nombre•  Clase(siempreINparanosotros)•  TTL•  Tipo•  Valor

•  Ejemplo•  www.example.com. 3600 IN A 192.168.1.10

Page 4: Esclavizando la zona raíz - LACNIC

Zonas • Grupoderegistrosbajoelmismosufijoybajolamismaautoridadadministra9va

•  ¿Comosecrean?Medianteladelegación,usandoelregistroNS

Page 5: Esclavizando la zona raíz - LACNIC

Estructura de un nombre de dominio

•  Losnivelesdelárbolreflejanlasdivisionesadministra9vas•  Elrootdelarbolestasiemprepresentedeformaímplicita•  Restricciones:

•  127niveles,63caracterespore9queta•  Losnivelessuperiores“delegan”hacialosinferiores

www.lacnic.net.uy . 4tonivel|3ernivel|2donivel|1ernivel|Raíz

RaízdelárbolDNS

TLD2doHostname

3er

Page 6: Esclavizando la zona raíz - LACNIC

Primarios y secundarios

• Redundancia,DNS-style

• AXFResunpseudo-9poderegistro,simbolizalaoperacióndetransferenciadezona

•  ¿Comosabersilazonacambió?SecomparaelnúmerodeseriedelregistroSOA

Maestro Esclavo

NOTIFY

AXFR

Page 7: Esclavizando la zona raíz - LACNIC

Transferencias de zona

• Usandodig:

Page 8: Esclavizando la zona raíz - LACNIC

Resolución recursiva

www.lacnic.net?

NS: “。”

NS: “.net”

NS: “lacnic.net”

www.lacnic.net?

Pregúntalea.lacnic.net

www.lacnic.net?200.3.14.147!!!!!

?

Page 9: Esclavizando la zona raíz - LACNIC

La zona raíz

•  ¿Queencontramosenlazonaraíz?•  Tenemoslosregistrosdedelegaciónatodaslaszonasdeprimernivel(TLDs)

Page 10: Esclavizando la zona raíz - LACNIC

Servidores raíz

•  Larecursióncomienzaenlaraíz• Pormo9voshistóricoslaInternetcuentaaldíadehoycon13servidoresraíz“principales”

•  Másde300entotalsicontamoslascopiasanycast

•  Losservidoresraízestánbajoeldominio”root-servers.net”

•  Sellamanconunaletra,desdelaAalaM•  Ejemplo“i.root-servers.net”

Page 11: Esclavizando la zona raíz - LACNIC

La zona raíz en BIND

•  Lazonaraízseconfiguradeunamanerapar9cularendiferentessonwaredeDNS

•  Enbindseu9lizaun9poespecialdezonaconocidocomo‘roothints’

•  Elarchivode‘hints’con9eneunalistaderootservers

zone"."in{typehint;file"/v/named.root";};

Page 12: Esclavizando la zona raíz - LACNIC

El archivo de ‘root hints’ ;lastupdate:August25,2016;relatedversionofrootzone:2016082500;;formerlyNS.INTERNIC.NET;.3600000NSA.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET.3600000A198.41.0.4A.ROOT-SERVERS.NET.3600000AAAA2001:503:ba3e::2:30;;FORMERLYNS1.ISI.EDU;.3600000NSB.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET.3600000A192.228.79.201B.ROOT-SERVERS.NET.3600000AAAA2001:500:84::b

•  Elarchivohintsse‘parece’azonazonaDNSperonoloes.

•  NotablementeNOEeneSOA.

Page 13: Esclavizando la zona raíz - LACNIC

‘Root Priming’

•  ¿AlgunavezsepreguntaronsilasdireccionesIPdelosservidoresraízcambian?

•  Ysicambian,¿porquemiarchivoroot.hintsnoestásiempredesactualizado?

•  [hpps://deepthought.isc.org/ar9cle/AA-01309/0/Root-hints-a-collec9on-of-opera9onal-and-configura9on-FAQs.html]

•  Encorto,elcontenidodelarchivode“roothints”essolounapista.ElservidordeDNSvaatratardeobtenerunalistaderegistrosNSpara“.”apar9rdelprimerservidordelalistadehintsqueleresponda

Page 14: Esclavizando la zona raíz - LACNIC

‘Root Priming’

Leerel‘roothints’

• Archivodetextolocal

Confirmarloshints

• ConsultaralalistadehintsporlosNSdelaraíz

Usarlalistaderoots

confirmada

•  Alfinaldelprimingloshintsnoseu9lizanmás

Page 15: Esclavizando la zona raíz - LACNIC

Planteo del experimento

•  ¿Queesloquequierolograr?

•  Tenerunrootserverlocal

NS: “。”

NS: “.net”

NS: “lacnic.net”NS: “。”

www.lacnic.net?

?Recursivo

Page 16: Esclavizando la zona raíz - LACNIC

AXFR de la raíz

•  EsposiblehacerAXFRdelazonaraízdesdediferenteslugares

•  Variosrootservers•  ServidoresdeAXFRdeICANN

•  lax.xfr.dns.icann.orgiad.xfr.dns.icann.org

•  [hpp://www.dns.icann.org/services/axfr/]•  ¿Cómo?

[email protected].|teemi.root.txt$ls-lhmi.root.txt-rw-r--r--1carlosstaff1.6MSep2818:05mi.root.txt

Page 17: Esclavizando la zona raíz - LACNIC

Configuración de BIND

•  ¿Queelementosnecesitamos?• Unarchivode‘roothints’quecontengasolamentenuestrorootlocal

•  ¿Quehacemosconelprimming?•  Siusamoslazonaraíztalcomolatrajimos,elrootservervaasolamenteusarloshintsparaconsultarnuevamenteporlosNSdelazonaraíz

•  Perolopodemosengañarunpoco

Page 18: Esclavizando la zona raíz - LACNIC

¡Mi propio servidor raíz!

• Configuracióndelrecursivo

//RECURSIVECLIENTOFTHESLAVEROOToptions{

directory"/opt/bbsigner";notifyno;

allow-recursion{…};listen-onport53{any;};

};zone"."in{

typehint;file"/v/named.root.local";};

Page 19: Esclavizando la zona raíz - LACNIC

¡Mi propio servidor raíz!

•  roothintslocal

;-----------------------------------------------------------;named.root.local;roothintsfileusedforlocallyslavingtherootzone;;-----------------------------------------------------------.360NS a.root-loc.a.root-loc. 360A 172.19.0.2

Page 20: Esclavizando la zona raíz - LACNIC

¡Mi propio servidor raíz!

• Configuracióndelautorita9vo(elraízprivado)

options{…

};zone"."in{

typemaster;file"/v/db.root.full";};

zone"root-loc"{

typemaster; file"/v/db.root-loc";

};

Page 21: Esclavizando la zona raíz - LACNIC

¡Mi propio servidor raíz!

•  ¡Probando!

$dig+tracewww.lacnic.net|teetrace.lacnic.net.txt

Page 22: Esclavizando la zona raíz - LACNIC

¡Mi propio servidor raíz!

‘priming’enacción!

Page 23: Esclavizando la zona raíz - LACNIC

La raíz, completamente local

• Parahacerquelazonaraízseacompletamentelocaldebemoslograrqueelprimingtambiéndevuelvaservidoreslocales

• ParaesomodificamoslazonaraízycambiamoslosregistrosNSporloslocales,ycreamosunazonasimilara‘root-servers.net’perolocal

Page 24: Esclavizando la zona raíz - LACNIC

Zona raíz modificada

• NS-Set

Page 25: Esclavizando la zona raíz - LACNIC

La zona raíz completamente local

Elprimingtambiéneslocal!!

Page 26: Esclavizando la zona raíz - LACNIC

¿Por que? Aspectos positivos

• AprendizajesobrecomofuncionaelDNSylaraízengeneral

•  Priming•  Recursión•  Servidoresraíz

• Opera9vamente•  Redesconriesgodequedardesconectadas

•  Situacionesdeconec9vidadlimitada•  Redesconrestriccionesseverasdeanchodebandaograndesretardos

•  Redessatelitales

Page 27: Esclavizando la zona raíz - LACNIC

Precauciones

•  Sedebentomarprecaucionesparagaran9zarquelaraízlocalseaverificableporDNSSEC

•  Enelcaso‘parcialmentelocal’•  Ocurrenaturalmente•  Severificaconlamismaclave

•  Enelcaso‘totalmentelocal’•  Alestarmodificandoelcontenidodelazonahayalgunasfirmasqueseinvalidan

•  Sedeberefirmarconunanuevaclave,local

Page 28: Esclavizando la zona raíz - LACNIC

Referencias

• RFC7706,“Decreasingaccess9metotherootzone”

•  [hpps://tools.iex.org/html/rfc7706]

•  ISCFAQonroothintsandrootpriming•  [hpps://deepthought.isc.org/ar9cle/AA-01309/0/Root-hints-a-collec9on-of-opera9onal-and-configura9on-FAQs.html]

Page 29: Esclavizando la zona raíz - LACNIC

¡Muchas gracias! @carlosm3011