Welcome to Kartones.Net Sign in

Haztelo Tu

Do It Yourself

April 2009 - Posts

Como navegar de forma segura y evitar ciertas restricciones (Navegación segura y Tunelación SSH)

Ya expliqué en un post anterior, como instalar y configurar un servidor SSH en Windows, en ese post, se explicaba como conectarse a una máquina remotamente, de forma segura. En este caso, lo que vamos a ver, es como utilizar la conexión a internet del PC en el que instalamos el servidor de SSH, para de este modo, saltarnos ciertas restricciones, que podemos encontrarnos, a determinadas webs, como puede ser el caso de la web de Facebook en la red de la oficina.

Para esto, como ya habrás supuesto, necesitaremos tener instalado el servidor de SSH en nuestra máquina, el puerto de dicho servidor, deberá ser alguno que este abierto como salida en la red desde la que nos vayamos a conectar, como por ejemplo el 443 en la mayoría de redes (es el puerto del SSL).

Una vez tengamos el servidor arrancado, desde el ordenador "cliente", es decir desde el que queramos navegar, tendremos que añadir una linea al apartado de tunneling del putty, tal y como explicamos en el post sobre la conexión segura, en el apartador de Source port: el siguiente dato: 127.0.0.2:443 (si no fuera WinXp pondríamos 127.0.0.1:443) seleccionaríamos Dynamic y pulsamos en Add le damos a open y debería de conectarse con nuestro servidor de ssh, y solicitarnos login y pass. Nos autentificamos y pasamos a configurar nuestro explorador.

Firefox:

Herramientas / Opciones / Avanzado / Red

En el apartado Conexión hacemos click en Configuración y seleccionamos:

Configuración manual del proxy

Servidor SOCKS 127.0.0.2 Puerto 443

SOCKS v5

En la captura sale el puerto 8008, esto es porque en mis pruebas es el que he usado.

Y con esto ya estaríamos navegando desde la conexión de internet de nuestro PC con el servidor de SSH, sin más restricciones que las que tengamos en dicha linea de internet.

Posted: Apr 29 2009, 09:26 PM by lowtech | with no comments
Como conectarte de forma segura al pc de tu casa (Remote Desktop y Tunelación SSH)

A mucha gente, le gustaría poder conectarse a su PC cuando no se encuentran delante, ya sea para buscar alguna dirección que olvidamos, para poner a descargar algo que puede tardar un rato o por cualquier otro motivo. Para esta tarea, existen infinidad de softwares, los hay mejores y peores, más rápidos y más lentos, de pago y gratuítos. Pero la gran mayoría tienen un problema bastante serio. Los datos que enviamos, viajan sin cifrar por internet.

Nota, este post, va a tratar el asunto desde el punto de vista de Windows, más adelante haré un post para equipos con Linux

En este Háztelo Tú, voy a intentar explicar de una forma lo más sencilla posible, como montar una tunelación SSH, algunos pensaréis... ¿esto es explicar de una forma sencilla? Sí ni sé que es SSH,bueno, no os preocupéis, voy a intentar explicarlo todo.

Si nos conectamos con un software de control remoto a nuestro PC, en un alto porcentaje de los casos, la conexión, el envío y recepción de datos, no se realiza de forma segura, es decir viaja sin cifrar, con el consecuente riesgo que esto supone. Para solventar esto, lo que se puede hacer es usar una tunelación, es decir conectar los 2 ordenadores (el que va a controlar y el que va a ser controlado) mediante un canal seguro, es decir un canal por el podremos hablar del PC A al PC B de forma segura (cifrando todos los mensajes que se envíen). El protocolo más extendido para esta tarea es el SSH 

Es decir para que la conexión sea segura, debemos hacer un tunel, una conexión por la que enviar datos, usando SSH y hacer que el software que vayamos a usar para controlar remotamente el PC, use dicha tunelación.

 


Para nuestro propósito, lo primero que debemos hacer, es instalar en el PC que queremos controlar remotamente, un servidor de SSH, hay bastantes posibilidades, yo de las que he probado, tal vez me quedaría con el FreeSSH por su sencillez y por lo estable que es.

Una vez descargado, lo instalamos, nos hará un par de preguntas, contestamos a ambas que sí, sobre todo a la pregunta si queremos que se instale como servicio, con esto conseguiremos que al reiniciar el PC remotamente, podamos acceder a el sin tener que arrancar manualmente el servidor de SSH.

Cuando esté instalado, deberá aparecer en la barra de inicio, a la derecha, un nuevo icono, de no ser así, deberemos ejecutarlo nosotros manualmente, haciendo doble click en el icono que nos habrá generado en el escritorio. Una vez tengamos ya el icono del FreeSSH en la barra de inicio, hacemos click encima de el y nos abrirá la configuración del mismo.

Donde como vemos en la imagen, tanto el servicio de telnet, como el de SSH están parados. Bien, vamos a proceder a configurar el servidor, para comenzar nos vamos a la pestaña SSH.

Donde tendremos que configurar el puerto de las conexiones entrantes (si queréis poder conectaros desde fuera de vuestra red local, vuestra casa, deberéis abrir este puerto en vuestro router). El número máximo de conexiones,podéis dejarlo a 0, que es sin limite. Y el de Idle timeout es importante dejarlo a 0 o a un numero elevado, ya que si lo dejáis demasiado bajo no os dara tiempo a conectar el software de control remoto porque os cerrará la conexión del SSH.

Lo siguiente es añadir un usuario para poder establecer la conexión por ssh, para ello, vamos a la pestaña Users y le damos a ADD, veremos algo similar a esto:

Login, sera el nombre de nuestro usuario, después deberemos elegir el tipo de autorización para nuestro usuario, la primera, solo será válida si dicho usuario existe como usuario de esa instalación de Windows en ese PC, y es un poco complicada de explicar, la opción que os recomiendo, es la central, que consiste en ponerle un password a un usuario que solo va a servir para abrir la conexión del SSH. Por último en esta pestaña, deberemos seleccionar Tunneling, Shell no debería hacer falta, pero al menos yo no he conseguido hacerlo funcionar si no le habilito la Shell.

Volvemos a la pestaña Server Status y hacemos click encima del vinculo del Server SSH "Click here to start it". Ahora deberíamos tener el servidor funcionando y configurado, salvo por una última cosa, debemos decirle al servidor de SSH que debe reenviar la información que le llegue destinada para un determinado puerto, a dicho puerto. Para esto vamos a la pestaña Tunneling:

En estos instantes el PC que va a ser controlado remotamente, ya aceptaria conexiones SSH. Si queréis comprobarlo,os bastará con ejecutar netstat -an y veréis que os sale el puerto que pusisteis y al lado un LISTENIN.

Ahora comencemos con la configuración del otro lado, es decir la de la parte del cliente.

Lo primero, es descargarse algún cliente de SSH, el que para mi opinión es el mejor, es el Putty, que puede descargarse de forma completamente gratuita.Una vez lo hayáis descargado, lo ejecutáis y veréis algo como esto:


En Host Name, deberéis poner el dominio (podéis poneros un dyndns que sale gratuito, y mediante un software muy simple va cambiándote la ip donde apunta, para que siempre apunte hacia tu ip publica, si no aclaráis para hacerlo, comentarlo y haré un post) o la ip del PC al que queráis conectaros, en Port, el puerto que habéis configurado en el server de SSH, y en Connection Type, seleccionáis SSH.

Por último, configuraremos los datos para la tunelación, para ello nos vamos, en la columna de la derecha, hasta Connection/SSH/Tunnels:

En Source port, indicamos el puerto local donde se conectará el cliente del software de gestión remota, si tu sistema operativo es Windows XP, deberás hacerlo poniendo primero la IP 127.0.0.2, esto es importantísimo, es decir si el soft a usar es por ejemplo el Remote Desktop (Escritorio Remoto, que viene por defecto con Window), deberemos poner, 127.0.0.2:3389, si no es XP puedes poner el puerto directamente, y luego acceder poniendo 127.0.0.1.

En Destination, indicaremos la IP (o el dyndns, dominio o lo que queramos) de nuestra máquina a controlar remotamente, mas el puerto donde queramos que se relance la información en dicha máquina, es decir en nuestro caso (Remote Desktop) el 3389

Una vez configurado todo esto, simplemente le damos a Open y el Putty se conectará al servidor de SSH que hemos configurado anteriormente, nos pedirá un login as: deberemos escribir el nombre del usuario que configuramos en el servidor, le damos a intro y nos pedirá su contraseña, la escribimos (veréis que parece que no escribe nada, no os preocupéis, es normal. Sí habéis hecho todo correctamente, debería apareceros algo similar a esto:

Microsoft Windows XP [Versi¢n 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>

Una os salga esto, ya tendréis una conexión segura entre las 2 máquinas, no debéis cerrar el putty o la conexión segura se cerrará.

Bien, por último, para conectar usando la tunelación simplemente ejecutaremos nuestro software de control remoto apuntando a la ip 127.0.0.2 que nos conectará al putty de forma local, este enviará la información al servidor SSH del pc remoto que la relanzará contra el puerto que le hayamos indicado en el Destination del Tunnels del Putty.

 

Espero que os haya sido de interés, próximamente, explicaré como usar nuestro servidor SSH para navegar desde un sitio donde tengamos internet bastante bloqueado... ;)

 

 

Posted: Apr 04 2009, 12:50 AM by lowtech | with 7 comment(s)