Tor y Privoxy en Ubuntu 9.04
Posted by K|Ke on July 5th, 2009
Tor
Tor (The Onion Router) es una implementación libre de un sistema de encaminamiento llamado onion routing que permite a sus usuarios comunicarse en Internet de manera anónima. Originado en el US Naval Research Laboratory y hasta noviembre de 2005 patrocinado por la Electronic Frontier Foundation, Tor es desarrollado por Roger Dingledine y Nick Mathewson junto con otros desarrolladores.
Tor provee un canal de comunicación anónimo y está diseñado para ser resistente a ataques de análisis de tráfico (traffic analysis). Por lo tanto, usando Tor es posible realizar una conexión a un equipo sin que este o ningún otro tenga posibilidad de conocer el número de IP de origen de la conexión.
Tor es usualmente combinado con Privoxy para acceder a páginas web de forma anónima y segura. Privoxy es un proxy HTTP diseñado para proteger la privacidad en la navegación de internet. La interfaz de Tor es un proxy SOCKS (usualmente en el puerto 9050).
Es importante saber que Tor no es 100% fiable en lo que se refiere al cifrado de la información. Su función principal es asegurar el anonimato del usuario, de forma que no se pueda rastrear la información que envía para llegar hasta él. La red Tor cifra la información a su entrada y la descifra a la salida de dicha red, con lo cual es imposible saber quién envió la información. Sin embargo, el propietario de un servidor de salida puede ver toda la información cuando es descifrada antes de llegar a Internet, por lo que aunque no pueda conocer el emisor sí que puede acceder a la información.
Esto quedó de sobra demostrado por Dan Egerstad, un sueco experto en seguridad informática. Consciente de esa debilidad de Tor, creó un servidor de la red Tor y controló toda la información que salía por su servidor hacia su destino correspondiente en Internet, y de esta forma pudo conseguir importantes contraseñas de empresas, embajadas de todo el mundo y otras instituciones, ya que éstas usaban la red Tor sin cifrar la información primero. Efectivamente, Dan no pudo conocer la identidad del emisor, pero sí el contenido del mensaje y su destino.
Para conseguir el anonimato en internet y, además, la seguridad de que nadie accede a la información que se está enviando, es recomendable utilizar también algún sistema de cifrado como SSL.
Privoxy
Privoxy es un programa que funciona como proxy web, usado frecuentemente en combinación con Tor y Squid. Tiene capacidades avanzadas de filtrado para proteger la privacidad, modificar el contenido de las páginas web, administrar cookies, controlar accesos y eliminar anuncios, banners, ventanas emergentes y otros elementos indeseados de Internet. Privoxy tiene una configuración muy flexible y puede ser personalizado para adaptarse a las necesidades y gustos individuales. Privoxy es útil tanto como para sistemas aislados como para redes multiusuario.
Privoxy está basado en el programa Internet Junkbuster y está publicado bajo la licencia pública general GNU. Se ejecuta en Linux, Windows, Mac OS X, AmigaOS, BeOS y en muchas versiones de Unix. Casi cualquier navegador debería ser capaz de usar privoxy con un mínimo de cambios.
Una lista de reglas para privoxy bastante popular era la neilvandyke.action de Neil Van Dyke, que constaba de aproximadamente 7.500 reglas. Hoy en día el proyecto está abandonado.
También se usa a privoxy en combinación con Tor alrededor del mundo para sortear la censura en internet en países como Irán, Arabia Saudita, los Emiratos Árabes Unidos y en China, para evitar el sistema de censura de Internet del gobierno chino llamada Gran Cortafuegos. Bajo estas restricciones, muchos sitios web resultan bloqueados por sus respectivos gobiernos incluyendo muchas redes sociales, la wikipedia y todos sus proyectos hermanos en China.
Instalación
Para la instalación en Ubuntu 9.04, vamos a editar primeramente el archivo sources.list
$ sudo gedit /etc/apt/sources.list
Y agregamos al final del archivo las siguientes líneas
# Tor
deb http://mirror.noreply.org/pub/tor jaunty main
deb-src http://mirror.noreply.org/pub/tor jaunty main
Agregamos la llave
gpg --keyserver subkeys.pgp.net --recv 94C09C7F
gpg --fingerprint 94C09C7F
gpg --export 94C09C7F | sudo apt-key add -
Luego actualizamos e instalamos ambos paquetes
$ sudo apt-get update
$ sudo apt-get install tor privoxy
Configuramos Privoxy para que trabaje con Tor
Bien editamos el archivo /etc/privoxy/config y agregamos la siguiente línea al principio del archivo.
$ sudo gedit /etc/privoxy/config
y agregamos:
forward-socks4a / localhost:9050 .
logfile logfile
jarfile jarfile
(Es importante el punto al final de la línea, además tiene una separación del último dígito)
Ahora agregamos las siguientes líneas al archivo /etc/tor/torrc
$ sudo gedit /etc/tor/torrc
y agregamos
ReachableDirAddresses *:80
ReachableORAddresses *:443
Luego de estas modificaciones en los archivos, iniciamos Privoxy y Tor
$ sudo /etc/init.d/tor start
$ sudo /etc/init.d/privoxy start
Con ello ya estamos en condiciones de probar nuestra navegación, por ejemplo con Firefox:
Primero configuramos Firefox para nuestro objetivo, vamos a Editar > Preferencias > Avanzadas > Red > Configuración y configuramos igual que en la imagen

Puedes probar ahora en el siguiente link, para ver el funcionamiento.
Hay muchas otras aplicaciones que pueden beneficiarse de Tor y Privoxy, clientes irc, otros navegadores, etc.
Por ejemplo para irssi puedes iniciarlo con el comando
$ torify irssi
Más adelante voy a detallar como utilizar Tor y Privoxy con otras aplicaciones.
Entradas relacionadas:










July 27th, 2009 a 7:02 am
Quería agradecerte enormemente tu labor en este manual, todo explicado a la perfección.
Siendo un poco crítico y con el objetivo de ayudar a aquellos que no dominen Ubuntu como es mi caso deberías de explicar mejor que hacer aquí:
Agregamos la llave ( Explica como se agrega una llave )
gpg –keyserver subkeys.pgp.net –recv 94C09C7F
gpg –fingerprint 94C09C7F
gpg –export 94C09C7F | sudo apt-key add -
Una duda que me surje es como ir modificando la IP cada vez que me apetezca??
Un saludo y enhorabuena!
July 27th, 2009 a 10:29 am
Hola José María. Las disculpas si no fui más claro, a veces uno piensa que todos deben saber lo que uno quiere decir y bueno, no es así
Bien, en síntesis lo que quise expresar es que para agregar la clave, debemos abrir una consola y anotar cada una de las líneas en forma individual, me explico:
$ gpg –keyserver subkeys.pgp.net –recv 94C09C7F
Una vez haya terminado, seguimos con la siguiente
$ gpg –fingerprint 94C09C7F
y finalmente
$ gpg –export 94C09C7F | sudo apt-key add -
Una vez finalizado, ya podemos actualizar e instalar los paquetes necesarios:
$ sudo apt-get update && sudo apt-get install tor privoxy
Saludos.
July 28th, 2009 a 2:57 pm
Para nada pretendía decir que no fuiste claro sino que ese detalle le haría mucho bien al tutorial, para mi gusto esta de lujo.
Ahora quería yo plentearle una cuestión que no está especificada en el tutorial, y es si hay posibilidad de hacer que el programa cambie la IP cada x tiempo que yo le asigne??
Otra pregunta es saber si el programa usa un solo proxy que cada vez le asigna una IP diferente o como va eso? Y si es el mismo proxy que le asigna una IP diferente de que página estamos hablando?
El objetivo que persigo es hacer unas votaciones en una página en la que solo dejan hacer una votación al día, y saben cuando haces mas votaciones por que te registran la IP.
A parte para ahorrarme el trabajo he pensado en usar SELENIUM IDE para que me repita los procesos que yo le indíco muchas veces, el problema esta en que necesitaría que cada vez se le pusiera una IP diferente para que no me diera fallo, para ello he pensado que si hubiera un proxy en el que al entrar te otrogara cada vez una IP diferente el problema estaría solucionado.
Un saludo.
July 28th, 2009 a 8:31 pm
Hola José María, no en realidad tor no está pensado así como lo planteas. Te recomiendo leer el siguiente link:
http://www.torproject.org/overview.html.es
Respecto a las votaciones, yo haría un sistema basado en usuario y password, identificando el usuario con su DNI por ejemplo, rechazando en la base de datos, votos repetitivos dentro de las 00.00 y 23.59 horas del día actual, ya que las cookies o IP es muy fácil de burlar, basta que el votante vaya a un ciber café, por ejemplo, o cualquier otra máquina con distinta IP y realizar una nueva votación.
July 29th, 2009 a 1:36 pm
Hola de nuevo! Resulta que Toy y Privoxy me funcionan mejor en Windows XP que en Linux y se que existe una opción llamada “MaxCircuitDirtiness” con la que se puede cambiar el tiempo en el que se cambia la IP de forma automática. El problema es que no tengo ni dea de como poder hacerlo y llevo ya unos días buscando pero no hay manera. Se que está un poco fuera de sitio, pero por si pudieras resolverme esta duda estaría muy agradecido!
July 29th, 2009 a 10:16 pm
Hola José María, eh visto algo de MaxCircuitDirtiness, pero francamente nunca lo he utilizado por lo que no podría darte mayores antecedentes al respecto, pero me voy a poner a googlear un poco, ya que si sé que en linux también es factible utilizarlo.
Saludos.
July 31st, 2009 a 12:08 pm
Y en el caso de torchat? baje el soft para utilizarlo pero nada, el .exe para correrlo simplemente no lo instala.
Algunos me comentaban que era por el firewall, la cuestion es que siempre lo tengo deshabilitado. Otros me comentaron que era el antivirus, panda profesional es el que tengp instalado. Lo desactive…y nada….
Alguien podria ayudarme a instalarlo…paso a paso si se puede pues soy medio menso para estas cosas de la tecnologia…
gracias. Utilizo windows xp y firefox 3.5 Gracias
July 31st, 2009 a 1:04 pm
Gabo yo te recomiendo la instalación de Privoxy que va de maravilla. Yo lo uso en XP y con firefox 3.0 y va de lujo, en Vista no me funciona por que no me guarda la configuración…
Un saludo.
August 30th, 2009 a 4:45 pm
K|Ke gracias por el tiempo tomado para hacer una explicacion sencilla y detallada de ese programa.
Ahora va de perlas, como dicen los espa;oles
August 31st, 2009 a 11:00 am
Alguno sabe donde se guardan las IPs que se van a usar?? Es que me gustaría configurarlo para que solo funcionase con IP de España y no se como hacerlo, alguna sugerencia?
Saludos
August 31st, 2009 a 11:01 am
Alguno sabe dónde se guardan las IPs que se van a usar?? Es que me gustaría configurarlo para que solo funcionase con IPs de España y no se como hacerlo, alguna sugerencia?
Saludos
August 31st, 2009 a 3:14 pm
Hola José María, no es posible ya que las ip que son asignadas son aleatorias y pertenecen a diferentes nodos de la red de tor.
Saludos.
September 1st, 2009 a 4:28 pm
Bueno pero seguro que hay alguna forma de bloquear las de otros paises! Cuando tenga tiempo me pondré a investigar a ver si tengo suerte! Es que me suena a mi haberme encontrado con un archivo en el que salian multitud de IPs de muchos paises, algo inventaré!!
Un saludo.
October 25th, 2009 a 3:14 pm
[...] Manual de instalación en Ubuntu: http://ubuntusur.org/?p=603 [...]