Tema 2 - Instalación y administración de servicios de nombres de dominio (DNS)

1. Introducción

DNS es el servicio que se usa en la resolución de nombres en redes TCP/IP, asocia nombres sencillos a direcciones IP numéricas, para facilitar el uso y la memorización.

Este servicio almacena la información en bases de datos distribuidas y redundantes, asociadas y repartidas en diferentes servidores.

2. Sistemas de nombres

  • Sistemas Planos: No tienen una jerarquía ni un agrupamiento, es un método ya obsoleto dado que dificulta la gestión de grandes cantidades de datos (hosts.txt).

  • Sistemas Jerárquicos: Los nombres se agrupan y clasifican siguiendo una jerarquía (árbol invertido), permitiendo una gestión distribuida y autónoma.

3. Funciones y componentes DNS

3.1 Usos del servicio DNS

  1. Resolución de nombres (Búsqueda directa): Se obtiene la dirección IP a partir de un nombre de dominio.

  2. Resolución inversa (Búsqueda inversa): Se obtiene el nombre de dominio a partir de una dirección IP.

  3. Resolución de servidores de correo: Permite obtener el servidor de correo de un dominio.

3.2 Componentes DNS

  1. Espacio de nombres de dominio: Conjunto de nombres para identificar máquinas/servicios, estructurado como un árbol invertido.

  2. Base de datos DNS: Base de datos distribuida y redundante, organizada en zonas que contienen Registros de recursos (RR).

  3. Servidores de nombres: Guardan información de las zonas y responden consultas.

  4. Cliente DNS: Software que realiza las consultas a los servidores DNS.

4. Estructura del espacio de nombres

El sistema DNS no es plano, si no jerárquico (árbol invertido).

Jerarquía de árbol

  1. Raíz (Root .): Es el punto de partida de todo el sistema.

  2. Dominios de primer nivel (TLD): Cuelgan de la raíz.

    • Genericos (gTLD): .com,.org,.net.

    • Geograficos (ccTLD): .es,.fr.

  3. Dominios de segundo nivel: Nombres registrados por organizaciones, google,google.com.

  4. Subdominios/hosts: Niveles inferiores gestionados por la organizacion, www,mail,ftp.

Ejemplo de FQDN (Nombre de dominio completo) mail.ventas.miempresa.com.

  • . (Raíz)

  • .com (Primer nivel)

  • .miempresa (Segundo nivel)

  • .ventas (Subdominio)

  • .mail (Subdominio)

5. Tipos de servidores DNS

  • Servidor Maestro (Primario): Tienen los archivos originales de la zona (base de datos). Aquí se hacen los cambios (lectura/escritura).

  • Servidor Esclavo (Secundario): Tiene una copia de solo lectura de los datos del maestro. Se suelen usar como balanceador de carga y tolerancia a fallos.

  • Servidor Caché: No tiene una zona propia, pregunta a otros servidores y guarda sus respuestas temporalmente para ir más rápido en futuras veces.

  • Servidor Reenviador (Forwarder): No sabe las respuestas, por lo que actua como un agente que se la pide a otro servidor.

5. Proceso de resolución

Cuando se realiza una consulta dns, pueden ocurrir dos tipos:

  1. Consulta recursiva: El cliente dice Dame la IP, haz todo el trabajo, el servidor busca hasta encontrarla y le da la respuesta final.

  2. Consulta iterativa: El servidor No lo sé, pero pregunta a este otro servidor, el cliente va saltando de servidor en servidor.

Ejemplo de una consulta www.uclm.es:

  1. El pc pregunta al DNS local (ISP).

  2. Si no lo sabe, el DNS local pregunta a un servidor raiz.

  3. El raiz le dice: Pregunta al servidor que gestiona los .es.

  4. El DNS local pregunta al .es.

  5. El servidor .es dice: Pregunta al servidor de uclm.es.

  6. El DNS local pregunta al servidor de UCLM, y este responde la IP de www.

6. La base de datos DNS

La información se guarda en archivos de zona usando diferentes tipos de registros:

Tipo

Descripción

Ejemplo

SOA

Start of Authority. Define parámetros de la zona (tiempos de refresco, administrador, TTL).

IN SOA ns1.ejemplo.com. admin.ejemplo.com. (...)

NS

Name Server. Indica qué servidores DNS tienen autoridad sobre la zona.

ejemplo.com. IN NS ns1.ejemplo.com.

A

Asocia un nombre a una dirección IPv4.

servidor IN A 192.168.1.10

AAAA

Asocia un nombre a una dirección IPv6.

servidor IN AAAA FEC0::2AA...

CNAME

Canonical Name. Crea un alias o apodo para un nombre real.

www IN CNAME servidor1 (Si servidor1 cambia de IP, www sigue funcionando).

MX

Mail Exchange. Indica a qué servidor se debe enviar el correo electrónico.

ejemplo.com. IN MX 10 correo.ejemplo.com.

PTR

Pointer. Resolución inversa (de IP a Nombre).

10.1.168.192.in-addr.arpa IN PTR pc1.dominio.

7. Otros conceptos

  • Delegacion: Una organizacion puede ceder la gestion de un subdominio a otra entidad, uclm.es delega fi.uclm.es a la facultad de informatica.

  • Delegación: Una organización puede ceder la gestión de un subdominio a otra entidad, uclm.es delega fi.uclm.es a la facultad de informática.

  • Transferencia de zona (AXFR/IXFR): Es el proceso que hace el servidor esclavo para copiar los datos del maestro. Puede ser completa (todo el archivo) o incremental (solo cambios).

  • DNS Dinámico (DDNS): Permite a equipos con IP variables que actualicen automáticamente sus registros DNS.

8. Seguridad

DNS es un objetivo frecuente de ataques, ya que se diseñó como un sistema abierto y no se contempló su seguridad.

  1. Principales amenazas

  • Envenenamiento de caché (DNS Cache Poisoning): Es uno de los ataques más peligrosos. Un atacante inyecta registros falsos en la memoria caché del servidor DNS o del cliente, redirigiendo al usuario a sitios maliciosos.

  • Ataques de denegación de servicio (DoS): Buscan saturar un servidor con muchas peticiones, para que deje de dar servicio a usuarios legítimos.

  • Suplantación del maestro: Un atacante se hace pasar por el servidor primario y envía datos falsos a los servidores esclavos.

  • Suplantación de fuentes dinámicas: Un atacante se hace pasar por un cliente autorizado (como un servidor DHCP) para alterar los registros DNS dinámicamente.

8.1 Medidas de proteccion

Para mitigar estos riesgos, podemos:

  • Actualizar: Mantener el servidor DNS actualizado, con los ultimos parches y correciones de seguridad.

  • Privilegios mínimos: Configurar el servicio para que no se ejecute como root o administrador total.

  • Permisos de archivos: restringir quien puede leer o modificar los ficheros de zona.

  • Copias de seguridad: Realizar backups frecuentes de los archivos de zona.

  • Restringir la recursividad: Configurar el servidor para que solo resuelva consultas recursivas solo si es estrictamente necesario.

  • Filtrado de IP: Limitar que direcciones IP tienen permiso para realizar consultas al servidor.

  • Firmas de transacción (TSIG y TKEY): Implementar mecanismos para asegurar la comunicación entre servidores usando claves generadas.

8.2 DNSSec

DNSsec es un estándar que busca resolver las carencias de seguridad originales de DNS, utilizando criptografía asimétrica (claves públicas y privadas) y firmas digitales.

¿Que garantiza?

  1. Autenticidad: Asegura que la respuesta proviene realmente de un servidor autorizado

  2. Integridad: Asegura que los datos no han sido modificados por una atacante durante el trayecto

9. Herramientas de diagnostico

  • ping: Sirve para comprobar la conectividad y una resolucion simple.

  • nslookup: Herramienta clásica de Windows/Linux para preguntar a un DNS específico.

  • dig: Herramienta de Linux, muestra mucha información técnica.

  • whois: Muestra información administrativa sobre quién registró un dominio.