Cuando usas HTTPS o SSL para navegar, consultar correo o usando algun otro programa estas haciendo que tu tráfico sea encriptado (generalmente)
Pero qué pasa con las consultas DNS ? Aun cuando el tráfico sea encriptado, incluso haciendo uso de una VPN tus consultas a los DNS va en plano.
Esto deja la puerta abierta no solo a ataques de spoofing o MitM (man-in-the-middle) sino que implica que tu proveedor de DNS pueda guardar un registro de tus consultas y ayudar a espiarnos a gobiernos e instituciones.
DNSCrypt nos viene a ayudar a proteger nuestras consultas DNS.
update: 02/02/2018
El proyecto original murio, quedaron como alternativas:
Qué és? Según wikipedia:
DNSCrypt es una implementación de DNSCurve, que sirve para cifrar el tráfico DNS entre el ordenador del usuario y los servidores de nombres de OpenDNS. La implementación de DNSCrypt en OpenDNS se puede realizar mediante la instalación del servicio DNSCrypt.org.
Este programa corre en *nix, OSX, Windows, Android, iOS y algunos routers, tanto el servidor
como el cliente tiene sus fuentes en github (https://github.com/jedisct1/dnscrypt-proxy)
con permisos para usar, copiar modificar y/o distribuir.
La instalación es simple (está en paquetes de ubuntu), está bien documentada y su puesta a punto es sencilla.
Básicamente su funcionamiento es:
El cliente traslada la consulta regular a una consulta autenticada, la reenvía a un servidor DNSCrypt y la respuesta la verifica y la reenvía al cliente si esta es genuina.
Interesanet es ver el protocolo QUIC (Quick UDP Internet Connections https://en.wikipedia.org/wiki/QUIC) interesante ver que esta relacionado con Chrome, SPDY y HTTP-2.
También se puede configurar para usar UDP/ TCP en el puerto 443, este puerto generalmente no está bloqueado por los routers o ISPs como sí puede estarlo el puerto estándar DNS o alguno otros puertos pero puede ser mas lenta la respuesta.
Sin lugar a dudas no es la solucion, que seria su uso en conjunto con DNSSec pero es una
capa mas de protección a agregar a nuestro arsenal digital.
Algunas capturas de wireshark.