tor-project

En otro articulo ya vimos como centralizar todas las peticiones DNS, pero al final se accedía a un servidor de terceros, por lo tanto el aumento en seguridad era bajo. Como alternativa tenemos DNSCrypt pero también se acaba empleando un DNS de terceros. Por suerte tenemos otra opción, que es emplear TOR para resolver nombres. Al instalar TOR como servicio es muy sencillo configurar para resolver nombres, pero hay que tener en cuenta que este es muy lento en comparación a un servidor tradicional, pero para eso podemos usar dnsmasq que nos ayudara a cachear las peticiones. Esta vez no usaremos bind9 ya que da problemas para usar un servidor local y acaba haciendo llamadas a DNS externos (cosa que nunca queremos que pase).

Instalación y configuración

Para empezar instalamos TOR y dnsmasq:

# apt install dnsmasq tor

Configuramos TOR para actuar como servidor DNS:

# nano /etc/tor/torrc

Al final del fichero agregamos las siguientes lineas:

DNSPort 9053
AutomapHostsOnResolve 1
AutomapHostsSuffixes .exit,.onion

Ahora configuramos dnsmasq:

# nano /etc/dnsmasq.conf

Agregamos las lineas:

no-resolv
server=127.0.0.1#9053

Ademas le debemos decir por donde escuchara, debemos agregar la 127.0.0.1 y la IP de la red local, para eso podemos usar este comando:

# echo "listen-address=127.0.0.1," >> /etc/dnsmasq.conf

Pero si el servidor tiene una IP dinámica al reiniciar podemos tener problemas.

Con estas 2 sencillas cosas tenemos todo configurado, ahora simplemente (re)iniciamos los servicios y los agregamos al inicio:

# systemctl start tor
# systemctl start dnsmasq
# systemctl enable tor
# systemctl enable dnsmasq

Testando

Ya debería de funcionar, ahora podemos hacer unas cuantas pruebas para ver si dnsmasq realmente usa TOR, para ello vamos a usar dig para realizar las peticiones y tcpdump para ver si hay alguna fuga.

# apt install tcpdump bind-tools

Ahora lanzamos en una terminal tcpdump y en otra usaremo

# tcpdump -s 0 -l -n port 53 -i eth0

Con dig podemos hacer un par de peticiones para ver que todo funciona correctamente:

$ dig @localhost www.lignu.com
$ dig @8.8.8.8 www.lignu.com

Cuando hagamos una petición a nuestro servidor no deberíamos de ver trafico, pero al hacer una petición a un DNS externo si veremos mucho trafico, con esto nos aseguramos que efectivamente es TOR quien nos resuelve los nombres.

Para emplear este DNS por defecto tenemos varias opciones, como configurar el DHCP para que de este como primera opción o lo agregamos manualmente, podemos editar directamente el fichero “/etc/network/interfaces” y agregamos al final:

dns-nameservers IPdelServer

Cada uno debe cambiar por la propia, en mi caso queda así el fichero:

auto eth0
iface eth0 inet dhcp
dns-nameservers 192.168.1.254

Bonus

Por suerte dnsmasq hace el uso del fichero “/etc/hosts” para resolver nombres. Hace poco ya hablamos de como bloquear la publicidad empleando este fichero, por lo tanto podemos combinar ambos para tener un potente bloqueador de publicidad y una mayor privacidad con la velocidad de dnsmasq.

 

Fuente: lignux

 

¿Quién está en línea?

Hay 25855 invitados y ningún miembro en línea