Inicio > Windows Mobile > Como usar tuneles SSH desde un PocketPC

Como usar tuneles SSH desde un PocketPC

Jueves, 28 agosto 2008 Deja un comentario Go to comments

Posiblemente muchos de los lectores de este blog han usado alguna vez una de las características más interesantes del SSH que es el tunneling (tuneles SSH) desde PC con distintos sistemas operativos (aunque es más habitual usarlos en SO like unix).

1. ¿que demonios es eso del SSH y tunneling?

Empezemos por explicar lo que es cada cosa para los amigos que estaban despistados y no lo conocian.

SSH son las siglas de Secure Shell. Es un protocolo de red que permite el intercambio de datos entre dos ordenadores a traves de un canal de comunicaciones encriptado. SSH normalmente se usa para conectarse a un ordenador remoto y ejecutar comandos en el.

Otra de las características interesantes de SSH es el X forwarding que permite ejecutar un programa gráfico en remoto pero verlo en el ordenador local siempre y cuando este disponga de un servidor X (X11 o Xorg para sistemas like unix o port del mismo como el Xming para sistemas Win32. Esta característica yo personalmente la uso mucho para ejecutar programas con gui en mis servidores linux que no tienen entorno gráfico desde otros pc con linux (no necesito nada al tener ya el servidor X) o windows (iniciando primero el servidor X Xming)

Otra de las caracteríticas interesantes de SSH es el tunneling que es de lo que trata esto. El tunneling lo que hace es encapsular un protocolo de red dentro de otro a traves de un tunel seguro entre el ordenador local y el remoto (por ejemplo, enviar tráfico ftp a traves de tráfico http). Para ello se se hace un mapeado de un puerto remoto a uno local.

2. ¿Para que nos sirve eso del SSH y tunneling?

 

Ahora os preguntareis para que demonios nos sirve estas cosas tan raras.  Pués para muchas cosas, por ejemplo, hacer seguros protocolos que de por si son inseguros (pop, smtp, http, …..), si tenemos un firewall que solo nos permite conexiones http, podremos saltarlo haciendo un tunel y encapsulando otro protocolo dentro de http (es lo que hacen muchas aplicaciones de control remoto de equipos que son capaces de saltarse los firewall corporativos).

Por ejemplo, yo lo uso para poder administrar mis router o la Via Epia que uso 24/365 como server, todo ello via web desde cualquier sitio.

Para ello uso el PuTTY que lo teneis tanto para Win32 como para linux, unix, …..

En este caso configuro que el puerto local 8080 se corresponda al puerto 80 de mi router ADSL y el 8081 local se corresponda al router Linksys WRT54GL.

Desde el Putty hago la conexión contra mi server ssh y a partir de ese momento tengo un tunel seguro desde el ordenador local contra el interfaz web de mis routers. Solo tengo que usar http://localhost:8080 para acceder a la configuración web de mi router adsl y http://localhost:8081 para acceder al interfaz web del WRT54GL.

Como es evidente, para hacer tuneles ssh necesitais por un lado poder crear un tunel via Putty, ssh en consola, …., y por otro un servidor ssh. En mi caso la Via Epia que tengo montada como server ya me hace esas funciones. Los que posean un router neutro como el Linksys WRT54GL si usan firmwares alternativos como el Tomato o DD-WRT pueden hacer lo mismo ya que tiene ssh (esto se puede aplicar a cualquier router que tenga ssh). Supongo que esto será lo que hace nuestro pequeño saltamontes para administrar todos esos wrt54 que tiene perdidos por esos mundos creando redes wifi.

En el caso de que usemos un SO like unix y tengamos instalado el cliente de ssh solo tendremos que teclear en una consola:

ssh -P – L 8080:tu_ip:80
ssh -P -L 8081:tu_ip:80

También lo podemos hacer desde windows si tenemos el port del cliente de SSH para win32.

Yo personalmente uso este último sistema a traves de scripts que me automatizan la conexión. También uso el putty en ordenadores que no tienen el cliente de ssh instalado. El putty es una de las herramientas que lelvo siempre conmigo en un pendrive.

3. ¿y para que nos vale todo eso en un pocketpc?

Después de todo este rollo supongo que alguno se pregunta para que demonios nos sirve eso para nuestros pocketpc.

Pues sirve porque podemos hacer lo mismo desde nuestros chiquifones. Para ello necesitamos  el zaTunnel que nos permite crear tuneles ssh desde nuetras pequeñitas.

Según el desarrollador el zaTunnel es un software freware que nos permite  crear tuneles ssh para Smartphones y Pocket PC.

zaTunnel: SSH Tunnel and Portforwarding client for Smartphones and Pocket PC
Main form
Tunneling, or port forwarding, is a way to forward otherwise insecure TCP traffic through SSH Secure Shell for Workstations. You can secure for example POP3, SMTP, Telnet, FTP, VNC and HTTP connections that would otherwise be insecure.

 

You can control not only SSH server but all computers in your intranet network. ZaTunnel is a SSH tunnel and port forwarding program for devices supporting Microsoft Compact Framework 2.0. ZaTunnel boasts a handful of improvements that make remote administration of Unix and other servers via Telnet/FTP/VNC protocol using mobile devices safely and more efficient.

There are two variants of this software available for MS CF 2.0.

  • MS Pocket PC with CF 2.0
  • and MS Smartphone 2005 with CF2 for newest devices like MototolaQ, T-Mobile DASH, Samsung BlackJack and so one.

He probado el zaTunnel en mi ipaq  HX4700 con WM2003SE y funciona bien.

La instalación no tiene complicación ya que nos descargamos un fichero comprimido que solo tiene el ejecutable. Lo copiamos a la PDA y lo ejecutamos.

El funcionamiento tampoco tiene complicación, introducimos la dirección del servidor SSH, el puerto del servidor ssh si usamos otro que no sea el 22, el nombre de usuario y password de un usuario que se pueda autenticar via ssh. En tipo de red ya dependerá de vuestra configuración. Yo me estaba conectando via tarjeta ethernet así que en el tipo de red usaba “My work exclusive”.

También es posible usar un fichero con la clave para la autenticación.

Despues tenemos que crear los tuneles ssh. En este caso aproveche para crear 2:

– mapear el puerto 80 remoto al 81 local para administrar el router neutro Linksys WRT54GL.
– mapear el puerto 10000 remoto al 10000 local para administrar mi Via Epia via Webmin

 

Una vez configurados los túneles volvemos a la pestaña de conexión y solo queda conectar. Vemos como se va negociando la conexión y si no hay problemas al conectar ya tendremos creada la conexión contra nuestro servidor ssh y los tuneles ssh creados.

Ahora solo nos queda ir al navegador y comprobar que todo funciona.

Tecleo http://localhost:81 en el Opera y funciona correctamente, al cabo de unos segundos (estoy haciendo las pruebas a traves de internet con una conexión ADSL sobre RDSI) tengo la pantalla de status del router Linksys WRT54GL.

Ahora voy a comprobar el acceso al Webmin de la Via Epia. Introduzco https://localhost:10000 en el opera y a los segundos tengo la pantalla de autenticación.

Introduzco el nombre de usuario y password y ya estoy dentro del webmin que me permite configurar la Epia via navegador.

 

En este caso el webmin usa https que es una conexión segura, pero funciona igual perfectamente.

De esta forma puedo administrar determinadas cosas sin necesidad de abrir puertos innecesarios que pueden comprometer la seguridad  en el router. Con solo tener el puerto 22 del ssh ya me vale ya que el resto de puertos que necesito para la administración los encapsulo todos a traves de tuneles ssh. Evidentemente el puerto de ssh esta bien protegido ya que el usuario root no pueda acceder via ssh via WAN, solo permito a un usuario del sistema autenticarse via WAN (con la debida seguridad en nombre de usuario y contraseña) con solo dos intentos para intoducir correctamente la contraseña y al primer intento de autenticarse de cualquier otro usuario,  detecto su IP y automaticamente bloqueo la IP con lo que cualquier reintento de conexión se corta antes de volver a intentar autenticarse.

En mi caso lo uso para administrar los servidores pero tiene muchos más usos.  Otro de ellos muy útil  es para el acceso al escritorio remoto de windows. Supongo que muchos de vosotros teneis vuestros equipos encendidos y dejais el escritorio remoto con su correspondiente puerto abierto en el router. Eso es muy peligroso ya que cualquiera que se conecte a vuestra ip y detecte el puerto abierto podra aprovechar cualeuier fallo de seguridad de windows para colarse en el equipo. En este caso lo ideal es tener el puerto del escritorio remoto cerrado en el router y cuando necesiteis conectaros,creais un tunel ssh al puerto del escritorio remoto y listo, tendreis acceso a vuestro PC de forma segura sin necesidad de tener puertos abiertos en el router que comprometen la seguridad.

El único requisito que necesitais es tener un servidor SSH en vuestra red que bien puede ser un router que disponga de ssh, un servidor like unix con ssh o si usais windows también podeis instalar el port para win32 de openssh en vuestro PC.

De esta forma podeis crear conexiones seguras contra cualquier aplicación.

Como veis, los tuneles ssh son una herramienta muy potente para la administración de sistemas y es algo que ahora podemos hacer desde nuestros chiquifones.

 

Anuncios
Categorías:Windows Mobile Etiquetas:
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: