esclavizando la zona raíz - lacnic
TRANSCRIPT
Esclavizando la zona raíz
CarlosM.Mar*nez(@carlosm3011)LACNOG2016
SanJosédeCostaRica– Se9embre2016
Introducción al DNS
• ”Mapeodenombresanúmeros”• ¿quedirecciónIPlecorrespondeawww.facebook.com?
• Yademás• Delegacióndeautoridad• Apoyadiferentes9posdeaplicaciones(correoelectronico,hos9ngvirtual,aliases,etc.)
• Redundancia(primariosysecundarios)
Registros
• ElDNSesunabasededatosdistribuida• Los‘registros’son5-tuplasconlossiguientescampos
• Nombre• Clase(siempreINparanosotros)• TTL• Tipo• Valor
• Ejemplo• www.example.com. 3600 IN A 192.168.1.10
Zonas • Grupoderegistrosbajoelmismosufijoybajolamismaautoridadadministra9va
• ¿Comosecrean?Medianteladelegación,usandoelregistroNS
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
Primarios y secundarios
• Redundancia,DNS-style
• AXFResunpseudo-9poderegistro,simbolizalaoperacióndetransferenciadezona
• ¿Comosabersilazonacambió?SecomparaelnúmerodeseriedelregistroSOA
Maestro Esclavo
NOTIFY
AXFR
Transferencias de zona
• Usandodig:
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!!!!!
?
La zona raíz
• ¿Queencontramosenlazonaraíz?• Tenemoslosregistrosdedelegaciónatodaslaszonasdeprimernivel(TLDs)
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”
La zona raíz en BIND
• Lazonaraízseconfiguradeunamanerapar9cularendiferentessonwaredeDNS
• Enbindseu9lizaun9poespecialdezonaconocidocomo‘roothints’
• Elarchivode‘hints’con9eneunalistaderootservers
zone"."in{typehint;file"/v/named.root";};
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.
‘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
‘Root Priming’
Leerel‘roothints’
• Archivodetextolocal
Confirmarloshints
• ConsultaralalistadehintsporlosNSdelaraíz
Usarlalistaderoots
confirmada
• Alfinaldelprimingloshintsnoseu9lizanmás
Planteo del experimento
• ¿Queesloquequierolograr?
• Tenerunrootserverlocal
NS: “。”
NS: “.net”
NS: “lacnic.net”NS: “。”
www.lacnic.net?
?Recursivo
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
Configuración de BIND
• ¿Queelementosnecesitamos?• Unarchivode‘roothints’quecontengasolamentenuestrorootlocal
• ¿Quehacemosconelprimming?• Siusamoslazonaraíztalcomolatrajimos,elrootservervaasolamenteusarloshintsparaconsultarnuevamenteporlosNSdelazonaraíz
• Perolopodemosengañarunpoco
¡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";};
¡Mi propio servidor raíz!
• roothintslocal
;-----------------------------------------------------------;named.root.local;roothintsfileusedforlocallyslavingtherootzone;;-----------------------------------------------------------.360NS a.root-loc.a.root-loc. 360A 172.19.0.2
¡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";
};
¡Mi propio servidor raíz!
• ¡Probando!
$dig+tracewww.lacnic.net|teetrace.lacnic.net.txt
¡Mi propio servidor raíz!
‘priming’enacción!
La raíz, completamente local
• Parahacerquelazonaraízseacompletamentelocaldebemoslograrqueelprimingtambiéndevuelvaservidoreslocales
• ParaesomodificamoslazonaraízycambiamoslosregistrosNSporloslocales,ycreamosunazonasimilara‘root-servers.net’perolocal
Zona raíz modificada
• NS-Set
La zona raíz completamente local
Elprimingtambiéneslocal!!
¿Por que? Aspectos positivos
• AprendizajesobrecomofuncionaelDNSylaraízengeneral
• Priming• Recursión• Servidoresraíz
• Opera9vamente• Redesconriesgodequedardesconectadas
• Situacionesdeconec9vidadlimitada• Redesconrestriccionesseverasdeanchodebandaograndesretardos
• Redessatelitales
Precauciones
• Sedebentomarprecaucionesparagaran9zarquelaraízlocalseaverificableporDNSSEC
• Enelcaso‘parcialmentelocal’• Ocurrenaturalmente• Severificaconlamismaclave
• Enelcaso‘totalmentelocal’• Alestarmodificandoelcontenidodelazonahayalgunasfirmasqueseinvalidan
• Sedeberefirmarconunanuevaclave,local
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]
¡Muchas gracias! @carlosm3011