4. Servicio de nombres (DNS)#

4.1. ¿De qué va este tema?#

Se trata de conocer y administrar el servicio de resolucion de nombres DNS

4.2. Clases#

Le dedicaremos unas 12 sesiones de clase

4.2.1. El Servicio DNS#

  1. Servicios de Nombres:

    1. El problema (y la solución)

    2. Planos vs jerárquicos

    3. Centralizados vs Distribuidos

  2. Servicio DNS: (jerárquico y distribuido)

    1. Servicio en puerto 53 (udp y a veces tcp)

    2. Sistema complejo (muchas RFCs)

      1. Conceptos Generales: RFC 1034

      2. Servicio y Protocolo: RFC 1035

    3. Historia ( Archivo Hosts , Sistema NOTIFY y RFCs)

    4. Sistemas CDN

Actividad: Repaso

Repaso Archivo nsswitch y Archivo Hosts

4.2.2. Componentes y Jerarquía#

  1. Elementos:

    1. Clientes DNS : dig, nslookup

    2. Servidores DNS: bind, dnsmasq (y algunos más)

    3. ZA (Zonas de Autoridad): la base de datos

  2. Jerarquía DNS (niveles de dominio)

    https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/DNS_arbol.svg/800px-DNS_arbol.svg.png
  3. Caché y Esquema Petición General

    1. Consulta de caché: ya lo ha hecho antes (y no ha vencido el TTL)

    2. Consulta iterativa: un servidor pide a varios

    3. Consulta recursiva: un servidor pide al siguiente (va sobrecargando servidores)

    4. Consulta de reenvío: una mezcla de los anteriores

    5. Esquema habitual:

    https://upload.wikimedia.org/wikipedia/commons/thumb/7/79/DNS_en_el_mundo_real.svg/688px-DNS_en_el_mundo_real.svg.png
  4. ¿Donde encuentro la información?

    1. Local

      1. Caché de la aplicación

      2. Caché en el SO

    2. Remoto

      1. servicio configurado en la red

      2. primarios (maestros) / secundarios (esclavos)

  5. Configurar Servidor DNS (en el SO o vía DHCP)

Actividad: Uso de cliente dns

Usar un cliente DNS para resolver nombres de internet (dig / o nslookup ) Puedes probar con diferentes dominios y equipos (por ejemplo prueba con www.apuntesinformaticafp.com / www.google.com / www.elmundo.es)

  1. ¿Qué servidor DNS estás utilizando en tu máquina?

  2. ¿Está operativo? ¿Qué latencia tiene?

  3. ¿Cómo sabes a qué IP corresponde un dominio (o host)?

  4. ¿Cual es el servidor DNS responsable de un dominio?

  5. ¿Cual es el servidor DNS de .es? ¿Y de .com?

  6. ¿.es es un host?

  7. ¿Cómo sabes qué registros DNS están asociados a ese dominio?

4.2.3. Tipos de Registros DNS (muchos)#

  1. DNS es una base de datos (distribuida) de registros por dominio

  2. La bd está en un registro de zona

  3. Esquema de un registro de recurso (RR - Resource Registry):

    1. NAME

    2. TYPE

    3. CLASS

    4. TTL

    5. RDLENGTH

    6. RDATA (cambia según el tipo de registro)

  4. Registros más habituales (pero hay muchos):

    1. tipo A

    2. tipo TXT

    3. tipo NS

    4. tipo MX

    5. tipo CNAME

    6. tipo PTR

    7. tipo SPF

  5. Consulta Ayuda Google:

    1. Conceptos Básicos DNS :

    2. Registros DNS

Actividad: Ver ejemplos de registros

Usando un cliente dns sobre un dominio:

  1. ¿Qué registros DNS están asociados a ese dominio?

  2. Un ejemplo de RR tipo A, ¿para qué sirve?

  3. Un ejemplo de RR tipo NS, ¿para qué sirve?

  4. Un ejemplo de RR tipo CNAME, ¿para qué sirve?

  5. Un ejemplo de RR tipo MX, ¿para qué sirve?

  6. Un ejemplo de RR tipo TXT, ¿para qué sirve?

  7. ¿Un ejemplo de otro tipo de registro?

4.2.4. Nombres de Dominio#

  1. Hosts: el FQDN : etiqueta final + dominio (diferentes niveles)

  2. Dominio de Internet

    1. Jerarquía en niveles

    2. Nombre de dominio (típicamente nivel 2)

    3. Dominios de Nivel superior (Root Zone Database):

      1. Infraestructura

      2. ccTLD (países)

      3. gTLD (generales, patrocinados, comerciales y restringidos)

      4. Internacionalizados (con caracteres no ASCII)

  3. Un dominio (o un FQDN) no es un URL

    1. Un FQDN identifica a un host que …

    2. da (o usa) diferentes servicios a un cliente (usando protocolos) …

    3. usando diferentes recursos a través de URLs

  4. Registro de un nombre de dominio:

    1. Verificar disponibilidad (o contactar uno reservado). Escoger: fácil de recordar y escribir

    2. Comprarlo en un registrador de dominios (datos de contacto y dns). ¿ Cómo hago?

    3. Configurarlo:

      1. Parking

      2. Redireccionarlo (a otro dominio)

      3. Asignar Servidor DNS (y usarlo)

    4. Usos ( y abusos ) con nombres de dominio

  5. Propagación de Registros DNS

Actividad: Nombres de dominio

  1. Dime un ejemplo de ccTLD

  2. Dime un ejemplo de gTLD

  3. Dime un ejemplo de FQDN

  4. Este fqdn, ¿es una máquina pública en Internet?

  5. ¿Está disponible el nombre de dominio pepe.com?

  6. ¿Quien es su responsable administrativo?

  7. Registra un nombre de dominio (vía DYNU)

  8. ¿Quien es responsable del dominio .abc?

  9. ¿Y del dominio .gal?

  10. ¿Cual es el contacto administrativo (email) de los dominios .gal?

4.2.5. Los Servidores Raíz#

  1. Los 13 Servidores Raíz

    1. Identificados con una letra, bajo el dominio root-servers.net

    2. Cada uno tiene una organización responsable

    3. Hay réplicas en diferentes ciudades del planeta (no todas en todas)

  2. Información Oficial: root-servers.org

Actividad: Servidores Raíz

  1. ¿Cuántos servidores raíz hay?

  2. ¿Cuántas instancias en total conforman el sistema raíz DNS?

  3. ¿Hay alguno en Europa?

  4. ¿Hay alguno en España?

  5. ¿Qué organización es la responsable del servidor H?

  6. ¿En cuántas ciudades tiene instancias (nodos)?

  7. ¿Cuántas peticiones por segundo recibe?

  8. ¿Qué organización es la responsable del servidor K?

  9. ¿Cuántas peticiones por segundo recibe?

  10. ¿Cual es su dirección IP?

4.2.6. Análisis de Tráfico DNS#

  1. Análisis Tráfico DNS:

    1. Captura

    2. Operaciones: query / response

    3. Contenido: query / answer / RRs

Actividad. Analizar tráfico DNS (Wireshark)

Revisa las tareas de análisis de tráfico DNS en Uso de Wireshark (Avanzado)

4.2.7. Cliente DNS#

  1. Ejemplos de consulta DNS (Usar dig )

Actividad: Uso de cliente DNS

Usar dig o nslookup para consultar DNS. Puedes probar con diferentes dominios y equipos (por ejemplo www.apuntesinformaticafp.com / www.google.com / www.elmundo.es)

  1. ¿Cual es la IP de esa máquina?

  2. ¿Qué servidor DNS está dando la respuesta?

  3. ¿Que servidor DNS es el responsable de ese dominio?

  4. ¿Que máquina es la responsable del servicio de correo?

  5. ¿Tiene algún registro de tipo alias (CNAME)? ¿Cuál es su valor?

  6. ¿Y alguno de tipo TXT?

  7. Dime todos los registros DNS asociados

  8. Haz la consulta usando el servidor DNS 1.1.1.1

  9. Haz una consulta inversa, ¿qué máquina es una IP dada?

  10. Muestra el servidor dueño de la zona

4.2.8. Configuración Servicio DNS#

Repaso Final:

  1. Servicio DNS (formas de configurarlo):

    1. caché / forward. Sólo almacena peticiones (y/o reenvía)

    2. primario. Es dueño de la zona (SOA) de ese dominio

    3. secundario. Es el segundo de la zona (debe coordinarse con el primario haciendo una transferencia de zona/s)

  2. Dominios locales (en LAN) vs dominios públicos (con dominios registrados)

  3. Servicio DNS (formas de configurarlo):

    1. caché / forward. Sólo almacena peticiones (y/o reenvía)

    2. primario. Es dueño de la zona (SOA) de ese dominio

    3. secundario. Es el segundo de la zona (debe coordinarse con el primario haciendo una transferencia de zona/s)

  4. Dominios locales (en LAN) vs dominios públicos (con dominios registrados)

  5. Software Servidor DNS:

    1. Servidor de Nombres DNSmasq (pdf completo):

      1. Configurando un servidor DNS con dnsmasq ,

      2. Documentación oficial: man dnsmasq . Las opciones de configuración son equivalentes a la versión larga del comando.

      3. Revisa un ejemplo de configuración autodocumentado ( /etc/dnsmasq.conf )

    2. Servidor de Nombres Bind

Actividad: Instalar un servicio DNS

Instalar un servicio DNS :

  1. Usando Simulador

  2. Con servidor o red virtualizada:

    1. Usando dnsmasq

    2. Usando bind

4.2.9. Seguridad en DNS#

  1. Servicio crítico (y complejo de configurar): monitoreo continuo

  2. Guía Incibe de configuración de servicio DNS

  1. Estructura del servicio

  2. Vulnerabilidades y Amenazas

  3. Protección del Sistema DNS (DNSSEC)

Actividad: Seguridad en DNS

  1. ¿Alguna vulnerabilidad conocida?

  2. ¿Algún exploit sobre DNS en los últimos 10 años?

  3. ¿Qué es el DNS Pharming?

  4. ¿Qué es el DNS Spoofing?

  5. ¿Qué es el DNS Poisoning?