February 10, 2006

Túnel para HTTP sobre SSH

Una forma de incrementar la seguridad y la privacidad a la hora de navegar por la web, es haciéndolo mediante un túnel sobre SSH. Mi punto de acceso consiste en un router WRT54GL con firware de Fon por lo que tengo la red abierta y sin ningún tipo de encriptación y además posee un servidor SSH.

Bajo Windows, para conectar con el servidor SSH del router y realizar el túnel, utilicé el cliente SSH Putty. Una vez instalado configuro en él la IP y el puerto del router.

Seguidamente, dentro de Connection->SSH->Tunnels introducimos en Source port el puerto local que deseemos utilizar, marcamos la casilla Dynamic y pulsamos en Add. De esta forma crearemos un proxy SOCKS en nuestra máquina en el puerto que hayamos introducido.

Una vez realizada y logueada nuestra conexión en el servidor SSH, debemos indicarle a nuestro navegador, en este caso Firefox, que conecte a través de nuestro proxy SOCKS. Para ello, en Preferencias y dentro de la pestañ General pulsamos el botón Configuración de conexión.... Allí seleccionamos Configuración manual del proxy y en Servidor SOCKS introducimos localhost y en Puerto, el puerto que hayamos introducido en Putty.

Para Linux, utilizaremos el cliente ssh incluido en OpenSSH y simplemente con el comando:

localhost$ ssh -D 3000 usuario@ip_servidor_ssh

tendremos creado nuestro proxy SOCKS en el puerto 3000 y sólo nos quedaría configurar el navegador para que conecte a través de él.

Hay que decir de esta forma todo nuestro tráfico HTTP estará encriptado pero no así las peticiones DNS que realice nuestro sistema y que tendremos que estar logueados en el servidor SSH todo el tiempo que deseemos usar el proxy.