ssh-tunnel-diagram-ht.jpg

En varias ocasiones he hablado de como evadir aquellos molestos filtros de seguridad, ya sea cifrando las conexiones DNS con dnscrypt o haciendo lo que se conoce como http tunneling sin embargo, hoy quiero compartir una forma mas sencilla para lograr evadir los cortafuegos y poder navegar libremente (como deberia ser siempre).

Esta ves lo haremos gracias a sshuttle una excelente aplicacion que trabaja como un servidor proxy transparente, enviando todo el trafico a traves de una conexion SSH remota (que tengamos previamente).

Para que esto funcione deberemos cumplir los siguientes requisitos:

  1. Tener un servidor SSH externo disponible, es decir, requerimos un servidor por el cual encaminaremos nuestro trafico y saldremos a internet por alli (si por donde no existen las molestas restricciones).
  2. Este server remoto debe tener python instalado
  3. Tener instalada la aplicación sshuttle en la maquina cliente.

Lo primero que debemos hacer es instalar la aplicación shuttle en la maquina cliente, para esto:

apt-get install sshuttle

Generalmente, cuando estamos en redes protegidas o restringidas, bloquean la mayoría de puertos de salida incluyendo el puerto 22 (SSH), por lo cual  el siguiente paso sera configurar nuestro server externo para que trabaje sobre un puerto que sabemos nunca pueden bloquear (443,53). Esto lo modificamos en el archivo de configuracion sshd_config en el servidor remoto:

# nano /ssh/sshd_config

y cambiar:

Port 443

Por ultimo reiniciamos el servicio:

# service ssh restart

Ahora que ya tenemos nuestro servidor corriendo sobre el puerto 443, lo único que bastara hacer es lanzar la aplicación sshutle desde el pc que se encuentra en la red restringida:

sshuttle –r ip_ssh_server:443 0/0 (como root)
Y woala! de esta manera podrás salir a internet a través de tu servidor el cual se encuentra sin restricciones y navegar libremente..
Nota: Dependiendo de como ejecutes la aplicación, el sistema te preguntara por 2 passwords: Si lanzaste la aplicacion con sudo, primero te preguntara el password de tu usuario local, y posteriormente preguntara el password del server remoto, si ejecutas directamente como root la aplicación, solo te preguntara el password del servidor remoto
Nota2:  No es necesario instalar sshuttle en el servidor remoto, el se encarga de cargar el codigo fuente y ejecutarlo.

¿Como funciona?

Esto crea un servidor proxy transparente en la máquina local para todas las direcciones IP que coincidan con 0.0.0.0/0. (Puede utilizar direcciones IP más específicos si quieres;)

Cualquier sesión TCP que se  inicia a una de las direcciones IP proxy será capturada por sshuttle y envíada a través de una sesión SSH al servidor remoto, que luego regenera la conexión en ese extremo, y  envia de nuevo los datos de un lado a otro a través del tunel ssh.

Otros usos de shuttle

Ya conociendo el funcionamiento de la aplicación, muchos estarán pensando en los otros usos que podríamos darle a esta aplicación, a continuación un par de ellos:

  • De esta misma manera podemos saltarnos aquellas zonas wifi que usan portales cautivos para autenticar los usuarios, la diferencia es que en esos casos el puerto que no pueden bloquear es el 53, entonces tendríamos que poner a correr nuestro servidor SSH externo en dicho puerto.
  • VPN? Es claro que no seria  una vpn para camuflarte y esconder tu IP por que obviamente estarás saliendo con la dirección de tu server, pero si es útil en aquellos casos cuando estas en redes poco “confiables” y quieres cifrar tu trafico.

En conclusión, una de tantas formas de saltarnos estos filtros molestos y absurdos que atentan contra nuestra libertad en la red.

 

Fuente: rinconinformatico

¿Quién está en línea?

Hay 29025 invitados y ningún miembro en línea