miércoles, 10 de octubre de 2012

Navegación web anónima con Tor centralizado

Fuente: http://tecnogame.co.cc/2012/05/navegacion-web-anonima-con-tor-centralizado/
 

Aquí veremos cómo utilizar Tor de forma centralizada, es decir, utilizando un servidor con Tor corriendo y una máquina (local) como cliente.
Vale, pero, ¿y qué es 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. Según la Wikipedia.
El funcionamiento de Tor viene descrito de forma básica en la siguiente imagen:

 La principal razón para usar Tor es en aquellos casos en los que no queremos que el destinatario conozca nuestra identidad. Anonimato en la web, es decir, que no se pueda llegar a saber quién ha accedido a tal página o ha escrito determinado mensaje en un foro.

En la imagen anterior podemos ver como Alice quiere comunicarse con Bob, pero ésta lo hace a través de varios equipos "intermediarios" (los pertenecientes a la red Tor) para terminar entregando el mensaje por una salida que no se corresponde a la suya propia, sino a la de otro usuario.

Como vemos, los intermediarios se comunican de forma cifrada entre sí, por tanto los integrantes de esta red no pueden leer los datos que se transmiten. Sin embargo podemos ver también una de las pegas de este sistema y es que la comunicación entre el último nodo de la red Tor y el destinatirio se realiza en claro, por lo que a parte del destinatario, el último operador de la red también es capaz de ver los datos transmitidos, al igual que haría tu ISP si no se utiliza Tor. Por tanto es un riesgo que hay que considerar.

Utilizar Tor de forma centralizada en efecto no tiene diferencias, lo que sí nos permite es ahorrarnos trabajo y tiempo, ya que para cada nueva máquina o sistema operativo que queramos anonimizar sólo tendremos que realizar la configuración y no, instalar y configurar de nuevo Tor y todo lo relacionado.

Una vez visto de forma básica el funcionamiento de Tor procederemos a realizar la instalación en el servidor y su consecuente instalación en un cliente Windows 7 con Firefox, proceso que sería exacto para cualquier SO con Firefox instalado, ya que el navegador será encargado de realizar las comunicaciones. Por supuesto también se pueden anonimizar otras comunicaciones utilizando Tor, pero aquí sólo veremos cómo hacerlo con las relacionadas al protocolo HTTP.

Lo primero, lógicamente sería instalar Tor en nuestro servidor, para el ejemplo lo haré sobre una máquina Debian, pero el proceso viene siendo el mismo para cualquier distribución de Linux. Para Windows el proceso es el mismo sólo que instalando los paquetes de Tor y Polipo creados para Windows y modificando los respectivos ficheros de configuración.

Para instalarlo en Linux (Debian), como superusuario:
apt-get install tor polipo
¿Por qué Tor y Polipo? Tor es el proxy SOCKS encargado de transmitir los paquetes por la red, mientras que Polipo es un proxy HTTP encargado de pasarle los paquetes HTTP a Tor para que los transmita.


Vayamos con la configuración de Tor.
  • Lo primero es abrir el fichero de configuración:
/etc/tor/torrc
  • Una vez abierto, tenemos que ponerlo a escuchar en un puerto (9999 para el ejemplo) en nuestro servidor (192.168.1.25 en el ejemplo), para ello añadimos, o modificamos la sentencia correspondiente:
SocksListenAddress 192.168.1.25:9999
  • Esto es todo para Tor, ahora simplemente reiniciamos el servicio:
/etc/init.d/tor restart

Una vez tenemos Tor configurado y escuchando vamos a proceder con la configuración de Polipo:
  • Abrimos el fichero de configuración:
/etc/polipo/config
  • Lo primero que haremos será establecer una dirección IP (la del servidor) y un puerto (9998) diferente al que escucha Tor, lógicamente. Para ello añadimos debajo (para seguir la organización del propio fichero) de "# proxyAddress = "0.0.0.0"    # IPv4 only":
proxyAddress = "192.168.1.25"
proxyPort = 9998
  • Después, debajo de "# allowedClients = 127.0.0.1, 192.168.42.0/24", añadimos (o modificamos esa misma):
allowedClients = 192.168.1.0/24
  • Por último, sólo nos queda habilitar las sentencias:
socksParentProxy = "localhost:9050"
socksProxyType = socks5
  • Y esto es todo, reiniciamos Polipo para dejarlo escuchando:
/etc/init.d/polipo restart

Para terminar sólo faltaría configurar el navegador web (Firefox en este caso) del equipo cliente para que utilice Tor y Polipo como proxy. Para eso bastará con instalar TorButton, que no es más que un complemento para FIrefox que permite habilitar y deshabilitar el uso de Tor de una forma fácil y rápida. Una vez instalado el complemento, reiniciamos Firefox, y arriba, a la izquierda del campo de texto para introducir la URL aparecerá un dibujo de una cebolla con una cruz roja (Uso de Tor deshabilitado):
Al pinchar en él se nos abrirá una ventana en la que lo primero que haremos será modificar las preferencias para el proxy del navegador, así que pinchamos en "Preferencias…", dónde modificamos:
  • Proxy HTTP: 192.168.1.25   /  Puerto: 9998
  • Host SOCKS: 192.168.1.25   /  Puerto: 9999
Quedando como se observa en la siguiente imagen:


Para finalizar le damos a "Aceptar" y volvemos a pinchar en el "TorButton", luego le damos a "cambiar estado de Tor", haciendo que el logo de TorButton pase a ser una cebolla de color verde, indicando que Tor está siendo utilizado.

Para verificar que todo ha ido bien, accedemos a la página check.torproject.org y nos dirá si estamos utilizando la red Tor, o si, por el contrario, algo ha salido mal y no estamos navegando a través de él.


Antes de concluir con el artículo, quiero hablar sobre las ventajas y desventajas de usar Tor:
Ventajas:
  • Anonimato: Es su principal arma, y la cumple sobremanera; nadie podrá, en un principio, saber cuál es el emisor principal de una información que sale de una red Tor.
  • Sin rastros en el equipo: No dejamos ni cookies, ni archivos temporales, ni logs, etc
Desventajas:
  • Seguridad: Los usuarios ubicados en el primer y último nodo de la red Tor podrán leer los datos que se envían.
  • Lentitud: La navegación por la red se verá severamente ralentizada por el simple hecho de que los paquetes tienen que realizar un viaje por la red mucho más largo. 

2 comentarios:

  1. Es un placer para mi ver que alguno de mis artículos han servido para algo y a alguien le ha parecido interesante. Pero agradecería que pusieras la fuente del mismo, ya que está copiado tal cuál punto por punto.
    Todos los artículos de mi blog están publicados bajo licencia Creative Commons como bien puede verse en la parte inferior del blog, sólo requiere que se mencione la fuente original y no sea usado de forma comercial.
    Así que para mantener el respeto hacia licencias tan productivas como es "la Creative Commons" agradecería que se cumpliera con ella.
    En todo caso muchas gracias por difundir conocimientos sobre informática y seguridad.
    Saludos

    ResponderEliminar
  2. No tengo ningún problema, claro que no. Ahora pongo el origen de la fuente, el mérito es tuyo.

    Saludos.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.