bto3

DNS es el acrónimo en inglés para Sistema de Dominio de Nombres, en otras palabras es un medio que nos permite traducir una dirección web a IP y viceversa, por ejemplo linux.org.sv a la IP 68.178.241.185. Esto se pensó con el propósito de que la navegación en Internet fuera cómoda.

En forma general, existen dos tipos de servidores DNS, que son los servidores recursivos y los servidores autoritativos, y es posible que ambos se ejecuten en la misma máquina.

El autoritativo es un servidor que conoce información acerca de uno o más dominios (lo que normalmente se denominan zonas), por lo general es uno o dos dominios, y no sabe información sobre otros dominios.

El recursivo es un servidor capaz de encontrar la respuesta a cualquier consulta DNS, y puede encontrar información acerca de casi todos los dominios, por ejemplo google.com, linux.org, gentoo.org . Generalmente estos servidores están abiertos a cualquier IP , en otras palabras, pueden ser consultados por cualquier maquina en el mundo.

El problema es que muchas entidades hacen que el mismo servidor actúe tanto como autoritativo como recursivo. Una práctica sana es tenerlos separados, lo cual previene el problema denominado “envenenamiento de cache”.
Si es imposible tenerlos separados, es recomendable que permitan recursión a solo un rango de IPs “confiables”.

Para clasificar la inseguridad de tener un servidor DNS recursivo abierto a internet es comparable a tener un “Open Proxy” en un servidor proxy o un “Open Relay” en un servidor de correos. Simplemente era algo que hasta cierta fecha no fue aprovechado por “mentes siniestras” pero que ahora es aprovechado y utilizado para fines oscuros.

Posibles riesgos de tener un servidor recursivo en Internet
Ser una víctima de ataques de envenenamiento de caché, la cual hace que el servidor afectado almacene información falsa. Dicha información puede ser utilizada para comprometer la seguridad de los clientes que hacen consultas al servidor afectado, por ejemplo redireccionar google.com a un sitio con malware, o redireccionar sitios de bancos con la intención de obtener información confidencial del usuario.

El servidor podría ser ocupado para un ataque DoS distribuido el cual puede tener las siguientes consecuencias:

  • La gran cantidad de consultas DNS recibidas por el servidor y la gran cantidad de respuestas enviadas a la víctima pueden consumir una considerable cantidad de ancho de banda
  • Problemas legales ya que si, por ejemplo, un equipo de un ISP ataca a un cliente, seguramente el cliente lo demandará

Seguridad
Debemos proteger nuestro DNS de dos problemas comunes
a) No permitir recursividad a toda Internet, si no que solamente a nuestros propios clientes
b) No permitir transferencias de zona a otro host que no sea nuestro servidor DNS secundario
Para lo primero se necesita crear una lista de acceso (ACL) con las IP permitidas a usar nuestro DNS:

vim /etc/bind/named.conf.options

y agregamos lo siguiente FUERA DEL CLAUSE options:

 

acl “prueba-redlan” { //Nombre de la lista
192.168.1.0/24; //Red LAN interna
200.84.26.28; //Dirección IP del servidor DNS.
127.0.0.1; //Localhost
};

Lo siguiente va dentro de options { }

allow-recursion {
prueba-redlan;
};
allow-transfer {
127.0.0.1; // localhost
200.1.123.7; // secundario.nic.cl -> DNS secundario permitido para transferir zonas
};

 

Recuerda:

Un servidor autoritativo no debe ser recursivo, pues está sujeto a ataques de Cache Poisoning. Dicho ataque consiste en alterar la información entregada por el DNS mediante respuestas inválidas, pues un servidor recursivo averigua y memoriza las respuestas que recibe.

Solución: Debe deshabilitarse la recursividad en el software que use para servir DNS. Si la necesita, separa las funciones de Servidor de nombres autoritativo de las de Servidor de cache.

Fuentes:

Anuncios