Flash Formación: DNS - Conceptos y funcionamiento (II)

Nivel: Avanzado

INDICE

En la primera parte del "flash de formación: DNS Conceptos y funcionamiento", se introdujeron los conceptos y funcionamiento básico del Sistema DNS. En esta segunda parte se va a proceder a analizar el funcionamiento del sistema DNS, desde un punto de vista práctico.

Para ello se analizará el proceso de comunicación y resolución del nombre de dominio cuando se consulta una página web. Como parte de este ejemplo, se utilizará la herramienta wireshark para analizar el tráfico de red.

Terminología

Antes de empezar, creo que es conveniente recordar algunos términos básicos (RFC1034), que han sido tratados en la primera parte, y algunos otros más complejos que serán tratados más adelante en este artículo:
  • Host Name: El nombre de un host es una sola “palabra” (formada por letras, números y guiones). Ejemplos de nombres de host son “www“, “blog” y “obelix“.
  • Fully Qualified Host Name (FQHN): Es el “nombre completo” de un host. Está formado por el hostname, seguido de un punto y su correspondiente nombre de dominio. Por ejemplo, “sxato2.blogspot.com
  • Domain Name: El nombre de dominio es una sucesión de nombres concatenados por puntos. Algunos ejemplos son “webmail.example.com“, “example.com” y “com“.
  • Top Level Domains (TLD): Los dominios de nivel superior son aquellos que no pertenecen a otro dominio. Ejemplos de este tipo son “com“, “org“, “net” y “es“.
Funcionamiento

DNS son las iniciales de Domain Name System (sistema de nombres de dominio) y es un sistema que sirve para resolver nombres de dominio, es decir,un sistema para transformar nombres de dominio a las direcciones IP que necesitan los sistemas de comunicación para localizarse en Internet. Este sistema se encuentra soportado por un fichero (base de datos) que guarda la dirección IP asociadas a los host donde está alojado el contenido del dominio al que queremos acceder.

IP - NOMBRE DOMINIO
 209.85.169.121 - www.seguridadparatodos.es
En la parte I, se comentó la estructura jerárquica del espacio de nombre de dominios, en forma de árbol, donde un nombre de dominio completo consiste en la concatenación de todas las etiquetas de un camino a lo largo del árbol.



El sistema DNS esta soportado por una aplicación servidor, que responde a las peticiones de información sobre el nombre de dominio. La arquitectura del funcionamiento de DNS, esta compuesto por un sistema estructurado en forma de “árbol“. Cada nodo del árbol está compuesto por un grupo de servidores que se encargan de resolver un conjunto de dominios (zona de autoridad). Un servidor puede delegar en otro (u otros) la autoridad sobre alguna de sus sub-zonas (esto es, algún subdominio de la zona sobre la que él tiene autoridad). Un subdominio puede verse como una especialización de un dominio de nivel anterior. Por ejemplo, “mail.example.com” es un subdominio de “example.com“, que a su vez lo es del TLDcom“.

Los servidores con autoridad sobre los TLD son los llamados “root servers” (o “servidores raíz“) del sistema. Actualmente ha 13 servidores raíz, que controlan la gestión de la resolución de nombre en todo Internet, es decir, un ataque [1][2] a los servidores raíces, provocaría la caída "aparente" de Internet, puesto que no podrían resolverse los nombres de dominio, y la mayoría de las aplicaciones en la actualidad no serían capaces de funcionar.


Ejemplo: Capturar una petición DNS a www.seguridadparatodos.es

1. Eliminar la cache DNS de nuestro equipo, en equipos windows el comando es el siguiente:

 C:>  ipconfig /flushdns

2. Establecer el filtro para capturar solo tráfico UDP, en el puerto 53, en la aplicación de análisis de tráfico de red (wireshark), el valor del filtro es:

" udp.port == 53"

3. Debido a que normalmente nuestro router, se encarga de resolver los nombres de dominio, es por ello que solamente capturamos una parte de la comunicación:

1-> petición de resolucion (Query) www.seguridadparatodos.es
2-> el router recibe la petición, y reenvia al servidor DNS del ISP (proveedor de servicios): www.seguridadparatodos.es
3-> el ISP examina la www.seguridadparatodos.es, extrae: seguridadparatodos.es y envia una pregunta a un servidor DNS Raiz (root) "."
4-> el DNS Raiz comprueba la consulta (query): seguridadparatodos.es, y deriva su respuesta al ".es".
5-> El ".es" localiza el host,  y devuelve (awnser) www.seguridadparatodos.es -> IP
6-> todos los paquetes vuelven hasta el router, quien se lo comunica a nuestro equipo.
7-> El navegador muestra la página web. Proceso se realiza en cuestión de microsegundos.


Una vez que sabemos como funcionan el sistema DNS, creo que es muy interesante saber, con más detalle que tipo de información puede registrarse y almacenarse en los servidores DNS. Para ello, en cada zona de autoridad se dispondrá de registros de distintos tipos. Entre los más importantes se encuentran:
  • A (Address): Este registro se utiliza para traducir nombres de hosts del dominio en cuestión a direcciones IP.
  • CNAME (Canonical Name): El nombre canónico es un alias para un host determinado. (No define una dirección IP, sino un nuevo nombre.)
  • NS (Name Server): Especifica el servidor (o servidores) de nombres para un dominio.
  • MX (Mail Exchange): Define el servidor encargado de recibir el correo electrónico para el dominio.
  • PTR (Pointer): Especifica un “registro inverso“, a la inversa del registro A, permitiendo la traducción de direcciones IP a nombres.
  • TXT (Text): Permite asociar información adicional a un dominio. Esto se utiliza para otros fines, como el almacenamiento de claves de cifrado, “DomainKeys” o “Sender Policy Framework“, trataremos este tema en artículos posteriores.

 Los mas utilizados son CNAME, para configurar por ejemplo:
  • www.seguridadparatodos.es -> TIPO A: registro de la dirección IP a la que apunta.
  • seguridadparatodos.es -> TIPO CNAME alias del registro anterior.
Si quiere utilizar un servidor de correo electrónico con tu propio dominio (DNS), el ajuste que se tendrá que realizar en el servidor es incluir un nuevo registro DNS, TIPO MX, que apunte a la dirección IP del servidor de correo y se le asignarán una prioridad.

Por ejemplo, puedes utilizar Google Apps, para configurar de forma gratuita, hasta un máximo de 10 usuarios, un servicio de correo electrónico con tu propio nombre de dominio. Aquí os dejo un enlace al tutorial de Google.


En la próxima entrega, os contaremos los "problemas de seguridad" y las medidas de protección existentes.

0 comentarios:

Publicar un comentario