Fugas de DNS/es

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

Introducción[Bearbeiten]

DNS es la abreviatura para servicio de nombre de dominios y básicamente se refiere a una de las funciones clave de la Internet.

Cuando queremos visitar la pagina google.com (que esta asociado a una IP o dirección numérica de Internet determinada), nuestro navegador consulta a una base de datos ubicada en el servicio DNS que nos este entregando nuestro proveedor de Internet. El DNS conoce de ante mano que una IP esta asociada a un nombre, entonces nos puede decir con exactitud donde podemos encontrar el dominio que queremos visitar: google.com

El problema que tienen los DNS es que son capaces de guardar nuestro comportamiento de navegación, es decir, crean y mantienen registros bastante exactos, que las paginas (o IPs) que queremos o estamos visitando. A esto se le define como DNS Leaks o fugas de DNS.

Incluso en el caso de usar un proxy o VPN, aun será necesario el DNS, por lo cual es posible, para cualquiera que este esnifando el tráfico, averiguar que DNS se resuelven, y por lo tanto saber en qué paginas se navega, aunque no así el contenido.

En el siguiente enlace se encuentra una explicación mas detallada [EN]:

https://trac.torproject.org/projects/tor/wiki/doc/Preventing_Tor_DNS_Leaks


Cómo evitar las Fugas de DNS[Bearbeiten]

Como es lógico, la forma mas fácil es usando servicios de DNS libres y reconocidos en el ámbito del cuidado de la privacidad de los internautas.

A continuación una lista:

Swiss Privacy Foundation 
  • 62.141.58.13 (HTTPS-DNS/DNSEC)
  • 87.118.104.203 (DNSEC)
  • 87.118.109.2
Telecomix Censorship-proof DNS 
  • 91.191.136.152
OpenNIC 
Lista servidores con distintas características, ver tabla:
  • www.opennicproject.org/configure-your-dns
DNS Advantage 
  • 156.154.70.1
  • 156.154.71.1
CloudNS 
Requiere DNSCrypt. Acepta DNSSEC, Namecoin y Tor.
Dirección: 113.20.6.2 o gc2tzw6lbmeagrp3.onion
Puerto: 443
Nombre del proveedor: 2.dnscrypt-cert.cloudns.com.au
Llave DNSCrypt: 1971:7C1A:C550:6C09:F09B:ACB1:1AF7:C349:6425:2676:247F:B738:1C5A:243A:C1CC:89F4
Dirección: 113.20.8.17 o l65q62lf7wnfme7m.onion
Puerto: 443
Nombre del proveedor: 2.dnscrypt-cert-2.cloudns.com.au
Llave DNSCrypt: 67A4:323E:581F:79B9:BC54:825F:54FE:1025:8B4F:37EB:0D07:0BCE:4010:6195:D94F:E330

Como se puede observar, algunos servicios DNS han dado un paso mas allá y han desarrollado un sistema para cifrar la comunicación entre el servicio y nuestra computadora, para asegurar que no se den perdidas de información. Este nuevo desarrollo se conoce como DNSCRYPT.

En esta guía solo se explica la forma general no cifrada de evitar las fugas de DNS.


Configurar nuestro Módem/Router[Bearbeiten]

La forma global y directa es buscar dentro de la configuración de nuestro módem o router el capitulo dedicado a la conexión a Internet y si tenemos suerte, puede ser que tenga un sub-capítulo dedicado a la configuración de DNS. En esa sección se pueden modificar las IPs de las DNS que deseamos usar y utilizar las nuestras.

Si nuestro módem/ruter NO permitiese la modificación de la DNS y esta fuera de exclusiva responsabilidad del proveedor de Internet, entonces solo nos quedara modificar la configuración de todas nuestras computadoras/ordenadores.


Re-configurar nuestro sistema[Bearbeiten]

En sistemas Linux/Ubuntu/Debian y en similares que usen NetworkManager esto se puede modificar con bastante facilidad al entrar a "Editar Conexiones", escoger nuestra conexion actual y modificar los valores DNS que se esten usando.

Otro método para modificar las DNS por la linea de comandos:

pc@user$ sudo gedit /etc/NetworkManager/system-connections/ethX

Y modificar la siguiente linea

[ipv4]
method=auto
dns=62.141.38.230;37.187.0.40;178.32.31.41;


Y si solo queremos proteger nuestro navegador?[Bearbeiten]

La solución para los navegadores basados en Mozilla Firefox es:

Escribir

about:config 

En la barra de direcciones y poner la variable

'network.dns.disablePrefetch' como 'true'

En mi caso esto no funciona, ya que esa variable no existe, en mi caso la variable se llama

'network.proxy.socks_remote_dns' y debe estar también como 'true'.


Asegurar los DNS: DNSCrypt[Bearbeiten]

Esta herramienta cifra el tráfico DNS, de nuestro ordenador al servidor DNS. Esto sirve para evitar ataques Man-In-The-Middle, que te espien, DNS poisoning y que el ISP bloquee páginas web.

Para Windows hay GUI, por lo que solo explicaré la instalación en Debian/Ubuntu.

Antes que nada, debemos instalar un paquete llamado libsodium de la que DNSCrypt depende. Descargamos la última versión del paquete, en este caso la versión 0.4.5 de la página siguiente: download.libsodium.org/libsodium/releases

Una vez descargado solo tenemos que descomprimirlo, compilarlo y ejecutarlo:

$ tar -xvzf libsodium-0.4.5.tar.gz 
$ cd libsodium-0.4.5
$ ./configure
$ make && make make && make check && make installcheck && make install

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/downloads

Para descomprimirlo usaremos el siguiente comando, siendo * la versión que tengamos:

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

Una vez descomprimido entramos en el directorio mediante el comando:

$ cd dnscrypt-proxy-*

Ahora ya solo queda compilarlo y instalarlo. 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á:

$ ./configure && make -j2
$ make install

El proxy se instalará en /usr/local/sbin/dnscrypt-proxy por defecto.

Su uso es el siguiente.

$ dnscrypt-proxy --daemonize --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

DNSCrypt usa por defecto DNS de openDNS, pero yo he escogido el de arriba por que no loguean IPs ni guardan las búsquedas que se realizan. Si queremos usar los DNS por defecto sólo hay que poner dnscrypt-proxy --daemonize.

—resolver-address=IP:puerto= La IP y puerto del DNS que escojamos.
—provider-name=nombre= El nombre del DNS que escojamos.
—provider-keyllave= La clave del servidor.

Una vez establecido el proxy, ahora tenemos que empezar a usarlo. Para hacerlo sólo tenemos que poner en el DNS que usamos la ip 127.0.0.1.

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.


Véase También[Bearbeiten]


Referencias[Bearbeiten]

<references />