El DNS es sin dudas uno de los servicios más importantes de Internet ya que actúa como si fuera una guía telefónica, enlazando dominios con IPs, de manera que podamos acceder fácilmente a un sitio web. Dada su importancia, es imprescindible que esté bien protegido, por eso en este artículo te contaremos cómo mejorar la seguridad DNS, tanto a nivel de dominios como de servidores DNS.
Contenido
¿Qué es DNS?
Como ya lo decíamos, el servicio de DNS (Domain Name System, o Sistema de Nombres de Dominio en español) es de lo más críticos que existen en la red, y es gracias a él que podemos acceder a una web con solo escribir su dominio. Si no hubiera DNS, para acceder a un sitio web tendríamos que escribir la IP del servidor, lo cual sería muy engorroso y difícil de recordar.
En cambio, gracias al DNS en vez de recordar IPs solo tenemos que recordar nombres, lo cual para las personas es mucho más sencillo que recordar números de direcciones IP.
Dicho de manera un poco más técnica, la función del DNS es convertir un nombre de dominio en una dirección IP, de forma que nuestro dispositivo se pueda comunicar con el servidor que aloja al dominio en cuestión.
Si bien este tipo de sistemas tienen un rol muy importante en Internet, lo cierto es que la seguridad DNS normalmente no recibe el foco de atención que debería. A menudo muchas organizaciones se preocupan por usar servidores seguros, firewalls, WAFs y más, pero dejan el servicio DNS expuesto a muchas amenazas.
Importancia de la seguridad DNS
Cualquier acción normal que realizamos al usar Internet, como por ejemplo ingresar a un sitio web o enviar un email, comienza con una consulta DNS. Esta consulta DNS la realiza nuestro dispositivo automáticamente, y en realidad normalmente no nos enteramos de ello, pero no deja de estar ahí.
Si un atacante lograra comprometer la zona DNS de un dominio, o peor aún, un servidor DNS entero, sería capaz de dirigir a los visitantes hacia sitios web falsos, interceptar el envío de información sensible, tirar abajo operaciones enteras, y mucho más.
Lo cierto es que las consecuencias de tener una mala seguridad DNS pueden ser muy severas, y pueden dar lugar a daños para una marca, denuncias penales, pérdidas monetarias y mucho más.
Las amenazas a nivel DNS son varias, incluyendo por ejemplo envenenamiento de caché DNS, secuestro de DNS, y el uso de servidores DNS abiertos como parte de ataques DDoS.
Para cualquier sitio web, mantener una seguridad DNS adecuada es imprescindible, así que veamos entonces cómo se puede lograr esto tanto a nivel de nuestro dominio como también a nivel de un servidor DNS.
Seguridad DNS para dominios
Si queremos mejorar la seguridad de nuestro dominio a nivel DNS entonces hay varias acciones que podemos llevar a cabo.
Quizá la primera y más recomendada es utilizar DNSSEC. Este es un registro especial que asegura la integridad y autenticidad de los registros de nuestra zona DNS. Básicamente, consiste en el uso de una llave criptográfica para asegurar que la respuesta DNS viene de un servidor válido.
Para usar DNSSEC puedes solicitarlo a tu registrante de dominios y/o a tu proveedor de hosting. El proceso básicamente consiste en generar las llaves criptográficas y publicarlas en tu zona DNS junto con un registro DS en la zona padre.
En segundo lugar, recomendamos la utilización del registro CAA. Lo que hace este registro es indicar cuáles entidades certificadoras están autorizadas a emitir un certificado SSL para el dominio. Esto es genial porque añade una capa de seguridad a tu dominio para evitar que alguien pueda generar un SSL con fines maliciosos. A modo de ejemplo:
tudominio.com. IN CAA 0 issue "letsencrypt.org"
Con este registro la única entidad autorizada a emitir certificados para el dominio “tudominio.com” es Let’s Encrypt.
Otros registros que no debemos pasar por alto son el SPF, DKIM y DMARC. Estos son registros que actúan a nivel de correos principalmente, y sirven más que nada para autenticar nuestros emails.
SPF se utiliza para indicar cuáles servidores tienen autorización para enviar los emails de nuestro dominio. DKIM se utiliza para cifrar nuestros correos criptográficamente. Y finalmente DMARC es utilizado para indicar a un receptor que se debe hacer si se recibe un correo de nuestro dominio pero que viene de una fuente no autorizada.
Hoy en día estos registros suelen venir activos por defecto en la mayoría de los sistemas como cPanel, pero aún así siempre es recomendable ver que efectivamente los tengamos en uso, o solicitar a nuestro proveedor de hosting que los active por nosotros.
Si queremos llevar la seguridad DNS de nuestro dominio un poco más allá, podemos realizar auditorías y controles periódicos de nuestra zona DNS, incluso existen servicios que controlan esto por nosotros y nos alertan de posibles cambios, como DNS Spy, o también podemos realizar una auditoría usando servicios gratuitos como DNS Audit.
Y finalmente un punto importante que a veces se pasa por alto: remover registros DNS innecesarios. Cuantos más registros tengamos, mayor será nuestra superficie de ataque, así que es imprescindible remover registros que no sean absolutamente necesarios, así como también quitar registros viejos que hayan quedado “olvidados” y no estén en uso.
Cómo mejorar la seguridad de un servidor DNS
Ahora que vimos algunos mecanismos de protección que pueden ser usados a nivel de nuestro dominio, vamos a llevar las cosas al siguiente nivel y ver cómo se puede mejorar la seguridad DNS del lado del servidor.
Lo primero y principal es disponer de un servicio DNS que sea redundante. Como ya decíamos, el DNS es uno de los pilares de Internet y por supuesto no queremos que nuestro servidor DNS se caiga, pero si sucediera es necesario que haya un plan B, que en este caso se logra fácilmente con un sistema redundante.
En un sistema DNS redundante, se utiliza un servidor a modo de DNS primario y otro a modo de DNS secundario, de forma que ambos pueden trabajar en conjunto, y en caso de que uno se caiga el otro estará disponible para atender las consultas.
En segundo lugar, debemos hacer uso de un sistema DNS bien establecido, como puede ser por ejemplo BIND o PowerDNS si estamos alojando el sistema en servidores propios. No olvidemos además que estos sistemas deben recibir actualizaciones periódicamente para asegurar que dispongan de los más recientes parches de seguridad.
Otro punto muy importante es limitar la transferencia de zonas. Mediante AXFR es posible realizar la transferencia de una zona completa de un servidor DNS a otro, así que debemos limitar esta acción solo a servidores confiables.
Implementar una fuerte protección contra ataques DDoS también es buena idea, ya que los servidores DNS a menudo son víctimas de ataques de este tipo, por lo que si tenemos un buen anti-DDoS en juego estaremos mejorando nuestra seguridad DNS.
Generar respaldos es otra forma de protegernos, ya que esto asegura que dispondremos de copias de seguridad de la zona DNS, lo cual será imprescindible en caso de que una zona se corrompa o si hay fallos en el sistema DNS, y es muy importante que estos respaldos se almacenen no sólo de forma local, sino también remota.
Un detalle que no debemos olvidar es el de restringir los accesos a la zona DNS solo al personal autorizado. Por ejemplo los administradores de sistemas o quienes tengan roles similares es normal que posean accesos de este tipo, sin embargo alguien que trabaje por ejemplo en el área de recursos humanos no debería tenerlo, solo se estaría convirtiendo en una amenaza interna.
En términos generales, cualquier mejora de seguridad para el sistema operativo de un servidor también será una mejora para la seguridad DNS si hay allí un servicio DNS alojado. Esto puede ir desde simples actualizaciones del sistema hasta la implementación de firewalls y herramientas especializadas en seguridad.
Finalmente, de ser posible recuerda mantener tu sistema DNS en servidores o VPS especialmente dedicados para ello. Si bien es normal a veces tener el DNS en el mismo servidor que se tiene el sitio web, de ser posible se recomienda que se utilice un sistema externo, contando con la mínima cantidad de software y puertos abiertos, solo lo que sea realmente imprescindible.
Conclusión
Como hemos visto en esta oportunidad, el servicio DNS cumple un rol realmente crítico en el funcionamiento de Internet, y por eso protegerlo no debería ser una opción, sino una prioridad. Tanto si administras tu propio sitio web o si estás a cargo de una infraestructura empresarial, reforzar la seguridad DNS es un paso imprescindible para evitar riesgos que pueden ir desde ataques DDoS hasta el secuestro de tráfico o la suplantación de identidad.
Medidas como implementar DNSSEC, configurar registros como CAA, SPF o DKIM, mantener servidores actualizados y limitar accesos son pasos que marcan una gran diferencia. La seguridad DNS va más allá de lo técnico, ya que es parte de la reputación, la continuidad y la confianza de tu proyecto o de tu empresa en Internet, y dedicarle atención hoy puede ahorrarte grandes problemas mañana.