190 likes | 425 Views
DNS S EC. DNS Security Extensions (DNSSEC). Aplicaciones distribuidas avanzadas (curso 2002/2003). 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).
E N D
DNSSEC DNS Security Extensions (DNSSEC) Aplicaciones distribuidas avanzadas (curso 2002/2003)
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.
2 1 3 Caching forwarder (recursive) 4 10 8 9 5 11 Add to cache 6 7 Introducción a DNS. Pregunta: www.dit.upm.es A root-server www.dit.upm.es A ? “ask es server @ ns1.nic.es” www.dit.upm.es A ? Resolver 138.4.2.61 www.dit.upm.es A ? ns1.nic.es “ask upm server @ einstein.ccupm.upm.es” www.dit.upm.es A ? www.dit.upm.es A ? 138.4.2.61 einstein.ccupm.upm.es dns.dit.upm.es “ ask dit server @ dns.dit.upm.es”
Zone administrator 1 3 2 4 5 Zone file master Caching forwarder Dynamic updates slaves resolver Introducción a DNS (II).
Vulnerabilidades en DNS 5 2 4 1 3 Corrupting data Impersonatingmaster Cache impersonation Zone file master Caching forwarder Dynamic updates slaves resolver Cache pollution by Data spoofing Unauthorized updates Server protection Data protection
DNSSEC (RFC2535++) DNSEC ofrece: • Protección entre servidores (masterslave). • 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)
Unauthorized updates DNSSEC (TSIG/SIG0) Protección entre servidores Impersonating master Zone file master Caching forwarder Dynamic updates slaves resolver
Transaction Signature: TSIG AXFR AXFR verification Sig ... Sig ... Slave KEY:%sgs!f23fv SOA … SOA SOA … SOA Sig ... Sig ... verification 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. Query: AXFR Master Slave KEY:%sgs!f23fv KEY:%sgs!f23fv Response: Zone
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 192.249.249.1 { 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.; }; };
Cache pollution by Data spoofing DNSSEC KEY/SIG/NXT Autenticación e Integridad de datos cache Impersonation Zone file master Caching forwarder Dynamic updates slaves resolver
DNSSEC New RRs • Existentes en DNS: • Resource Record: www.ripe.net. 7200 IN A 192.168.10.3 • RRset: conjunto de RRs www.ripe.net. 7200 IN A 192.168.10.3 A 10.0.0.3 A 172.25.215.2 • 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.
KEY RDATA • 16 bits: FLAGS • 8 bits: protocol • 8 bits: algorithm • N*32 bits: public key Example: ripe.net. 3600 IN KEY 256 3 5 ( AQOvhvXXU61Pr8sCwELcqqq1g4JJ CALG4C9EtraBKVd+vGIF/unwigfLOA O3nHp/cgGrG6gJYe8OWKYNgq3kDChN)
SIG RDATA • 16 bits - type covered • 8 bits - algorithm • 8 bits - nr. labels covered • 32 bits - original TTL ripe.net. 3600 IN SIG A 1 2 3600 ( 20030604144523 20030504144523 3112 ripe.net. VJ+8ijXvbrTLeoAiEk/qMrdudRnYZM1VlqhN vhYuAcYKe2X/jqYfMfjfSUrmhPo+0/GOZjW 66DJubZPmNSYXw== )
NXT RDATA • Especifica el siguiente registro en la zona. • Permite comprobar la Inexistencia de un registro. $ORIGIN ripe.net. @ SOA ….. NS NS.ripe.net. KEY ….. NXT mailbox.ripe.net. SOA NS NXT KEY SIG mailbox A 192.168.10.2 NXT www.ripe.net. A NXT SIG WWW A 192.168.10.3 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 www.ripe.net. A NXT SIG
Firma dominios locales • 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).
Key signing key Zone signing key Firma dominios locales (II) $ORIGIN kids.net. @ NS ns1 SIG NS (…) kids.net. KEY (…) (1234) KEY (…) (3456) SIG key … 1234 kids.net. … SIG key … 3456 kids.net. … beth A 127.0.10.1 SIG A (…) 3456 kids.net. … ns1 A 127.0.10.3 SIG A (…) 3456 kids.net. … $ORIGIN net. kids NS ns1.kids DS (…) 1234 SIG DS (…)net. money NS ns1.money DS (…) SIG DS (…)net.
com. net. os.net. money.net. kids.net. Secure entry points corp dop mac unix nt marnick dev market dilbert Out of band key-exchanges Redes de confianza (chain of trust)
Conclusiones • 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.