jueves, marzo 08, 2007

Túneles ssh y Proxys

A veces, es necesario salir por ssh a alguna máquina en el exterior desde una red en la que se está trabajando. Muchas veces, el acceso que se dispone no es más que http o https, y sólo a sus correspondientes puertos (80/tcp y 443/tcp). A partir de estas necesidades han salido productos (por ejemplo Connectra de Checkpoint o OpenVPN - por nombrar un producto de soft libre -) que permite el acceso a través de SSL a otras redes.

Sin embargo, no siempre ni tenemos licencia ni tenemos acceso a estos productos, y simplemente deseamos llegar a nuestro ADSL de casa para dar un salto hacía otra máquina o leer nuestro correo. Además, en caso de usar conexiones dinámicas en nuestro ADSL, siempre podemos utilizar un servicio que nos permita tener un nombre de máquina y que se actualice conforme cambie la dirección IP de nuestro ADSL.

Una configuración sencilla - siempre que dispongamos de un Unix con el deamon de ssh corriendo - es usar túneles ssh con Openssh y corkscrew. Este último programa lo que hace es tunelar la conexión ssh a través de un proxy http - puede soportar autentificación básica http, aunque no soporta NTLM, lo que limita su uso en entornos que usen esta autentificación de Microsoft -.

Lo que se hace es aprovechar la opción ProxyCommand del ssh que ejecutará el programa que le digamos, y se encargará de conectarse al site por el proxy - en este caso corkscrew -.

Así, se crea un fichero ssh.proxy.config que se puede usar para este tipo de conexiones:

ProxyCommand /usr/local/bin/corkscrew proxy puerto %h %p Port 443
%h y %p es la información que pasará el proceso ssh con el host y el puerto a usar, puerto es el puerto del proxy y proxy es la dirección ip del mismo. En este caso he añadido que use para conectarse el puerto 443, puesto que no se permite la salida por el proxy a destinos distintos de 80 o 443).

Siempre se puede usar el pppd en un momento dado para establecer una interfaz virtual a través de la conexión ssh, abriendo efectivamente Internet a través del proxy, que en principio, sólo nos dejaba usar http o https.

Technorati Tags: ,

No hay comentarios: