Tal y como menciono en el título. Gracias a SSH se puede navegar de forma anónima y totalmente segura por la web. En realidad gracias a que SSH soporta SOCKS.
Utilidad:
Utilidad:
- Navegar de forma anónima y segura.
- Acceder a sitios restringidos por un firewall, proxy, etc.
- Acceder a servidores web de la red interna del servidor SSH.
- ......... Seguramente muuuuuuchas más.
Requisitos:
- Disponer de un servidor SSH (remoto).
- Cliente WEB que permita configurar SOCKS. Lo he probado con Iceweasel (Firefox).
Ni que decir tiene, que en el sitio público desde donde vayamos a realizar la operación debe haber un puerto disponible para SSH. Por defecto el 22 (tcp). Además, hemos de tener acceso al servidor SSH con nuestro usuario correspondiente.
Aunque parezca increíble, ya no habría que hacer nada más salvo que establecer la conexión vía SSH de manera que se cree un Proxy con SOCKS y configurar nuestro navegador web.
Estableciendo el túnel SSH (Proxy SOCKS):
En el navegador web, en mi caso Iceweasel, tendremos que ir a "Editar/Preferencias" y ahí dentro, pestaña "Avanzado" y en esa sección a la pestaña "Red". Pinchamos en "Configuración..." y obtendremos una pantalla emergente.
Ahora que estamos en la sección adecuada, seleccionamos o modificamos los siguientes campos:
Aunque parezca increíble, ya no habría que hacer nada más salvo que establecer la conexión vía SSH de manera que se cree un Proxy con SOCKS y configurar nuestro navegador web.
Estableciendo el túnel SSH (Proxy SOCKS):
ssh -D 4321 usuario@servidor_sshLa orden anterior nos poermitiría crear el túnel SSH. Se encarga de redirigir la información de nuestro cliente web. Para ello se ha usado la opción "-D" y un puerto, en mi caso el 4321. Obviamente, tendremos que modificar la configuración de nuestro navegador para que envíe la información a nuestro "proxy local", que a su vez enviará la información cifrada por SSH al servidor.
En el navegador web, en mi caso Iceweasel, tendremos que ir a "Editar/Preferencias" y ahí dentro, pestaña "Avanzado" y en esa sección a la pestaña "Red". Pinchamos en "Configuración..." y obtendremos una pantalla emergente.
Ahora que estamos en la sección adecuada, seleccionamos o modificamos los siguientes campos:
- Marcar "Configuración manual del proxy".
- En las casillas de "Servidor SOCKS" escribir "127.0.0.1" y puerto "4321".
- Dejar marcado "SOCKS v5".
- Añadir los dominios o sitios que deseemos en "No usar proxy para:". ("No vamos a salir para quedarnos en casa").
Así, una vez aplicados los cambios, todo debería funcionar a la perfección. Sin embargo, se puede optimizar o mejorar un poco más la cosa.
Por ejemplo, tal y como está ahora configurado el navegador web, todas nuestras consultas DNS realizadas cuando naveguemos se seguirán realizando en el servidor DNS del sitio donde estemos y no a través de nuestro túnel SSH.
Para que también se realicen las consultas DNS a través de SSH, hemos de escribir en nuestro navegador "about:config" y cambiar la clave "network.proxy.socks_remote_dns" a "true". (Esto es posible gracias a la versión 5 del protocolo SOCKS).
Además podemos mejorar la forma en que lanzamos nuestro cliente SSH para crear el túnel:
Así estaría todo configurado para navegar de manera segura, anónima y poder acceder a sitios restringidos y a páginas web que se sirvan en la red interna donde está el servidor SSH.
Eso es todo. Espero que os haya gustado.
Salu2! ;)
Por ejemplo, tal y como está ahora configurado el navegador web, todas nuestras consultas DNS realizadas cuando naveguemos se seguirán realizando en el servidor DNS del sitio donde estemos y no a través de nuestro túnel SSH.
Para que también se realicen las consultas DNS a través de SSH, hemos de escribir en nuestro navegador "about:config" y cambiar la clave "network.proxy.socks_remote_dns" a "true". (Esto es posible gracias a la versión 5 del protocolo SOCKS).
Además podemos mejorar la forma en que lanzamos nuestro cliente SSH para crear el túnel:
ssh -qnN -D 4321 usuario@servidor_ssh &Lo que hacemos con el comando anterior, a parte de dejarlo corriendo en segundo plano, es ejecutarlo en modo "quiet", que haga caso omiso de lo que se introduzca por el teclado y que no se ejecute ningún comando. Si vamos a usar esa conexión como un túnel, ¿para que se quiere un prompt?.
Así estaría todo configurado para navegar de manera segura, anónima y poder acceder a sitios restringidos y a páginas web que se sirvan en la red interna donde está el servidor SSH.
Eso es todo. Espero que os haya gustado.
Salu2! ;)




