Solución
Configurar los servidores DNS de tal manera que sólo se permitan las consultas recursivas a una cantidad limitada de hosts a los que se tiene confianza o, en el caso de ser un DNS que no tiene ningún dominio al cual permitirle consultas recursivas, bloquear la recursión por completo.
A continuación se proveen algunos ejemplos de configuracion donde se elimina o se limita la recursion.
En el caso de ser un servidor BIND 8/9 el cual no tiene ningún dominio de menor jerarquía al cual tengamos estrictamente que permitirle realizar consultas recursivas se realizaría lo siguiente en el archivo de configuracion de BIND :
options {
directory "/var/named";
recursion no;
};
En el caso de Microsoft DNS se haría añadiendo un registro de tipo REG_DWORD llamado NoRecursion con el valor 1 a la siguiente llave del registro
HKEY_LOCAL:MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
El siguiente ejemplo es útil en el caso en que tengamos dominios de menor jerarquía a los cuales tengamos que permitirles la recursión siempre y cuando esos hosts sean de nuestra confianza. Para BIND 8/9 se realozaria de la siguente manera:
acl recurseallow { x.x.x.x; y.y.y.y; z.z.z.z; };
options {
directory "/var/named";
allow-recursion { recurseallow; };
};
En el caso de microsoft DNS la modificación sería la sigiente:
En la consola de administración de DNS, dar click derecho en el objeto DNS e ir a Propiedades
Click en Forwarders tab, habilitar la check box Enable forwarders e incluir en la caja de texto las ips de las cuales aceptamos recursión