Sozter!

Navega seguramente con un proxy casero y un túnel SSH

(Nota: Modifiqué el título porque creo que el anterior era un poco confuso. El permalink sigue siendo el mismo en caso de que alguien haya enlazado aquí.)

Un lector me ha escrito para preguntarme si existe alguna forma de poder navegar en Internet en sitios donde su uso está regulado, como oficinas, escuelas y universidades donde bloquean ciertas páginas y/o puertos. Puesto que ya he escrito antes acerca de como controlar Azureus y uTorrent remotamente, pensé que esta es una buena excusa para sacar a Sozter! del semi-retiro y ayudar al amigo lector a evadir sus responsabilidades laborales a navegar en Internet para usos totalmente legítimos. Aclaro que este tutorial es una traducción/parafraseo de un excelente tutorial, escrito en el difunto blog Unrequited Narcissism.

En fin, lo que vamos a hacer, en pocas palabras, es tomar el tráfico de nuestro navegador en la escuela/oficina/universidad y mandarlo a través de un túnel SSH encriptado a nuestra PC en la casa, la cual estará corriendo un servidor proxy. Nuestra PC en casita se conectará a la página a la que queremos acceder usando nuestra conexión casera, y enviará los datos de vuelta a través del túnel. Nuestro jefe/profe/administrador no verá ni sabrá nada acerca del tráfico ni de los sitios que estamos viendo, excepto que todo está misteriosamente oculto. Hmm.

Para este tutorial necesitaremos:

  1. La PC que tendremos en casa (que llamaré PC1), y una en la oficina/escuela/universidad (que la llamaré en adelante PC2). Ambas deben tener Windows XP. Los geeks de Linux probablemente tienen los conocimientos para hacer esto por sí mismos, y los usuarios de Mac… bueno, si hay suficiente demanda más adelante haré un tutorial específico para Mac.
  2. OpenSSH para Windows
  3. PuTTY
  4. Privoxy
  5. Voy a asumir que sabes como abrir los puertos en el firewall de Windows (o sea cual sea el que uses), así como en el router, en caso de tenerlo. En PortForward hay bastante información al respecto.

Instalando OpenSSH

Lo primero que vamos a hacer es instalar OpenSSH, un servidor SSH gratuito para Windows, en la PC1. SSH (Secure Shell) es un protocolo y un programa que permite acceder remotamente a otra computadora a través de una red, ejecutar comandos, transferir archivos, etc. Puedes leer más información acerca de SSH en Wikipedia. Descárgalo, instálalo y ya.

Instalando OpenSSH

Una vez instalado, probablemente vamos a querer cambiar el puerto en el que esta cosa va a funcionar. SSH, por defecto, corre en el puerto 22. Sin embargo si estás en un lugar en el que Internet está restringido es probable que este puerto esté cerrado, ya sea por razones de productividad o de seguridad. Otra opción es el puerto 80, que es casi totalmente seguro que esté abierto. Sin embargo, este puerto puede traerte problemas con tu proveedor de Internet, puesto que algunos proveedores no les agrada que uno sirva tráfico web en computadoras caseras. Finalmente, el puerto 443 puede ser una buena opción, ya que es usado por páginas con SSL así que es probable que esté abierto. En caso de decidir cambiar el puerto, abre el archivo \Archivos de Programa\OpenSSH\etc\sshd_config con un editor de texto (me gusta Notepad++), busca una línea que dice “#Port 22”, descoméntala (es decir, quita el #) y cambia el número del puerto de 22 al que vayas a usar. Guarda el archivo.

Cambiando el puerto

Sólo nos falta agregar un usuario para este servidor. Para este paso inicia sesión en Windows como un administrador, has clic con el botón derecho en “Mi PC” y selecciona “Administrar”. Ve a “Usuarios locales y grupos”, has clic con el botón derecho en Usuarios y selecciona “nuevo usuario”.

Agregando un nuevo usuario

Ingresa un nombre de usuario (en este caso elegí “usuariossh”) y una buena contraseña. Desmarca la casilla de “El usuario debe cambiar la contraseña en el siguiente inicio de sesión” y marca las casillas de “El usuario no puede cambiar la contraseña” y “La contraseña nunca caduca”. Clic en “crear”. Listo, puedes cerrar la Administración de Equipos.

Creando el usuario

Ve al menú Inicio, Ejecutar, escribe cmd, aceptar.

Abriendo la consola

Escribe lo siguiente:

cd \Archivos de Programa\OpenSSH\bin
mkgroup -l >> ..\etc\group
mkpasswd -l -u usuariossh >> ..\etc\passwd

Agregando el usuario a OpenSSH

Seguidamente, ve al Panel de Control, Herramientas Administrativas, Servicios. Busca “OpenSSH server” en la lista de servicios y has doble-clic para abrir sus propiedades. Asegúrate que el tipo de inicio sea “automático”, y presiona el botón de “Iniciar”.

Iniciando OpenSSH

Excelente, ya tu PC de casa es un servidor SSH. Sólo queda un par de cosas que hacer, que es abrir el puerto correspondiente (el que configuraste del SSH) en el firewall de la PC y en el router.

¿Qué tal si lo probamos? Descarga PuTTY (un cliente gratuito de SSH para Windows), y ejecútalo en la PC1 (no requiere instalación). En “host name”, coloca localhost (porque estamos en casa todavía), y en “port” el puerto que seleccionaste para el SSH, en mi caso 443. Presiona el botón de Open. Debería salir una advertencia que sólo sale la primera vez, y después debería pedirte el nombre de usuario y contraseña. Usa los que escogiste para SSH. ¡Woohoo! Deberías ver una consola parecida al command prompt de Windows.

Probando PuTTY

Instalando Privoxy

Ok, sigamos, ya la parte difícil está hecha. Es hora de instalar el servidor proxy en la PC1, y para esto vamos a usar Privoxy. Descarga la versión más reciente e instálala, no te preocupes por las opciones, ya que las que están por defecto funcionan bien. Cuando termines de instalarlo, tendrás un proxy HTTP que sólo escucha conexiones locales en el puerto 8118. Ya veremos por qué esto es útil.

Privoxy

Configurando el túnel SSH

Finalmente, solo nos queda crear el túnel SSH propiamente dicho. En la PC2, es decir, en la oficina/escuela/universidad, vamos a ejecutar PuTTY. Como no necesita instalación, simplemente podemos llevarlo en un flash drive o hasta en un diskette y ejecutarlo desde ahí. En fin, coloca la información para conectarte a tu servidor en casa. Esta vez no será localhost, sino el número de IP de casa. Lo mejor en este caso es instalar (en la PC1) un servicio de DNS dinámico como No-IP, para no tener que recordar el número cada vez que nos queramos conectar.

PuTTY

Antes de conectarte, en el menú de la izquierda selecciona Connection, SSH, Tunnels. En “Source port”, ingresa 8118, y en “Destination”, ingresa 127.0.0.1:8118. Presiona “Add”.

Configurando el túnel

¿Qué es todo esto? Sin profundizar en detalles técnicos, SSH permite redireccionar puertos entre el cliente (la PC2) y el servidor (PC1, donde instalamos OpenSSH y Privoxy). El tráfico que entra en el puerto “Local” es enviado al servidor SSH, y de ahí es enviado a la dirección indicada en el campo “Destination”. Y como muchos sabrán, 127.0.0.1 es una dirección comúnmente llamada “localhost” que es usada por una computadora para referirse a sí misma. En cristiano, lo que estamos haciendo es agarrar todo el tráfico que entra a nuestro cliente por el puerto 8118, mandarlo a través del túnel SSH al servidor en casa, el cual procede a enviarlo a 127.0.0.1:8118, es decir a sí misma en el puerto 8118. Lo cual vendría siendo una conexión local en el puerto 8118, que es lo único que escucha Privoxy.

Ok, ahora vuelve a la ventana inicial de PuTTY (seleccionando Session en la parte superior del menú izquierdo), verifica los datos del host y el puerto. Escribe algo en Saved Sessions y has clic en Save, de esa manera no tienes que volver a configurar el túnel cada vez que quieras usarlo. Clic en Open para iniciar la sesión. Obviamente, debes ingresar el nombre de usuario y contraseña y mantener PuTTY abierto todo el tiempo que quieras usar el túnel, si no el agujero de seguridad sería del tamaño del mundo.

Configurando el navegador para usar nuestro proxy

Bueno, ya que tenemos nuestro túnel SSH funcionando, lo único que nos queda es configurar el navegador en PC2 para usar el proxy HTTP. En Internet Explorer 6, debes ir a Herramientas, Opciones de Internet, Conexiones, Configuración de LAN, Avanzadas. Coloca en HTTP, Dirección del servidor proxy: 127.0.0.1, puerto: 8118.

Configurando el proxy

En Firefox, debes ir a Herramientas, Opciones, Avanzadas, Red, Opciones, Configuración manual de proxy, y en proxy HTTP: 127.0.0.1, puerto: 8118. También tienes la opción de instalar la extensión SwitchProxy para seleccionar entre varias configuraciones de proxy rápidamente.

Configurando el proxy

Si no tienes permiso en tu PC para modificar la configuración de proxy de Internet Explorer, puedes usar Portable Firefox. Este navegador puedes guardarlo en un flash drive y ejecutarlo directamente desde ahí.

Y listo, ya puedes navegar.

Observaciones y conclusiones

Algunas observaciones finales: En primer lugar, este método no es precisamente rápido, puesto que la mayoría de las conexiones caseras son asimétricas. Es decir, la velocidad de bajada es mayor que la velocidad de subida. Normalmente esto no es un problema ya que descargar una página web no es tan pesado como realizar la solicitud a dicha página, pero en este caso cada página que es descargada es subida de vuelta por el túnel SSH. Así que los mejores resultados se logran con una conexión que tenga buena velocidad de subida, pero aún así la diferencia de velocidad se notará. Pero es mejor que nada, supongo.

Segundo, a pesar de que este método es bastante seguro ya que el contenido del túnel está encriptado, igual recomiendo usarlo únicamente para fines legítimos, como revisar algún correo personal (muchas veces me ha pasado que necesito algo que tengo en Gmail para lo que estoy haciendo en ese momento y por mala suerte está bloqueado). De esa forma, si algún superior pregunta la razón de esa conexión desde tu terminal, por lo menos tienes una excusa válida. Si en verdad piensas usar esto para bajar porno en el trabajo, recuerda que aún queda un registro de tu navegación en la PC (historial, caché, etc.), y ten en cuenta que cuando te boten no tienes más nadie a quien culpar sino a ti mismo.

Finalmente, si en tu trabajo, universidad o escuela no bloquean el acceso a Internet no significa que no puedas usar este método. Si estás en un sitio público, más bien creo que tienes todas las razones del mundo para usar un túnel encriptado para navegar en Internet con mayor privacidad. Nunca sabes quien puede estar usando Ethereal para espiar tu tráfico web.

Opera para Wii ya está disponible

Sozter! en el Wii

La versión de prueba del navegador Opera para Wii, mejor conocido como el Internet Channel, ya está disponible. En verdad ha estado disponible desde hace horas, pero ciertas cosas (como Wii Sports y Zelda Twilight Princess) me han impedido escribir al respecto. Puedes descargarlo gratis desde el Wii Shop Channel, por un costo de cero puntos, o sea, gratis. Estará disponible gratis hasta marzo, cuando salga la versión definitiva, la cual será gratis hasta finales de junio. ¿Mencioné que es gratis? He probado con uno que otro sitio web (como Gmail, por ejemplo), y el resultado es el que esperaba considerando que es Opera: excelente. Sin embargo, gracias a Wii Sports y Zelda, tampoco es que he probado exhaustivamente.

Opera para Wii es gratis, y ocupa 230 bloques de la memoria del Wii. Ahora si me disculpan, voy a jugar.

Versión de prueba de Opera para Wii estará disponible el viernes

Opera for Wii comic

Nintendo y Opera anunciaron hoy que la versión de prueba del navegador Opera para Wii estará disponible para ser descargado gratuitamente este viernes 22 de diciembre para activar el Internet Channel del Wii, y poder navegar por la red. La versión final estaría disponible a finales de marzo de 2007, y sería gratuito para todos los usuarios de Wii hasta junio. Después de junio, el navegador Opera estará disponible en el canal Wii Shop por un costo de 500 puntos Wii ($5).

Es una excelente noticia que Nintendo no esté usando cualquier navegador para su consola, sino que estén usando Opera, que es uno de los mejores navegadores del mercado, y probablemente el mejor en cuando a seguimiento de los estándares de la W3C, lo que garantiza el correcto despliegue de la mayoría de los sitios web, incluyendo aquellos que cuentan con interfaces dinámicas basadas en Ajax. Además es una buena noticia que incluya soporte para Flash, aunque no encuentro información de cual versión del plugin vendrá incluido. Todo esto, sumado al uso del Wiimote para apuntar y hacer clic en los enlaces, y mover y hacer zoom en cualquier sitio de las páginas, creo que asegura que navegar en Internet por el televisor sea casi tan fácil como hacerlo en la computadora.

Espero que mi Wii llegue antes del viernes…

(Vía Kotaku)

Fasterfox: Navega más rápido

Fasterfox

Fasterfox es una extensión para Firefox que permite acelerar la navegación en la Web ajustando una cantidad de parámetros de redes y renderización como el número de conexiones simultáneas, pipelining, caché, caché del DNS y otras. También incluye una opción de “prefetching”, que es la carga silenciosa de links antes de que hagas clic en ellos, lo cual acelera la navegación porque cuando finalmente hagas clic en el link este estará guardado en el caché. Para mayor seguridad, esta opción incluye varias limitaciones para evitar activar links como los de “cerrar sesión” u otros que puedan producir efectos indeseados, aunque aún así recomiendo dejarla desactivada por si acaso. Entre otras cosas, también incluye un bloqueador de popups y un cronómetro que indica el tiempo de carga de cada página, para ver la efectividad de la extensión cada vez que se cambia una opción.

Mi opinión, totalmente subjetiva y basada en absolutamente ninguna prueba remotamente científica que la respalde, es que Fasterfox parece funcionar bastante bien, incluso con el prefetching desactivado. Es gratis y requiere Firefox 1.5 o 2.0.

(Vía UNEASYsilence)

Acerca de Sozter!

Blog dedicado a las más recientes noticias, lanzamientos y tutoriales de software para Mac, Windows y Linux.

Búsqueda

Enlaces patrocinados