Saltar la navegación

Servidor DNS esclavo

Los servidores DNS esclavos son necesarios pues el servicio DNS, hoy en día, es crítico, y debe funcionar siempre, por lo que al menos tendremos un servidor DNS maestro y otro esclavo por seguridad. Es posible disponer de múltiples servidores maestro, pero los cambios de los ficheros de zona deben ser realizados en todos los maestros. Lo normal es usar un modelo con un solo maestro y uno o varios esclavos, pues este modelo permite la actualización automática entre el maestro y los esclavos, por lo que solo debemos mantener los ficheros de zona del servidor maestro.

Para que BIND funcione como esclavo del dominio o zona asir.com, dentro de named.conf, tendremos que crear la siguiente instrucción zone:

zone "asir.com"  in  {
type slave;
file "db.slave.asir.com";
masters { 192.168.1.10; };
}

El fichero db.slave.asir.com contendrá todos los RR que recibe por transferencia de la zona asir.com.

La instrucción masters indica la dirección IP del servidor maestro de donde se recibirá el fichero de zona, podría haber sido una lista de IP, pues como se ha dicho anteriormente, podría haber más de un servidor maestro, pero lo normal es tener uno solo.

La actualización de los servidores DNS esclavos depende de tres tiempos indicados en el RR SOA: tiempo de refresco, de reintento y de expiración. Un servidor esclavo intenta actualizar su fichero de zona transcurrido el tiempo de refresco. Si en el intento de conectar con el servidor maestro se produce algún fallo, el servidor esclavo lo intentará de nuevo transcurrido el tiempo de reintento, y así estará hasta que lo consiga o transcurra el tiempo de expiración, en este último caso, el servidor esclavo dejará de responder a consultas sobre la zona de la que no ha podido actualizarse.

Los servidores esclavos, al igual que los maestros, son autoritarios de las zonas que sirven mientras tengan sus ficheros de zonas actualizados. Esto lo podemos utilizar para hacer una configuración más segura en la que el servidor DNS maestro no será público. Los servidores DNS públicos son los que están en los registros NS, y los usuarios pueden hacer consultas para descubrir cuáles son y luego atacarlos. La configuración que se propone es que los registros NS de una zona solo apunten a servidores esclavos (son autoritarios) y el servidor maestro solo constará en la instrucción masters del fichero named.conf de los servidores esclavos para que puedan actualizarse. De esta forma aseguramos el servidor maestro pues no sabrán cuál es su IP, el fichero de zona, por tanto, estará más seguro de ser corrompido. En cambio, si corrompen un servidor secundario, se podrá actualizar rápidamente desde el maestro que está seguro. De forma gráfica, la configuración maestro/esclavo normal es la siguiente:

Configuración maestro/esclavo normal

y se propone la siguiente configuración más segura:

Configuración maestro/esclavo segura

Como ya se explicó, BIND permite los mensaje NOTIFY para que se produzca más rápidamente la propagación de los cambios de la zona. Pero estos mensajes representan una amenaza potencial de seguridad, y para minimizarla, BIND, por defecto, solo permite que los servidores esclavos acepten mensajes NOTIFY del servidor maestro (se encuentra en la instrucción masters). Si se quiere que un servidor esclavo acepte mensajes NOTIFY de otros equipos, se pueden especificar en la instrucción allow-notify dentro de named.conf.

Licencia: licencia de software libre GPL