DNScrypt-wrapper, servidor DNS cifrado

En un anterior tutorial, foo bar nos llevó por la instalación de dnscrypt-proxy para hacer posible que el tráfico de resolución de nombres de dominio a direcciones ip’s fuera cifrado, desde el cliente, hacia el servidor que ejecutase dnscrypt-wrapper.

El inconveniente que se plantea ante este arquetipo, es que el servidor dnscrypt-wrapper sí hace peticiones en plano DNS, para poder entregar al cliente, en cifra, las respuestas hacia sus peticiones.

De todas maneras es un concepto muy válido si traemos del recuerdo bloqueos gubernamentales contra internet, basados en la invalidación de los servidores DNS de los ISP’s de un país, como ocurrió en Turquía, en días del despertar de la conciencia.

También evita la recolección, por parte de los funcionarios de control poblacional de tu país, de listados de emparejamientos de datos «ip persona => dominios que visita».

Yecheng Fu, si existe realmente como persona, residente en China, posiblemente un día, cansado de que su gobierno le impidiera resolver el nombre de dominio tiosbuenos.com después de tomar su taza de café de la mañana, con el peligro de acabar en una cárcel y que hicieran gel antiarrugas con él para los consumidores europeos; ideó dnscrypt-wrapper.

El guión para instalarlo en un servidor debian fuera de tu país y ofrecer un servicio de DNS cifrado:

cd /opt
apt-get update && apt-get install git libevent-dev autoconf gcc bind9
mkdir dnscrypt 
cd dnscrypt/

#### INSTALAR libsodium

wget https://download.libsodium.org/libsodium/releases/libsodium-0.7.0.tar.gz --no-check-certificate 
tar -zxvf libsodium-0.7.0.tar.gz cd libsodium-0.7.0/ 
./configure 
make && make check
make install 
ldconfig

#### INSTALAR dnscrypt-wrapper

cd .. 
git clone --recursive git://github.com/Cofyc/dnscrypt-wrapper.git 
cd dnscrypt-wrapper 
make configure 
./configure 
make install 
dnscrypt-wrapper -v 
cd .. 
mkdir llaves 
cd llaves 
dnscrypt-wrapper --gen-provider-keypair 
dnscrypt-wrapper --gen-crypt-keypair 
dnscrypt-wrapper --crypt-secretkey-file crypt_secret.key --crypt-publickey-file=crypt_public.key --provider-publickey-file=public.key --provider-secretkey-file=secret.key --gen-cert-file

#### PUESTA EN MARCHA

dnscrypt-wrapper -r 127.0.0.1:53 -a 0.0.0.0:54 --crypt-secretkey-file=crypt_secret.key --crypt-publickey-file=crypt_public.key --provider-cert-file=dnscrypt.cert --provider-name=2.dnscrypt-cert.elbinario.net -VV

Este último comando del script, pone el servidor a la escucha y nos devuelve la huella pública que deberá ser pasada como parámetro en dnscrypt-proxy

dnscrypt-proxy -a 127.0.0.2:53 --provider-name=2.dnscrypt-cert.elbinario.net -r ipdetuservidordnscrypt-wrapper:54 --provider-key=HUELLA

Se presenta como una capa fina de seguridad, interesante, que no evita si tus paquetes van en claro por las redes de tu país, recolección de peticiones y respuestas desde tu ip a otras ip’s

Compartir

1 Comentario

Deja una respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax