Cómo crear un proxy para navegar en el trabajo con SSH
Escrito por
ffuentes el Thursday, 25 de August del 2011 a las 5:15
Como explicaba en el artículo de JAP, existen alternativas para evadir la censura, conservar nuestro anonimato o evitar restricciones geográficas más allá de los típicos proxies web que son hasta cierto punto útiles pero son fácilmente censurables y además no sirven para ver videos o reproducir algo más allá de HTML.
Entonces una opción es usar JAP pero el inconveniente de JAP (o de Your Freedom) es que si no pagamos es lento y si pagamos, tenemos que desembolsar una gran cantidad a cambio de una velocidad mayor pero aún así bajo unos límites bastante restringidos de transferencia, sin contar que mucha gente no tiene tarjetas de crédito.
Una alternativa es utilizar otro PC que esté bajo nuestro control, puede ser un VPS u otra máquina de nuestro alcance (por ejemplo, si necesitamos saltarnos el filtro de nuestra oficina, nos basta con el PC de casa) y ayudarnos con SSH. Crearemos un proxy al que solamente tendremos acceso nosotros y que cifrará el contenido, dándonos un cierto nivel de anonimato.
¿Qué hacer?
SSH es un protocolo seguro que nos permite manejar un PC de forma remota a través de la consola.
Algo que nos permite SSH es redirigir puertos a través de él y hay muchas alternativas para hacerlo posible, y voy a mostrar dos, una que me funcionó y otra que no. Veréis que no es dificil.
Lo primero que debo decir es que para hacer esto utilicé un VPS, que ya viene con el servidor SSH integrado, si emplean un PC casero tendrán que instalar y configurar SSH previamente.
a) Usar solamente SSH
Esta es la alternativa más rápida y fácil pero por alguna razón a mi no me funcionó. Se trata de conectarnos al PC remoto con Putty (que en Windows es la opción principal y lo pueden instalar en un pendrive).
En el caso de Linux, con OpenSSH todo lo que hay que hacer es escribir en la consola:
Reemplazando host por la IP del equipo o la URL (un PC casero con IP dinámica puede tener una URL con dyndns por ejemplo). Los parámetros -fND provocan que SSH simplemente ejecute la redirección de puertos, que esta sea dinámica (tanto local como remota) y que corra en segundo plano. El puerto del ejemplo es el 7777 pero puede ser el que quieras.
Luego tenemos que ir a la configuración de red de Firefox o el navegador que estén usando y cambiar la configuración para que el navegador se conecte por medio del proxy SOCKS v5 en localhost puerto 7777.
En Putty es necesario para lograr el mismo efecto, configurar antes de conectarnos al PC remoto, en la columna izquierda seleccionar Connection -> SSH -> Tunnels. En "source port" escribimos 7777 y hacemos clic en "Add". Debemos además marcar "Dynamic". Con todo en su lugar hacemos clic en "Open" y cambiamos la configuración de Firefox de la misma manera en que lo expliqué en el párrafo anterior.
b) Privoxy
Es muy similar pero se recomienda usarlo para conexiones HTTP por un tema de seguridad, ya que la primera alternativa no impide que el DNS se resuelva desde la red local. Además fue esta solución la que realmente me funcionó.
En nuestro sistema remoto instalamos previamente Privoxy, que es un programa especialmente diseñado para esto, a diferencia de Squid que es bastante complicado de configurar y está hecho para filtrar cosas (que es la función clásica de los proxies). Privoxy filtra por defecto algunos anuncios que pudieran delatar nuestra identidad.
Privoxy utiliza el puerto 8118, por lo que hemos de estar seguros de que no hay un bloqueo de ese puerto con ningún firewall o escoger otro puerto y configurarlo para que funcione por ahí.
Luego de instalarlo, lo iniciamos para que cuando lo necesitemos, esté corriendo.
De vuelta en nuestro PC de la oficina o en nuestro PC local, si tenemos OpenSSH, escribimos lo siguiente:
Esto a diferencia del ejemplo anterior no es una redirección dinámica, sino local (eso significa la L).
Ahora todo lo que tenemos que hacer es decirle a nuestro navegador que use el proxy de localhost, puerto 8118 para conectarse a Internet. Si lo hemos hecho todo bien, ya estamos usando un proxy para conectarnos a Internet y podemos ingresar a una página de estas que nos indican qué IP tenemos para comprobarlo.
Algo que desconozco es si acaso los servicios de consolas remotas gratuitas como SDF, sirven para esto, en especial para la segunda alternativa. Me queda de tarea.
La segunda alternativa la aprendí del siguiente sitio web que explica además otras alternativas para tunelar nuestro tráfico.
Categoría: privacidad |
No hay Comentarios »
Feed RSS


