04 enero 2011

Instalando Tor en iPhone: privacidad con Wi-Fi y GPRS/3G

Hemos nombrado varias veces TOR, este proyecto tiene tanto fieles seguidores como algunos detractores, para gustos los colores. Pero lo que está claro es que siempre que hablamos de mecanismos de privacidad (aunque sea mínima), es de las típicas recomendaciones.

Pese a ser un servicio muy utilizado, con una gran comunidad detrás, últimamente se le achacan varios problemas, paradójicamente, en cuanto a privacidad como ya comentamos al final de este post. Hace unos años, un investigador de seguridad sueco, Dan Egerstad, fue detenido por montar varios nodos TOR e interceptar contraseñas de un centenar de correos electrónicos de empresas, servicios gubernamentales, etc. TOR es una red la cual cifra las comunicaciones a su entrada para posteriormente descifrarse a su salida. Por ello, cualquier creador de un nodo podrá obtener la información que salga del suyo. Pero tranquilos: una de las soluciones sería por ejemplo acceder a Tor utilizando además una conexión cifrada (VPN). En un post anterior de nuestro compañero Yago Jesús encontraréis un conjunto de preguntas y respuestas sobre cómo protegernos de Firesheep, con multitud de soluciones para el cifrado de nuestras conexiones.

Pues bien, tras esta breve introducción, sólo recordar que actualmente, el proyecto Tor puede ser utilizado tanto por usuarios de Windows, como de Linux/UNIX/BSD y Mac OS X. A continuación os mostramos los pasos a seguir para poder ejecutar Tor en iPhone, pudiendo así contar con algo más de privacidad a la hora de navegar. Es una tarea muy sencilla, por lo que también añadiremos la configuración necesaria para acceder a la red también a través de una VPN gratuita y estableciendo como proxy nuestro acceso a Tor. En este caso, utilizaremos Hotspot Shield (existen múltiples soluciones, pero como demostración nos valdrá).

--------------- NOTA ---------------

TOR nos habilita un proxy local mediante el cual se realizan las peticiones, por lo cual únicamente podríamos utilizar TOR en conexiones Wi-Fi que permiten establecer un proxy HTTP manualmente a la hora de su configuración. Es por ello que recurrimos a una conexión VPN, además de por seguridad, para aprovechar esta capacidad también en conexiones de datos EDGE/GPRS/3G.

--------------------------------------

Antes de comenzar, recordar varios detalles a tener en cuenta:
  • Es necesario un iPhone con Jailbreak.
  • Tener Cydia instalado y SSH ejecutándose.
Instalando Tor en iPhone mediante Cydia

Marco Bonetti (@_sid77) es el responsable de haber portado el proyecto Tor a iPhone. Ha creado un repositorio de Cydia desde el cual poder descargar el servicio y los complementos necesarios, por lo que la tarea es muy sencilla.
  1. Accedemos a nuestro dispositivo como root mediante un cliente SSH (espero que hayáis seguido las recomendaciones para iPhone sobre el servicio SSH y que hayáis cambiado vuestra contraseña tanto de root como del usuario mobile...)
  2. Copiamos este fichero .deb en el directorio /var/root/Media/Cydia/AutoInstall (si no existe el directorio AutoInstall, créalo).
  3. Reiniciar el iPhone.
  4. Una vez reiniciado, nos conectamos a internet vía Wi-Fi o 3G y accedemos a Cydia, refrescando las fuentes y actualizando todos los paquetes a la última versión disponible.
  5. Tenemos ya el repositorio de sid77 instalado mediante el paquete .deb.
    Repositorio de sid77 instalado como fuente de paquetes


  6. A continuación, instalamos el paquete Tor Toggle, que incluirá todos los paquetes necesarios para ejecutar Tor. Además, el toggle para la aplicación SBSettings nos permitirá activar y desactivar Tor de una manera sencilla desde el Springboard (Post explicativo sobre qué es SBSettings en ActualidadIphone



  7. Una vez tenemos el toggle y hemos activado la funcionalidad, ya tenemos disponible un proxy y un puerto local (por defecto, 8118) mediante el cual estableceremos la conexión con la red Tor. 


    Puerto Tor a la escucha y listo...
Comprobación de la conexión a la red Tor

De momento y con el fin de comprobar si tenemos Tor correctamente instalado y ejecutándose en nuestro iPhone, añadimos a nuestra conexión Wi-Fi el proxy HTTP manual, servidor 127.0.0.1 con puerto 8118 y sin autenticación:


Y seguidamente, accedemos a la página http://check.torproject.org que ejecuta un script para asegurarnos de que tenemos Tor configurado correctamente y pertenecemos a su red:



¡Perfecto! Estamos en la red Tor. Pero como hemos comentado, sólo podríamos aprovecharnos de Tor en caso de navegar a través de Wi-Fi. Es hora de utilizar una VPN para también tener privacidad navegando a través de una conexión de datos GPRS/EDGE o 3G.

Creación de conexión VPN para iPhone mediante el servicio Hotspot Shield

Accedemos a esta dirección en cualquier navegador: http://hotspotshield.com/clientless/iphone/

Web de bienvenida y tutorial de configuración de VPN Hotspot Shield gratuita en iPhone
Pulsamos en el botón Get Started y seguimos las indicaciones sobre como configurar una VPN gratuíta de Hotspot Shield en nuestro iPhone (desactivar Wi-Fi y activar conexión de datos, ya sea GPRS/EDGE como 3G):

Tutorial y creación de cuenta temporal, sin necesidad de registro.
Creamos una nueva conexión VPN (el menú se encuentra en General-> Red o General-> Network)
Tipo de VPN que vamos a crear: IPSec, comenzamos a cumplimentar los datos como indica la web 

Tras completar los datos...¡STOP! es hora de introducir nuestro proxy Tor local para conectarnos a la VPN a través de dicha red, aprovechándonos de esta doble privacidad (VPN + Tor)

Estableciendo nuestro proxy Tor en VPN de HotSpot Shield

Al final de la ficha de configuración VPN, se encuentra el apartado Proxy, que nos permite configurar un proxy HTTP manual tal y cómo nos permitía la conexión Wi-Fi, introducimos como servidor el host local y como puerto 8118 (necesario que Tor se encuentre en ejecución):

Configuración de proxy manual para la VPN
Comprobación de Tor + VPN por GPRS/3G

Tenemos conexión de datos activada, lanzamos la conexión VPN que acabamos de crear...y tras unos segundos, estaremos conectados a la VPN recién configurada:


Es hora de comprobar de nuevo, entrando mediante Safari a la dirección http://check.torproject.org, si hemos accedido correctamente a la red Tor y podemos navegar anónimamente...



¡Misión cumplida!

Como es lógico y podréis deducir, esta "cadena" de mecanismos podrían ralentizar ligeramente la conexión resultado, pero está claro que la pérdida de un poco de velocidad está más que justificada si nuestra meta es conseguir escondernos en la red.

- Referencias

16 comments :

seifreed.com dijo...

Hola!

Que buen POST, me ha gustado eso de Tor en Iphone

Un saludo

Román Ramírez dijo...

Enorme sobre todo la parte de unirlo con el acceso EDGE/gprs con Hotspot Shield.

Muy brillante.

trivial dijo...

Muchas gracias por el aporte, tengo ganas de contar con tor en mi movil

Anónimo dijo...

Gracias por el artículo, muy práctico :)

Una pregunta, en este esquema o parecidos utilizando un proxy con TOR que riesgo existe que se pierda privacidad precisamente por utilizar un proxy de una "empresa desconocida"?

José A. Guasch dijo...

Gracias a todos por los comentarios :)

@Anónimo, aúnque la empresa nos prometa privacidad, anonimato, cifrado y demás, siempre nos quedará la típica pequeña duda.

La solución IDEAL sería la de utilizar una conexión VPN propia como ya se ha explicado alguna vez en el blog, y quiero recalcar que he utilizado como ejemplo la VPN ofrecida por el servicio HotspotShield más que nada por su facilidad de configuración, buen rendimiento y, de momento, prestigio para/con su tarea.

La idea es aprovechar un mecanismo que nos permita acceder a la red y que permita la configuración de un proxy, por eso hemos recurrido a la funcionalidad VPN. Si MobileSafari permitiría la configuración de proxy (como permiten otros navegadores de la AppStore) no necesitaríamos la conexión VPN para acceder a la red Tor, pero bueno, es otro paso que quizás nos permite añadir una capa más de la que no preocuparnos.

Anónimo dijo...

Me gustaría hacer un matiz respecto al siguiente comentario:

"Pero tranquilos: una de las soluciones sería por ejemplo acceder a Tor utilizando además una conexión cifrada (VPN)"

Creo que esto es incorrecto.
Conectamos al servidor VPN el cual descifra la información una vez es llegada a el. Posteriormente realiza la petición a la maquina que hayamos hecho nosotros, si es el caso de una red tor, se cifra la información propia de dicha red, pero el nodo final igualmente puede ver la información de la petición previa que habiamos hecho nosotros.
Esquemáticamente, quedaría así:

HOST ----> VPN ----> TOR
HOST <---- VPN <---- TOR

La información se cifra por la vpn, pero cuando sale de ella (salvo se use cifrado), sale en claro.

BlackSpiral dijo...

Yeah lo he probado en iphone 3g con ios4.21 y funciono a la perfección.

gracias y seguimos pendientes.

Alargon dijo...

Tengo problemas con el IPad, a alguien le ha funcionado? consigo que abra un poerto de proxy SOCKS (ejecutando tor por terminal) pero no HTTP.

Anónimo dijo...

Buen post :), generalmente uso hotspotshield en windows que te lanza un monton de iframes y publis (nada que noscript no pueda solucionar), pero me pregunto que tan fiable es hotspotshield alguien sabe de donde realmente proviene¿?

saludos

deincognito dijo...

¿Y no es posible usar TOR para evitar que las aplicaciones envíen datos como UDID, dirección IP, geolocalización,...?

Gracias

deincognito dijo...

¿Y no es posible usar TOR para evitar que las aplicaciones envíen datos como UDID, dirección IP, geolocalización,...?

Gracias

Alargon dijo...

Tengo problemas con el IPad, a alguien le ha funcionado? consigo que abra un poerto de proxy SOCKS (ejecutando tor por terminal) pero no HTTP.

BlackSpiral dijo...

Yeah lo he probado en iphone 3g con ios4.21 y funciono a la perfección.

gracias y seguimos pendientes.

José A. Guasch dijo...

Gracias a todos por los comentarios :)

@Anónimo, aúnque la empresa nos prometa privacidad, anonimato, cifrado y demás, siempre nos quedará la típica pequeña duda.

La solución IDEAL sería la de utilizar una conexión VPN propia como ya se ha explicado alguna vez en el blog, y quiero recalcar que he utilizado como ejemplo la VPN ofrecida por el servicio HotspotShield más que nada por su facilidad de configuración, buen rendimiento y, de momento, prestigio para/con su tarea.

La idea es aprovechar un mecanismo que nos permita acceder a la red y que permita la configuración de un proxy, por eso hemos recurrido a la funcionalidad VPN. Si MobileSafari permitiría la configuración de proxy (como permiten otros navegadores de la AppStore) no necesitaríamos la conexión VPN para acceder a la red Tor, pero bueno, es otro paso que quizás nos permite añadir una capa más de la que no preocuparnos.

trivial dijo...

Muchas gracias por el aporte, tengo ganas de contar con tor en mi movil

kRoNos dijo...

Excelente post, muy claro.