DNS Security Extensions (DNSSEC) Aplicaciones distribuidas avanzadas (curso 2002/2003) DNSSEC
Apartados Introducción a DNS. Vulnerabilidades en DNS. DNSSEC (RFC2535++). DNSSEC (TSIG/SIG0). DNSSEC KEY/SIG/NXT. Firma dominios locales. Redes de confianza (chain of trust). Caso práctico: Autenticación en BGP.
DNSSEC Introducción a DNS. Resolver Pregunta: A A ? Caching forwarder (recursive) root-server A ? “ask es ns1.nic.es” ns1.nic.es A ? “ask upm einstein.ccupm.upm.es” einstein.ccupm.upm.es “ ask dit dns.dit.upm.es” Add to cache A ? dns.dit.upm.es 10 A ?
DNSSEC Introducción a DNS (II). master Caching forwarder resolver Zone administrator Zone file Dynamic updates 1 2 slaves 3 4 5
DNSSEC master Caching forwarder resolver Zone file Dynamic updates 1 2 slaves 3 Server protection 45 Corrupting data Impersonating master Unauthorized updates Cache impersonation Cache pollution by Data spoofing Data protection Vulnerabilidades en DNS
DNSSEC DNSSEC (RFC2535++) DNSEC ofrece: Protección entre servidores (master slave). DNSSEC (TSIG/SIG0) permite la autenticación entre servidores, asegurando la transferencia de zonas. Protección datos. DNSSEC (KEY/SIG/NXT) establece mecanismos de autenticación e integridad de datos DNSSEC (DS) permite un mecanismo de seguridad distribuida basado en el establecimiento de redes de confianza (Chains of Trust) Una infraestructura de distribución de claves públicas ?? Posible utilidad en el establecimiento de túneles IPSEC dinámicos (Opportunistic IPSEC)
DNSSEC (TSIG/SIG0) Protección entre servidores Zone file slaves master Caching forwarder resolver Dynamic updates Unauthorized updates Impersonating master
DNSSEC Transaction Signature: TSIG TSIG (RFC 2845) Autenticación entre las partes basada en firmas digitales. Algoritmos HMAC-MD5. Uso de claves simétricas previamente establecidas. Independiente de otros servicios DNSSEC. Transaction Signature: TSIG SOA … SOA Sig... Master AXFR Slave KEY: %sgs!f23fv AXFR Sig... SOA … SOA Sig... Slave KEY: %sgs!f23fv verifica tion Query: AXFR Response: Zone
DNSSEC Transaction Signature: TSIG Configuración TSIG en BIND 9 generar claves simétricas # dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave.upm.es. configurar servidor secundario (slave) server { keys { master-slave.upm.es.; }; }; configurar servidor primario (master) zone " upm.es" { type master; file "db.upm.es"; allow-transfer { key master-slave.upm.es.; }; };
DNSSEC KEY/SIG/NXT Autenticación e Integridad de datos Zone file slaves master Caching forwarder resolver Dynamic updates Cache pollution by Data spoofing cache Impersonation
DNSSEC DNSSEC New RRs Existentes en DNS: Resource Record: INA RRset: conjunto de RRs IN A A A Nuevas extensiones DNSSEC: SIG: firma de RRset, mediante clave privada. KEY: clave pública, necesaria para verificar SIG. DS: Delegation Signer, permite construir redes de confianza. NXT: Indica el siguiente RRset dentro de una zona necesario para autenticar la NO existencia de datos.
DNSSEC KEY RDATA 16 bits: FLAGS 8 bits: protocol 8 bits: algorithm N*32 bits: public key Example: ripe.net IN KEY ( AQOvhvXXU61Pr8sCwELcqqq1g4JJ CALG4C9EtraBKVd+vGIF/unwigfLOA O3nHp/cgGrG6gJYe8OWKYNgq3kDChN)
DNSSEC SIG RDATA 16 bits - type covered 8 bits - algorithm 8 bits - nr. labels covered 32 bits - original TTL ripe.net IN SIG A ( ripe.net. VJ+8ijXvbrTLeoAiEk/qMrdudRnYZM1VlqhN vhYuAcYKe2X/jqYfMfjfSUrmhPo+0/GOZjW 66DJubZPmNSYXw== )
DNSSEC NXT RDATA Especifica el siguiente registro en la zona. Permite comprobar la Inexistencia de un registro. $ORIGIN ….. NSNS.ripe.net. KEY ….. NXT mailbox.ripe.net. SOA NS NXT KEY SIG mailboxA NXT A NXT SIG WWWA NXT ripe.net. A NXT SIG Una consulta “ popserver.ripe.net ” tendr í a como resultado: aa bit set RCODE=NXDOMAIN authority: mailbox.ripe.net. NXT A NXT SIG
DNSSEC Generación pares claves (Zone Signing Key, Key Signing Key). Firma de la zona: ordenación alfabética. añade NXT records. incluye SIG records (firman cada RRset ). Distribución de clave pública, dos opciones: 1. La clave es distribuida a los interesados de forma “ manual ”. 2. incluyendo DS records (se establecen redes de confianza). Firma dominios locales
DNSSEC Firma dominios locales (II) $ORIGIN net. kids NS ns1.kids DS (…) 1234 SIG DS (…)net. money NS ns1.money DS (…) SIG DS (…)net. $ORIGIN NS ns1 SIG NS (…) kids.net. KEY (…) (1234) KEY (…) (3456) SIG key … 1234 kids.net. … SIG key … 3456 kids.net. … beth A SIG A (…) 3456 kids.net. … ns1 A SIG A (…) 3456 kids.net. … Zone signing key Key signing key
DNSSEC Redes de confianza (chain of trust) net. money.net. kids.net. dop corp dev market dilbert unixmac marnick nt os.net. com. Out of band key-exchanges Secure entry points
DNSSEC Caso práctico: Autenticación en BGP.
DNSSEC DNSSEC amplía a DNS definiendo procedimientos, extensiones de seguridad. DNSSEC supone mayor complejidad (administrativa) que la versión actualmente en uso (DNS). DNSSEC permitiría definir una nueva forma (redundante, tolerante a fallos, distribuida) de autenticación de servicios basada en clave pública. En la actualidad DNSSEC es soportado por las últimas versiones de BIND, si bien es de esperar cambios en las especificaciones finales del protocolo. Conclusiones