28 ene 2011

Transferencias de Zona (I de II)

=========================================================Transferencias de Zona (I de II)Transferencias de Zona (II de II)=========================================================

Buenas a todos, en la cadena de posts que hoy damos comienzo vamos a hablar sobre el DNS (Sistema de nombres de dominio) y su posibilidad para dividir el espacio de nombres DNS en varias zonas, para delegar la administración. Tras explicar el concepto, hablaremos sobre las transferencias de zona y su seguridad.Como una imagen vale más que mil palabras, para comenzar os hemos dibujado un diagrama muy ilustrativo sobre cómo funcionan las zonas, en él os mostramos nuestro dominio flu-project.com, con su nombre de dominio “flu-project” dentro de la zona principal. Por otro lado tenemos tres subdominios “blog”, “www” y “ftp” (hipotéticos), estos subdominios pueden configurarse dentro de la zona principal, o en otra separada, como por ejemplo el caso del subdominio “ftp”, que estaría administrado por la zona “prueba”.Para que una zona nueva delegada de la principal, por ejemplo la zona prueba, funcione, es necesario configurar algunos recursos, para que tenga información sobre la delegación a los otros servidores de DNS autorizados. Es de extrema importancia que las zonas estén disponibles desde varios servidores de DNS por temas de disponibilidad.Para que otros servidores además del principal puedan alojar zonas, se crearon las transferencias de zona, que se encargan de hacer la replicación de todas ellas y de sincronizarlas.Ahora bien, ¿cuándo se realizan estas transferencias de zona? Tenemos cuatro posibilidades:
  1. La primera de ellas es que se instale o inicie un nuevo servidor DNS y se configure en una zona existente.
  2. La segunda, cuando finaliza el plazo de actualización de una zona.
  3. La tercera, cuando se produce algún cambio en una zona, y es necesario actualizar para replicar los cambios.
  4. Y la última, cuando manualmente se solicita una transferencia de zona.
Bien, una vez entendido bien el concepto de zona, vamos a llevarlo a la práctica. Vamos a abrir una consola de comandos de Windows y ejecutaremos el programa “nslookup”, para Linux también existe. Nslookup es una aplicación de línea de comandos que permite probar y solucionar problemas en los servidores DNS. Nosotros lo utilizaremos para activar una transferencia de zona de manera manual.Vamos a iniciar Nslookup en modo interactivo, para ello basta con abrir un CMD y escribir el comando “nslookup”:Ahora vamos utilizar la instrucción SET TYPE para consultar datos de tipo DNS (NS), para ver otros tipos de consultas podéis utilizar la ayuda poniendo una interrogación ?:Ahora buscaremos los servidores de DNS de alguna organización:Ya sabemos los servidores DNS de ese dominio, ahora procederemos a ponernos como uno de ellos:Ahora ya nos queda tan solo para realizar la transferencia de zona ejecutar el comando LS contra el dominio que queramos:Y disfrutar de todo el listado de máquinas que contienen las zonas:Ese listado que veis en la imagen, que bien podría ser una captura de la película Matrix =), lo he redirigido a un fichero y he contado más de 20000 máquinas, como veis es una transferencia de zona completa de una organización, que reporté hace un par de años y ahí sigue para disfrute del personal... La transferencia de zona la hemos realizado desde fuera de la red interna debido a una mala configuración por parte de la organización. Esto no debería ocurrir, por motivos de seguridad obvios, y es que cualquiera desde su casa puede hacerse con todas las IP y dominios internos de una organización.Para que estuviese bien configurado, nos debería haber respondido al comando LS con algo como lo siguiente:El próximo día os enseñaremos a realizar la configuración correctamente para evitar que sucedan estas cosillas.Saludos!

15 comentarios:

  1. Muy interesante Juan Antonio.Otras veces he intentado hacer transferencias de zona pero al final siempre lo dejo, muchos administradores de redes hacen bien sus deberes (aunque se ve claramente que no todos). Aunque yo he intentado utilizar DIG en vez de nslookup. Me parece más flexible que nslookup.De todas formas si difuminas ciertas direciones IP en las imágenes te recomiendo que lo hagas algo mejor en las próximas. Todos podemos ver la IP del servidor al que le estas haciendo la transferencia de zona ¬¬

    ResponderEliminar
  2. Gracias @Felipower!¡Vaya! Qué descuido por mi parte haber difuminado alguna IP mal.... }=P

    ResponderEliminar
  3. Me sorprende que en una universidad tengan este descuido.... ;

    ResponderEliminar
  4. Te sorprenderías k4no de todas las empresas e instituciones que tienen una mala configuración de esto... muy sorprendente... pero también decir que cada vez, al menos lo de la transferencia de zona, pasa menos... pero sigue ocurriendo,¿Conocéis cenatic? ahi lo dejo xD

    ResponderEliminar
  5. y yoigo.com y los40.com y podemos seguir todavía... jeje

    ResponderEliminar
  6. y... umich.edu sigue buscando alguna mas xD

    ResponderEliminar
  7. Vale, de los que habeis comentado (centatic.es, yoigo.com, los40.com y umich.edu) no he conseguido más que "The 'ls' command is not implemented." en los dns que intento hacerlo.¿Estáis seguros? ¿estoy haciendo algo mal?

    ResponderEliminar
  8. Sí @felipower, lo acabo de comprobar y siguen funcionando.Mira, desarrollé el año pasado una herramienta (Anubis) que entre otras muchas cosas, automatiza las transferencias de zona, y con un solo clic puedes realizar una Tdz contra el dominio que quieras, todo automatizado. Puedes descargarla gratis desde el siguiente enlace:http://elblogdecalles.blogspot.com/p/anubis.htmlSi tienes problemas con la descarga dímelo.Un día de estos hablaré de ella en el blog.saludos!

    ResponderEliminar
  9. Felipower, yo haría esto rápido:nslookupset q=allcenatic.esmiras el ns de un dnsluego...server al dns para cambiarte...luego ls cenatic.es y debería ir...Saludos! ;)

    ResponderEliminar
  10. Con el ejemplo de cenatic.es te pongo lo que encuentro.harvester@harvester-laptop:~$ nslookup> set allDefault server: 192.168.1.1Address: 192.168.1.1#53Set options: novc nodebug nod2 search recurse timeout = 0 retry = 3 port = 53 querytype = A class = IN srchlist = > set type=ns> cenatic.esServer: 192.168.1.1Address: 192.168.1.1#53Non-authoritative answer:cenatic.es nameserver = ns1.losdns.net.cenatic.es nameserver = ns2.losdns.net.Authoritative answers can be found from:ns2.losdns.net internet address = 91.142.209.254ns1.losdns.net internet address = 91.142.208.254> server ns1.losdns.netDefault server: ns1.losdns.netAddress: 91.142.208.254#53> ls cenatic.esThe 'ls' command is not implemented.> server ns2.losdns.netDefault server: ns2.losdns.netAddress: 91.142.209.254#53> ls cenatic.esThe 'ls' command is not implemented.> Como ves intento usar los dos DNS. Respecto a Anubis, me lo bajaré y trastearé con él, aunque me meto en Windows con poca frecuencia.Por cierto, lo suyo sería hablar de esto en el foro no en los comentarios...

    ResponderEliminar
  11. vale, el error ta en el nslookup de linux, por lo q veo... mmm el equivalente... pruebalo en windows, en linux debe haber un equivalente...Saludos!

    ResponderEliminar
  12. Ahí va un poco de info: http://linux.about.com/od/commands/l/blcmdl8_nslooku.htm

    ResponderEliminar
  13. He abierto un hilo en el foro sobre el tema, podéis empezar a comentar aquí:http://www.flu-project.com/forum?mingleforumaction=viewtopic&t=90#postid-516saludos!

    ResponderEliminar
  14. [...] Transferencias de Zona (I de II) Transferencias de Zona (II de II) [...]

    ResponderEliminar
  15. mas facil todavia:Quizás más sencillo:1) nslookup> set type=ns [preguntais las dns de los dominios que os interesen]2) host -l dominio servidor_dns_dominioEj:host -l cenatic.es ns1.losdns.nethost -l uam.es ns0.uam.eshost -l yoigo.com dns02.yoigo.esSaludos!

    ResponderEliminar