Cómo de crítico era el fallo en los servidores DNS (I)

Publicado por Iñaki a las 16:05 Miércoles 16 de julio de 2008

Ocurría la semana pasada: Fallo crítico en DNS obliga a parchear toda Internet. No es que el fallo sucediera la semana pasada, ya que es un error tan viejo como Internet, pues proviene de la implementación del protocolo DNS. De hecho, mucho antes ya habían sido descubiertos por distintas personas pequeños errores en dicho protocolo. Sin embargo, fue la semana pasada cuando Dan Kaminsky descubrió que la unión de todos estos pequeños errores daba como resultado un enorme agujero de seguridad que afecta a toda Internet. Pero, ¿por qué? ¿Tan grave es? Pues sí, mucho. Y para entenderlo, pasaré a explicar por encima el funcionamiento del protocolo DNS.

Cada computador conectado a Internet tiene asociado a él idealmente una dirección IP única (técnicamente no es así, pero eso ya es otra historia) del tipo A.B.C.D, donde A, B, C y D son un número entre 0 y 255 (ej. 192.168.1.1). Esta IP es, digamos, como la dirección de nuestra casa para Correos. Entonces, cuando queremos acceder a Google en español, por ejemplo, tendremos que llamar a la dirección 66.102.9.99 (pinchad, y comprobad que os lleva a www.google.es). Pero, ¿cómo vamos a recordar las direcciones de todas las páginas que visitamos? Es mucho más fácil acordarse de “www.google.es”, ¿verdad? Pues es ahí donde entra en juego el protocolo DNS de resolución de nombres de dominio.

Nunca introducimos una IP directamente en el navegador: en lugar de eso, introducimos un nombre de dominio como el de “www.google.es”. Ante esta situación, es nuestro ordenador el encargado de buscar la IP correcta (66.102.9.99) para “llamar” a Google. Para eso se inventaron los servidores DNS, que son unas bases de datos repartidas a lo largo y ancho de Internet que albergan la traducción entre nombres de dominio y direcciones IP. Así que nuestro ordenador solicitará a uno de estos servidores de nombres (uno cercano que viene pre-configurado) que nos devuelva la dirección IP de “www.google.es”. Como hay millones y millones de máquinas conectadas a Internet, tener una traducción de todas ellas en un mismo lugar sería muy ineficiente por el volumen de datos a almacenar, por el coste que tendría cada búsqueda y porque cada máquina de Internet realiza miles de solicitudes DNS al día. Por ello, la escalabilidad es el gran triunfo del protocolo DNS.

Jerarquización de los nombres de dominio

Esta inmensa base de datos de la que hablamos está partida en trozos y dividida entre montones de servidores DNS de manera jerárquica. En la cima del árbol, existen más de 1301 servidores DNS raíz (root servers) repartidos por todo el mundo que albergan las direcciones IP de los servidores DNS encargados de los pocos cientos de dominios de primer nivel existentes, como por ejemplo los ‘.es’, ‘.com’, ‘.net’, etc. Éstos, a su vez, tienen recogidas las direcciones de los subdominios, como por ejemplo ‘rediris.es’, ‘google.es’, etc. Los últimos, a su vez, engloban más subdominios, como por ejemplo ‘www.rediris.es’, ‘ftp.rediris.es’, etc. Lo podemos ver mejor en el siguiente gráfico:

Como veo que esto va a quedar un poco largo, mejor lo divido en entregas. En esta primera anotación ya hay suficiente información por hoy. En futuras entregas repasaremos cómo funciona el protocolo DNS para llegar al meollo de la cuestión: la caché de los servidores DNS, en qué consiste el famoso agujero de seguridad y qué han podido hacer para paliarlo.

1 Habitualmente se dice que hay 13 root servers identificados de la A a la M, y esto da lugar a confusiones. En realidad, hay más de 130 localizaciones de estos root servers, más de 130 máquinas físicas que albergan root servers. Esto sería como decir que Google sólo tiene un servidor web. Evidentemente, para el volumen de tráfico que tiene que soportar, tiene réplicas de la misma web en máquinas diferentes por todo el mundo. Para comprobarlo, haremos lo siguiente: (desde Windows) vamos a Inicio, y le damos a Ejecutar… Tecleamos “nslookup” (sin las comillas) y presionamos Enter. En la nueva ventana, tecleamos “www.google.es” y volvemos a presionar Enter. Lo que hace este programa es solicitar al servidor DNS la IP de “www.google.es” y mostrarla por pantalla. En el campo “Addresses:” nos muestra las IP de la página solicitada. Como comprobaréis, hay más de una:

www.google.es
Servidor: -------------------
Address: -------------------

Respuesta no autoritativa:
Nombre: www.l.google.com
Addresses: 216.239.59.147, 216.239.59.99, 216.239.59.104, 216.239.59.103
Aliases: www.google.es, www.google.com
↓ Adelante, ilústranos

Comentáridos

  1. Pingback: Cómo de crítico era el fallo en los servidores DNS (II) | Enchufa2

  2. Pingback: Uso de OpenDNS, para mayor seguridad | Enchufa2

  3. Pingback: MiniNoticias » Blog Archive » Cómo de crítico era el fallo en los servidores DNS

  4. 1 dns dijo:

    dentro a la bandeja de correo , me muestra los correos , pero al marcarlos para verlos , no los muestra

    Responder
  5. Pingback: Cómo de crítico era el fallo en los servidores DNS (III) | Enchufa2



Los comentarios están cerrados.