Para navegar por Internet es necesario usar los servidores DNS, ya que estos servidores traducen los nombres de dominio a las direcciones IP de los servidores. Los servidores DNS utilizan una base de datos distribuída y jerárquica, almacenando la información de los nombres de dominio. La consulta de los DNS se realiza típicamente bajo el protocolo UDP por el puerto 53, sin ningún tipo de cifrado y por tanto, sin ninguna seguridad de que un atacante pueda interceptar y modificar la información.
DNScrypt-proxy nos proporciona cifrado y autenticación de las solicitudes mediante el protocolo DNSCrypt para posteriormente pasarlos a un servidor superior (organización jerárquica). DNSCrypt utiliza criptografía de curva elíptica para cifrar el contenido de las solicitudes DNS, lo que lo hace ser muy rápido y seguro. De la misma forma que TLS/SSL cifra el tráfico HTTP bajo el protocolo HTTPS, DNSCrypt hace lo propio con DNS.
Aunque este método no proporciona seguridad de punto a punto de la comunicación, sí protege el entorno de nuestra red local donde normalmente se realizan los ataques MITM (Man In The Middle). Un lugar típico donde se podría usar estos DNS seguros es en las redes Wi-Fi públicas, aunque en este último caso lo más recomendable es usar VPN para cifrar todo el tráfico y protegernos de otros ataques típicos contra las redes locales.
Instalación en Windows
Para instalar DNSCrypt en Windows, basta con bajarnos la versión win32 de los repositorios oficiales. Una vez descargado el paquete, lo descomprimimos en C: y abrimos una terminal en modo administrador.
Una vez que estamos en la terminal, basta con ejecutar el siguiente comando:
dnscrypt-proxy.exe --install
Y nos aparecerá el siguiente mensaje:
[INFO] The dnscrypt-proxy service has been installed and started
A continuación sólo tendríamos que cambiar los servidores DNS de nuestra tarjeta de red por localhost (127.0.0.1) ya que DNSCrpyt estará escuchando en localhost para realizar las peticiones. Puedes usar este tipo de características para saltarte un firewall al navegar.
Interfaz gráfica en Windows
Existe una interfaz gráfica para Windows que nos permitirá gestionar fácilmente todo lo relacionado con los DNS, su nombre es DNSCrypt Proxy Client, y se puede descargar desde su página web oficial donde encontraréis un breve manual de instalación y puesta a punto. Lo primero que tenemos que hacer al abrirlo es seleccionar la interfaz:
A continuación podremos configurar los DNSCrypt, seleccionar los servidores DNS que queramos e incluso también elegir DNS bajo IPv6.
En la página web oficial de DNSCrypt tenéis toda la información sobre el proyecto. También encontraréis información sobre los servidores DNS compatibles con DNSCrypt, alguno de ellos son los conocidos OpenDNS o los de DNSCrypt.eu.