Cada vez es más habitual encontrar puntos de acceso públicos a internet en universidades, bibliotecas, cafeterías, parques y hasta en los autobuses. Muchos somos conscientes de los peligros que conectarse a estas redes, y en muchos casos lo evitamos. Desde la salida de FireSheep cualquiera puede acceder a nuestras cuentas si usamos algunos servicios en esas redes, y aunque algunas como Facebook y Twitter han introducido conexiones bajo SSL para sus servicios, otros no se preocupan de la seguridad de sus usuarios.
El invento se basa en Tiny HTTP Proxy, un sencillo proxy escrito por Suzuki Hisao en Python y publicado bajo Licencia MIT, y un tunel ssh entre un equipo que podemos tener en casa que a partir de ahora llamaremos servidor, y un portátil, puede ser un móvil o tablet, desde donde vamos a conectar. El primero con un servidor OpenSSH y el segundo con un cliente SSH, el que sea.
El primer paso es instalar el servidor ssh en el servidor:
~$ sudo apt-get install shh
Puedes encontrar más información sobre como instalar y configurar un servidor ssh en este otro artículo en mi blog, aunque para probar este invento no necesitas cambiar nada. Una vez instalado y configurado comprobamos que funciona correctamente desde el portátil:
~$ ssh usuario@servidor
Siendo el usuario uno de los usuarios en el equipo, y servidor la dirección del equipo en la red. La primera vez aparecerá un mensaje como éste: “The authenticity of host '209.85.146.99' can't be established. RSA key fingerprint is fed7:b7:f2:aa:7a:d1:2f:14:5d:d5:f1:4a:fb:b7:30.
Are you sure you want to continue connecting (yes/no)?”. Es para confirmar que conoces donde te estás metiendo, y como medida de seguridad para futuras conexiones.
Comprobado que tenemos capacidad para conectarnos, descargamos el código de Tiny HTTP Proxy y lo guardamos. Podemos hacerlo en el servidor, o copiarlo desde el portátil con scp:
~$ scp TinyHTTPProxy.py usuario@servidor:/home/usuario
Con el archivo copiado, y desde el portátil:
~$ ssh -L localhost:8000:localhost:8000 -t usuario@servidor python TinyHTTPProxy.py
El tramo -L localhost:8000:localhost:8000 establece el tunel ssh entre los puertos 8000 de las dós máquinas, y -t usuario@servidor python TinyHTTPProxy.py lanza TinyHTTPProxy.py en el servidor.
Ahora es necesario configurar el proxy en nuestro navegador, pongamos que Firefox. En Edición → Preferencias → Avanzado → Red → Conexión → Configuración, introducimos en Proxy HTTP, en servidor localhost y el puerto 8000. Si todo ha ido bien funcionará, podremos navegar y ver, en el terminal, el proxy funcionando.
Una vez hayamos acabado, es importante quitar primero el proxy en navegador y despues parar el proceso en el terminal.
Entrada realizada por: Ohrer
Puedes seguirle en:
http://ctrlaltohrer.blogspot.com , Twitter.
¿Quieres ayudarnos? ¿Tienes algún truco que comentar? ¿Noticia relevante? ¿Quieres escribir en este blog? Es fácil.