Agenda
¿Para qué sirve el DNS?
¿Es seguro?
Tipos de registros
¿NoSQL?
Rendimiento y WPO
Anycast vs. Unicast
Proveedores y opciones
Problemas en DNS
¿Para qué sirve el DNS?
Porque a los humanos nos cuesta recordar números
Porque nos es fácil una estructura jerárquicawww.dominio.tld
Porque las máquinas necesitan de “números” de tamaño finito (IPv4 = 32 bits, IPv6 =128 bits)
¿Cómo funciona?
BrowserCache
1-30 min100 entradas
Cache Local DNS RecursivoISP / Corp
Google / OpenDNS
Root Servers
gTLD/ccTLD Servers
Domain Servers
CNAMES
¿Es seguro?
Es fácilmente escalable y redundable Es de gestión distribuida Un DNS intermedio (ISP, gobierno, “malo”)
puede entregar otros resultados. Censura/Filtrado de contenidos no afines:▪ Obligo a todos los ISPs que den de alta la zona de
dominioquenomegusta.com en sus resolvers, nadie se puede conectar
Interceptación de navegación: Evito el troyano
¿Es seguro? DNSSEC
La “CA” es el Root (.) Los gTLD y ccTLD se firman y pueden delegar
a sus zonas (.com, .fr, .cat, .es) Las zonas pueden firmar sus respuestas
(google.com, versign.com, gencat.cat) Nuevos registros
RRSIG, DNSKEY, DS, NSEC*xpnti@firewall-1:~$ dig +dnssec gencat.cat;; ANSWER SECTION:gencat.cat. 843 IN A 83.247.129.60gencat.cat. 843 IN RRSIG A 8 2 3600 20120929111758 20120925104809 10623 gencat.cat.
GTDljvkdhDCSvO3z3+tcUuv8hNx3hfQIxlQmWJQQTzdgRtoUluoVN7BR /Etry3MLdkgauQvcnP3QtFE7+dgRBjhHWISmEMGOUcXfbGk5QmwHbhrQ kHKu/Jhz7vnADyJhMLgprHmu0B4JCfDYdZh1MCwOF5gdi67/N+K2qRaB YeM=
¿Es seguro? DNSSEC Deployment
http://eggert.org/meter/dnssec @ 26 set 2012
Tipos de registros
Registro Descripción
A IPv4
AAAA IPv4 (32 bits * 4=128 Bits)
CNAME Alias a nombre
TXT Cualquier cosa . Descifrarlo es cosa del clientDS/DNSKEY/RRSIG/etc DNSSEC
SRV Localizador de servidores HTTP -> xxx
MX Servidores de correo
SOA Inicio de autoridad. Server, versión, timers
NS Servidores de la zona
Otros http://en.wikipedia.org/wiki/List_of_DNS_record_types
ANAME / Alias Auto CNAME -> Dnsmadeeasy, Route53
¿NoSQL?
Distribuido Consistencia eventual Optimizado para lecturas (millones:1) Clave Valor con esquema simple Ejemplo:
Clamav para saber si está actualizadoxpnti@firewall-1:~$ host -t txt current.cvd.clamav.net; perl -e 'printf "%d\n", time;'current.cvd.clamav.net descriptive text "0.97.6:54:15405:1348655341:1:63:39933:190"1348657358xpnti@firewall-1:~$ echo $(((1348657358-1348655341)/60))33 minutos
Rendimiento y WPO
Antes de conectar, tenemos que saber donde! Si tenemos N nombres, tocará preguntar a todos -
imgX.static.com Cuidado con TLD “raros” Cuidado con cadenas de CNAMEs Cuidado con TTLs bajos. Usarlos donde de verdad sea
útil Redirecciones a otros nombres (m.domain.com) El servidor más lento/lejano se usará -> Anycast (RTT
banding)
Rendimiento y WPO
Usuario
FTTH
<10 ms a ISP
ISP Resolver
Avg: 153 ms
DNS+TCP
DNS = 132 ms
TCP = 21 ms
Rendimiento y WPO
Reducir número de nombres Reducir número consultas (TTL / CNAMES) Infraestructura DNS
Acercar servidores a los resolvers de los usuarios Reducir número de NS por dominio Protecciones DDoS, SLA, etc..
Rendimiento y WPO
Opción fácil de tolerancia a fallos CPD: 2 Varnish en ubicaciones diferentes Acceden al backend vía VPN / Inet Publicamos las dos IP en DNS▪ Round Robin, Ordenado o Geo
Si un CPD resulta afectado, podemos o mostrar 503 o restaurar servicios y mantener TTL altos
Los navegadores intentan por orden las IP y saltan por timeout
Disponibilidad tipo >99%
Anycast vs. Unicast
Unicast = No hay Ips repetidas Anycast = Una misma IP en ubicaciones
distintas
http://velocityconf.com/velocity2012/public/schedule/detail/24842
Anycast vs. Unicast
Por BGP al más cercano Menos NS/dominio -> menos RTT banding Tolerancia a DDoS (si D es pequeña)
Proveedores y opciones
Unicast: Casi todos los registrars, hosting, etc… Va “gratis” con el servicio
Anycast: UltraDNS, Dyn, DnsMadeEasy, easyDNS
Anycast “listo”: AWS Route53, Cedexis, “Cotendo”
Proveedores y opciones
“Listo”= Algo más que detectar failover o Geo estático
Route53: Round robin con pesos y/o latencia (que no Geo)
Cedexis: En tiempo real monitoriza y decide + PHP
Cotendo: Lenguaje script para actualizar
Problemas en DNS
Autoritativo contacta con Resolver no Cliente Problemas con determinación origen
EDNS-Subnet, en muy beta… ni RFC…dig +short www.lacaixa.es23.51.65.157ping 23.51.65.157Respuesta desde 23.51.65.157: bytes=32 tiempo=13ms TTL=58
dig +short www.lacaixa.es @8.8.8.823.51.161.157ping 23.51.161.157Respuesta desde 23.51.161.157: bytes=32 tiempo=34ms TTL=55
dig +short www.lacaixa.es @217.13.116.423.37.161.157ping 23.37.161.157Respuesta desde 23.37.161.157: bytes=32 tiempo=61ms TTL=53
Sergi Morales, CISMFounder & CTOe: [email protected]: www.expertosenti.comt: 668897684 (6688-XPNTI)b: blog.expertosenti.coml: www.linkedin.com/in/sergimorales