Cifrar nuestro tráfico con DNSCrypt

El cifrado del tráfico entre nuestro equipo y el ISP es una medida de seguridad que nos permitirá protegernos de ataques Man in the Middle, de intentos de espiar nuestras comunicaciones y dificultará al ISP la posibilidad de aplicarnos algunas restricciones (ahora que la neutralidad de la red está en peligro).

Nuestra solución segura será usar DNSCrypt, un software disponible para Windows, Linux, BSD, Android, iOS y OSX. Aquí nos ocuparemos de la instalación en Linux. Como no existe ningún paquete .deb, .rpm o repositorio que podamos utilizar para instalarlo nos tocará compilar el código fuente. Como paso previo, pues, tendremos que tener en el equipo los paquetes necesarios para instalar. En los linux de la familia Debian lo amañamos con un

sudo apt-get install build-essential

Luego tocará descargar la librería libsodium, una librería necesaria para la compilación:

tar -xvzf libsodium-0.5.0.tar.gz
cd libsodium-0.5.0
./configure
make

make check  ##esto verificará si está todo en orden

sudo make install

El siguiente paso es descargar ya el código de DNSCrypt, descomprimirlo y compilarlo

sudo ldconfig #necesitamos lanzar esta configuración primero

tar -xvzf dnscrypt-proxy-1.4.0.tar.gz
cd dnscrypt-proxy-1.4.0
./configure
make

sudo make install

Muy bien, DNSCrypt está instalado, lo siguiente es configurarlo. Nos vamos a editar nuestra conexión de red y en la configuración de IPv4 elegimos en el campo Método la opción Sólo direcciones automáticas (DHCP) y en el campo Servidores DNS ponemos la dirección 127.0.0.1 (si os da problemas al probarlo cambiad por, por ejemplo, 127.0.0.2). Después desde el terminal ejecutamos restart network-manager. Tras hacer esto nos quedaremos sin conexión a internet ya que hemos desconfigurado las DNS y hasta que no se ejecute DNSCrypt no volverán a estar funcionales. Por tanto, lo ejecutamos:

/usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096

Para comprobar que todo funciona prueba a entrar en http://www.opendns.com/welcome/ para ver que la conexión ha vuelto. Como ya dije arriba es posible que usando 127.0.0.1 falle, así que si os pasa matáis el proceso de DNSCrypt, cambiáis la IP por, por ejemplo, 127.0.0.2 y volvéis a lanzar DNSCrypt añadiendo esa dirección como parámetro tal que así:

/usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096 --local-address=127.0.0.2

Ahora vamos con un último paso ¿quieres que DNSCrypt se ejecute cada vez que iniciamos el sistema? Si estás en un sistema basado en Debian toca modificar el archivo /etc/rc.local y pegamos, justo antes de la instrucción exit 0 una de las siguientes líneas:

#en caso de que utilicéis la ip 127.0.0.1
exec /usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096

#en caso de la 127.0.0.2
exec /usr/local/sbin/dnscrypt-proxy --daemonize --pidfile=/run/dnscrypt-proxy.pid --edns-payload-size=4096 --local-address=127.0.0.2

En la documentación de DNSCrypt podéis leer más opciones sobre parámetros, resolución de problemas, cambiar OpenDNS por un DNS alternativo…

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s