Introducción
Recientemente se ha puesto de modo algunos nuevos tipos de ataques DDoS que involucran el uso de servidores DNS mal configurados, en este articulo diagnosticaremos nuestro servidor DNS para ver sin acepta conexiones recursivas y solucionaremos el problema.
El procedimiento aquí descrito ha sido testeado en BIND 8, pero debe trabajar sin problemas en BIND 9 también
Al asegurar tu servidor DNS obtendremos dos grandes ventajas:
Nuestro servidor no será usado en ataques (tanto directos como a terceros)
Solo responderá a dominios alojados en nuestro server lo que bajará la carga
Diagnostico
Para diagnosticar nuestro server recomiendo una excelente páina gratuita
http://www.dnsreport.com/
En el cuadro de la izquierda introduce tu dominio (sin www) y pulsa "DNS Report"
Estudia cuidadosamente la información de salida:
Un recuadro amarillo significa problemas no críticos
Un cuadro rojo significa un problema que requiere nuestra atención la linea "
Open DNS servers " Si el contenido es algo como:
Cita: ERROR: One or more of your nameservers reports that it is an open DNS server. This usually means that anyone in the world can query it for domains it is not authoritative for (it is possible that the DNS server advertises that it does recursive lookups when it does not, but that shouldn't happen). This can cause an excessive load on your DNS server. Also, it is strongly discouraged to have a DNS server be both authoritative for your domain and be recursive (even if it is not open), due to the potential for cache poisoning (with no recursion, there is no cache, and it is impossible to poison it). Also, the bad guys could use your DNS server as part of an attack, by forging their IP address. Problem record(s) are:
xx.xx.xx.xx
xx.xx.xx.xx
Quiere decir que tu servidor es vulnerable, de lo contrario puedes obviar el resto de este documento.
Arreglando un Servidor DNS "abierto"
NOTA: Estas instrucciones son solo para BIND, busca en google si estás usando algún otro servidor DNS
- Logueate a tu servidor como root
- Edita el archivo /etc/named.conf con tu editor favorito ejemplo: vi /etc/named.conf
- En la parte superior del archivo (primera linea) introduce lo siguiente:
Código:
acl local-net-addrs { 127.0.0.1; xxx.xx.xx.xx;};
donde xxx.xx.xx.xx es tu ip, si dispones de varias ips puedes ponerlas todas separadas por punto y coma(
o ponerlas en formaro cidr xx.xx.xx.xx/27
- Busca la sección "options" dentro del archivo named.conf e inserta la siguiente línea:
Código:
allow-recursion { local-net-addrs; };
- Elimina cualquier línea similar a:
- Guarde los cambios y reinicie el servico named
Ahora corra el test nuevamente para asegurarnos que ya no muestra el error y verifique que su servidor está resolviendo correctamente dominios internos y externos. esto puedes hacerlo usando el comando dig dominio.com
Listo ya tenemos un servidor DNS más seguro