Archivo de la etiqueta: tor

Tor+Privoxy en GNU/Linux con OpenRC

Quienes usamos OpenRC sabemos que al momento de instalar un paquete debemos tener en cuenta que por lo general existe una versión específica para este init. Además, en muchos casos no alcanza simplemente con instalar el paquete correspondiente, sino que también los archivos de configuración suelen requerir diferentes parámetros.

Este es el caso del sistema de enrutamiento por capas TOR, el que habitualmente instalo junto a Privoxy para integrarlo como una cadena de proxys.

Dado que actualmente uso Manjaro OpenRC, los comandos están enfocados en esta distribución.
$ sudo pacman -S tor-openrc privoxy-openrc proxychains torsocks lynx
Instalo los paquetes necesarios en su versión para OpenRC y además añado proxychains y torsocks para integrar los proxys al uso en consola de comandos.

Posteriormente, se edita el archivo de configuración de Privoxy, indicándole la dirección ip de escucha y añadiendo al final del archivo la línea de encadenamiento al proxy socks.

$ sudo nano /etc/privoxy/conf

/etc/privoxy/conf

[…]
listen-address 127.0.0.1:8118
[…]
forward-socks5 / 127.0.0.1:9050 .

Luego, hay que trabajar sobre la configuración de TOR. Para esto, se hace una copia de seguridad del archivo original y se crea un nuevo archivo que contenga las líneas requeridas para que OpenRC gestione el daemon.

$ sudo mv /etc/tor/torrc.bck

$ sudo nano /etc/tor/torrc

/etc/tor/torrc

User tor
PIDFile /var/run/tor/tor.pid
Log notice syslog
DataDirectory /var/lib/tor/data

Sólo resta añadir los servicios al inicio y arrancarlos.

$ sudo rc-update add tor default

$ sudo rc-update add privoxy default

$ sudo sudo service tor start

$ sudo service privoxy start

Por último, comprobamos que todo funciona correctamente.

$ proxychains lynx check.torproject.org 
Congratulations. This browser is configured to use Tor.
This page is also available in the following languages: [English____________________] Go

Congratulations. This browser is configured to use Tor.

Your IP address appears to be: xxx.xxx.xxx.xxx

Navegá anónimo mediante Tor [Cuadernillo Técnico]

Hace unas semanas, en el artículo Cuidá tu privacidad en la Red, mencioné la utilidad de la red Tor para navegar de manera anónima en la red. Sin entrar en demasiados detalles, lo que hace el servicio de Tor es redirigir la conexión a través de una red distribuida permitiendo que nuestra dirección IP quede oculta a lo largo de esta red. Si deseás más detalles de cómo funciona esto, la página web del proyecto ofrece mucha información.

En este artículo voy a detallar los pasos necesarios para tener instalado y configurado Tor en nuestra máquina con GNU/Linux. Dado que utilizo Archlinux, los comandos estarán enfocados en esta distribución. Sin embargo, son fácilmente transferibles a cualquier otra. Por ejemplo: si usás Debian cambiá “pacman -S” por “apt-get install”, etcétera (hay algunos paquetes que pueden cambiar de nombre, por lo que debés tener en cuenta eso también).

Instalación y Configuración de Tor con Privoxy

Privoxy es un servidor Proxy enfocado en la privacidad (de ahí el nombre). Debido a que Tor funciona como Proxy tipo Socks (más específicamente Socks5), Privoxy tomará el control del tráfico HTTP para redirigirlo hacia Tor. Lo primero entonces que haremos será instalar los paquetes necesarios:

$ sudo pacman -S tor privoxy

El primer paso luego de la instalación será configurar Privoxy:

Remplazá “editor” por tu editor de textos preferido: nano, vim, kate, gedit, etcétera.
$ sudo "editor" /etc/privoxy/config

El archivo es bastante extenso y a su vez completamente explicativo. Lo que a nosotros nos interesa es la dirección IP por dónde escuchará el servicio. Debemos asegurarnos que dicha línea esté descomentada (sin el signo # por delante) y que apunte a la máquina (Host) y puerto donde se ejecutará el servidor. Aquí se presentan dos opciones: la primera, el servicio sólo se utilizará para el tráfico de la máquina donde se instaló (o localhost); la segunda, el servicio se ejecutará en una red de computadoras (física o virtual) y estará disponible para toda la red. De esta manera, la línea “listen-address” debe quedar así:

Para el ejemplo se usa una red de tipo 192.168.x.x/24 y los puertos por defecto (Privoxy: 8118; Tor: 9050)

/etc/privoxy/config

[…]
listen-address 127.0.0.1:8118
[…]
ó
[…]
listen-address 192.168.x.x:8118
[…]

Luego, habrá que indicarle a Privoxy que redirija todo el tráfico hacia Tor. Para esto, vamos al final del archivo (/etc/privoxy/config) y agregamos la siguiente línea:

/etc/privoxy/config

[…]
forward-socks5 127.0.0.1/9050 .

Notar el punto al final de la línea: es importante colocarlo para que funcione correctamente de acuerdo a las reglas de direccionamiento de Privoxy.

Respecto de la configuración de Tor, usaremos la que viene por defecto. En caso que quisiéramos modificarla, bastará con editar el archivo correspondiente (/etc/tor/torrc).

Gestión del Servicio

Queda entonces iniciar ambos servidores y dejarlos habilitados para que inicien con en el arranque:

Importante: tener en cuenta que el gestor de servicios cambia dependiendo de la distribución
$ sudo systemctl enable tor.service

$ sudo systemctl start tor.service

$ sudo systemctl enable privoxy.service

$ sudo systemctl start privoxy.service

 

Configuración de aplicaciones

El último paso para comenzar a navegar anónimo a través de Tor es configurar tus aplicaciones. Para aquellas que soporten Proxy tipo Socks5, la configuración será:

Dirección del Servidor: 127.0.0.1 (o IP del servidor si está en otra máquina)
Puerto: 9050

Para aplicaciones con Proxy HTTP (por ejemplo, un navegador web):

Dirección del Servidor: 127.0.0.1 (o IP del servidor si está en otra máquina)
Puerto: 8118

Para comprobar que estás navegando a través de Tor, abrí tu navegador web e ingresá a: https://check.torproject.org. La página te mostrará el mensaje:

“Congratulations. This browser is configured to use Tor”

Monitorizar el tráfico a través de Tor

El proyecto Tor ofrece un paquete llamado Arm desde el cual podemos monitorizar el tráfico que pasa a través del servidor y la red. Para ejecutar el programa, además de instalarlo, debemos hacer algunas modificaciones en el archivo de configuración de Tor. Por lo tanto:

$ sudo pacman -S arm

$ sudo "editor" /etc/tor/torrc
Aquí debemos descomentar (quitar el símbolo # al principio) dos líneas y agregar una.

/etc/tor/torrc

ControlPort 9051
CookieAuthentication 1
DisableDebbugerAttatchment 0

Luego de guardar los cambios, reiniciamos los servicios:

$ sudo systemctl restart tor.service

$ sudo systemctl restart privoxy.service

Finalmente, ejecutamos el monitor con:

$ sudo arm

 

Aún queda trabajo por hacer

Bueno, hasta acá hemos logrado instalar y configurar Tor para movernos anónimamente a lo largo de las redes. Con esto ya tenemos bastante. Sin embargo, con un poco de trabajo adicional podremos ganar en eficiencia y mejorar el rendimiento a la vez que cuidamos nuestro anonimato y seguridad. En esta ocasión sólo voy a mencionar algunas de estas acciones a tener en cuenta, dejando su aplicación y uso para futuros artículos.

En primer lugar, podemos agregar un sistema de caché proxy como Polipo o Squid y configurarlo para que nuestros proxys funcionen en cadena. Conceptualmente, nuestros proxys quedan encadenados de manera que el Tráfico HTTP se redirige a Privoxy, el cual envía el tráfico a través de Polipo (caché proxy) que a su vez lo reenvía hacia Tor. Para configurarlo, basta con instalar Polipo o Squid y redirigir el tráfico de acuerdo se muestra en la cadena:

Tráfico HTTP -> Privoxy -> Polipo/Squid -> Tor

Por otra parte, podemos enrutar las peticiones DNS hacia Tor mediante el uso de herramientas como dnsmasq. Sin embargo, estas peticiones no están cifradas por lo que es muy recomendable el uso de otra herramienta como DNSCrypt, la cual cifra las peticiones DNS a través de una lista de servidores soportados.

La relevancia del Software Libre en el anonimato

Para finalizar, quiero hacer hincapié en un tema que será recurrente en este blog. Como escribí en su momento, la privacidad en las redes es un asunto importante que nos concierne a todos. La existencia de proyectos de Software Libre como Tor o DNSCrypt y los programas descritos en este artículo facilitan disponer de herramientas de gran utilidad para cuidar dicha privacidad y nos permiten construir una Sociedad más justa y libre.

Esta guía es un pedacito del Cuadernillo de Anotaciones que llevo en mi aprendizaje. Espero que les sirva.