Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

Instalar DNSCrypt en GNU/Linux

25 febrero, 2014

dnsHoy vamos a explicar cómo instalar una herramienta que cifrará todas las consultas DNS que hagamos, DNSCrypt

Empezaremos explicando cuál es una de las funciones que más se utiliza de un DNS. Si no te interesa o ya sabes qué es, te sugiero que te saltes los dos siguientes párrafos.

Cuando ponemos en la barra de dirección, por ejemplo, https://duckduckgo.com, el navegador, lanza una consulta a la base de datos y esta le devuelve una dirección IP, en este caso 46.51.197.89. Podemos comprobarlo poniendo esta dirección IP en el navegador. Si alguien se pregunta cómo averiguar la dirección IP de una página web, sólo hay que abrir una terminal y escribir

ping dominio.com

, donde dominio.com es la dirección de la que queremos saber la IP.

La consulta mencionada antes se hace siempre en texto plano. Es decir, no está cifrada y cualquiera con los medios y conocimientos adecuados puede verla. Por eso, vamos a instalar DNSCrypt, qué cifrará nuestra consulta desde nuestro ordenador, proporcionando seguridad en nuestra red interna, y el servidor DNS que tengamos asignado., lo que proporcionará seguridad una vez la consulta haya salido de nuestro router a Internet.

DNSCrypt

Cómo ya he explicado, esta herramienta cifra el tráfico DNS de nuestro ordenador al servidor DNS. Esto nos servirá para evitar ataques Man-In-The-Middle, DNS poisoning y para evitar censuras por parte del ISP.

Para Windows hay un instalador muy sencillo de usar, por lo que sólo explicaré la instalación en Debian/Ubuntu. En principio debería funcionar para GNU/Linux en general, pero sólo lo he probado en Debian.

Antes que nada, debemos instalar un paquete llamado

libsodium

del que DNSCrypt depende. Descargamos la última versión del paquete, en este caso la versión 0.4.5, de esta página.

Recomiendo tener un directorio sólo para los archivos que compilamos, para poder tenerlos controlados y desinstalarlos si fuese necesario. Una vez descargado, vamos al directorio en el que hayamos descargado el paquete mediante el comando

cd

y sólo tenemos que descomprimirlo, compilarlo y ejecutarlo:

  • su
  • tar xzf libsodium-0.4.5.tar.gz
  • cd libsodium-0.4.5
  • ./configure
  • make && make install
  • ldconfig

Explicación:

  • su: Cómo ya hemos explicado en anteriores tutoriales, sirve para usar el usuario root.
  • tar: Sirve para descomprimir. En este caso le pasamos los parámetros x, para extraer, z, porque el archivo está comprimido con gunzip (extensión *.gz) y f, para concretar que archivo queremos.
  • cd: Sirve para cambiar de directorio.
  • ./configure: Poniendo ./ delante de un script, lo ejecutamos. El archivo configure sirve para comprobar si te hace falta algun paquete del que depende el archivo a compilar. Además, crea el archivo makefile, que es el que usa el comando make.
  • make: Compila el programa.
  • make install: Mueve el archivo compilado al directorio /local/usr/bin, para que podamos usarlo desde la terminal sin invocar toda la ruta del archivo.
  • ldconfig:  Crea  los  vínculos  y  caché necesarios a las bibliotecas compartidas.

Ahora podemos proceder a instalar la herramienta en cuestión. Lo primero será descargar el comprimido tar.bz2 de la página dnscrypt.org/dnscrypt-proxy/download.

Iremos al directorio en el que lo hemos descargado, y lo descomprimiremos usando el siguiente comando, siendo * la versión que hayamos descargado:

>bunzip2 -cd dnscrypt-proxy-*.tar.bz2 | tar xvf -

Explicación:

  • bunzip2: Descomprime archivos con la extensión *.bz2.  El parámetro c, comprime o descomprime con la salida estándar, y el parámetro d, descomprime.
  • El carácter |: Sirve para juntar dos comandos. En este caso, ejecuta primero el comando bunzip2 y después el comando tar, ya que este archivo está comprimido con ambos métodos.

Una vez descomprimido entramos en el directorio mediante el comando:

cd dnscrypt-proxy-*

Ahora ya solo queda compilarlo y instalarlo:

./configure && make -j2

 

make install

El parámetro -j2 indica que usemos dos núcleos de la CPU. Podemos poner el número que queramos, cuanto más alto más rápido irá. El máximo que podemos poner dependerá de los núcleos que tenga nuestra CPU. El programa se instalará en

/usr/local/sbin/dnscrypt-proxy

por defecto.

Y con esto, ya lo tenemos instalado. Su uso es el siguiente.

dnscrypt-proxy -d --resolver-address=113.20.6.2:443 --provider-name=2.dnscrypt-cert.cloudns.com.au --provider-key=1971:7C1A:C550:6C09:F09B:ACB1:1AF7:C349:6425:2676:247F:B738:1C5A:243A:C1CC:89F4

Explicación:

  • dnscrypt-proxy: Es el nombre del programa.
  • -d: Sirve para que el programa corra en segundo plano.
  • --resolver-address: La dirección IP del servidor DNS.
  • --provider-name: El nombre completo del servidor que proveerá el certificado de DNSCrypt.
  • --provider-key: La clave del servidor DNS.

Yo he escogido este DNS, pero vosotros podéis escoger cualquier otro. En la página oficial de DNSCrypt viene una lista con distintos servidores DNS, con sus diferentes características.

Una vez establecido el proxy, sólo nos quedará un paso más por hacer. Empezar a usarlo.

Para hacerlo sólo tenemos que poner en el DNS que usamos la ip

127.0.0.1, qué es la nuestra

. Podemos hacerlo mediante la interfaz gráfica, yendo a Redes nos aparecerá una ventana cómo la siguiente:

Conexiones de red_005

Le damos a Editar, (En la pestaña Cableado o Inalámbrico, depende de lo que usemos) y nos aparecerá otra ventana cómo la inferior.

Editando Ethernet automática_007

Entonces, vamos a la pestaña Ajustes de IPv4, y ponemos la dirección 127.0.0.1 en el apartado pertinente.

Editando Ethernet automática_008

Y ya sólo queda hacer que se establezca de nuevo cada vez que reiniciamos. Podemos hacerlo copiando el comando que hemos puesto arriba a

/etc/rc.local

. Sobretodo, hay que ponerlo antes de la línea que pone exit 0, sino, no se ejecutará!

Fuentes:

  • Página Oficial de DNSCrypt.
  • Manual de DNSCrypt. Una vez instalado, podemos acceder a el mediante el comando man dnscrypt-proxy.

Escrito por drymer

Futuro ingeniero, debianita y curioso. Promuevo la privacidad allí donde voy.
Me gusta aprender y compartir, aunque no sepa mucho.

Suscribirse
Notificarme las
guest
18 Comentarios
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram