Estamos en el 2017 y con cada año que pasa, los ataques de los hackers son cada vez más avanzados, en los últimos años se han detectado vulnerabilidades en el DNS (documentación al respecto https://tools.ietf.org/html/rfc3833 ) que permiten que un hacker suplantar la identidad de un servidor, el objetivo del ataque es simple: tomar el control de la sesión para, por ejemplo, enviar al usuario una copia de un siti real pero será una web fraudulenta, con el fin de obtener los datos de la cuenta y la contraseña.
Estas vulnerabilidades han aumentado el interés por introducir una tecnología denominada Extensiones de seguridad del DNS (DNSSEC, la sigla en inglés) para proteger este aspecto de la infraestructura de Internet.
¿Cómo funciona DNSSec?
DNSSEC trabaja firmando digitalmente todos los registros de nuestro servidor DNS, esto usando criptografía de clave pública como RSA y DSA, además también hacen uso de algoritmos de hash como SHA-1, SHA256 y SHA512 para proporcionar integridad (que los datos no se hayan modificado durante la transmisión).
Las DNSSEC usan un modelo de confianza estricto y esta cadena de confianza se transmite de la zona primaria a la secundaria. Las zonas de niveles superiores (primarias) firman, o avalan, las claves públicas de las zonas de niveles inferiores (secundarias). Los servidores de nombres autoritativos de estas diversas zonas pueden ser administrados por «Registrars» (como Godaddy, Enom, Namecheap), proveedores de servicios de internet – ISP o compañías de alojamiento web.
¿Porqué es importante?
Cuando un usuario final intenta ingresar a mi blog, la resolución de código auxiliar del sistema operativo del usuario solicita la dirección IP del sitio web a un servidor de nombres recursivo. Luego de que el servidor solicita este registro, también solicita la clave de la DNSSEC asociada a la zona. Esta clave permite que el servidor verifique que el registro de dirección IP recibido es idéntico al registro en el servidor de nombres autoritativo.
Si el servidor de nombres recursivo determina que el servidor de nombres autorizado envió el registro de direcciones y este no fue modificado durante su transmisión, entonces resuelve el nombre de dominio y el usuario puede acceder al sitio. Este proceso se llama validación. Si el registro de direcciones se ha modificado o no proviene de la fuente especificada, el servidor de nombres recursivo no permite que el usuario llegue a la dirección fraudulenta.
Gracias a esto se pueden minimizar los ataques de tipo «man in the middle».
¿Tiene algún costo?
Depende de tu proveedor de dominios, pero en general no es así.
¿Cómo se configura?
Es muy simple pero no fácil, ya que esto depende enteramente de la tecnología que use tu servidor DNS (como Windows o Linux, y el software DNS como named, MaraDNS, BIND, Microsoft DNS etc…) la complejidad de instalación dependerá por tanto de la tecnología usada.
Sin embargo si usas CloudFlare como es mi caso, no tienes que preocuparte por la configuración ya que tienes la opción de habilitarla desde tu panel de manera muy sencilla. Al habilitarla CloudFlare te proveerá de los datos necesarios los cuales tendrás que pedir o incluir a la configuración de tu proveedor de dominios.
De igual forma para cada proveedor de nombres de dominio es distinto el procedimiento, pero casi en todos ellos, es similar el procedimiento y te pedirán como mínimo:
- Key tag.
- Algorithm.
- Digest Type.
- Digest.
Los cuales CloudFlare te proveerá al activar la opción.
Una vez configurado solo tienes que verificar que todo esté funcionando correctamente (por ejemplo con la herramienta: https://dnssec-debugger.verisignlabs.com)
El 17-jul-2015 Registry.MX liberó el servicio DNSSEC para los dominios .MX
Registry.MX es la división de NIC México encargada de la administración del nombre de dominio territorial .MX (ccTLD, country code Top Level Domain); código de dos letras asignado a cada país, según el ISO 3166, en este caso México.
Por tanto los dominios: mx, org.mx, edu.mx, gob.mx, com.mx y net.mx tienen soporte de DNSsec.