Hola Visitante

Autor Tema: Tunnel SSH con Raspbian y BitviseSSH.  (Leído 459 veces)

Administación BDL

  • Administrator
  • *****
  • Mensajes: 66
    • Ver Perfil
Tunnel SSH con Raspbian y BitviseSSH.
« en: Agosto 21, 2015, 01:59:52 pm »

Buenos días,


¿Qué es un túnel ssh?


Se conoce como túnel o tunneling a la técnica que consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un túnel de información dentro de una red de computadoras.


En nuestro caso consiste en encapsular información HTTP/TCP/IP sobre el protocolo SSH que va cifrado.


SSH tunel


¿Qué beneficios aporta?


Al ser ssh un protocolo que cifra la información impide que usuarios no autorizados puedan ver el tráfico encapsulado.



  • Se puede utilizar para securizar las conexiones en una red no segura.

  • Para saltarse las reglas del firewall de una red.

  • Para conectarse a un equipo que exista al otro lado del túnel.


Configuración del servidor ssh

Para poder montar un túnel ssh primero debemos configurar un equipo con un daemon ssh activo. En este tutorial utilizaremos una Raspberry PI con Raspbian como servidor SSH. Si no hemos instalado el servicio SSH la primera vez que se inicia Raspbian, podemos hacerlo de la siguiente manera:



sudo apt-get install ssh
sudo /etc/init.d/ssh start
sudo update-rc.d ssh defaults

Para asegurarse de que podemos enrutar tráfico por nuestro servdidor ssh, debemos asegurarnos de que la opción AllowTcpForwarding está activa. Para ello editaremos el archivo de configuración de ssh: /etc/ssh/sshd_config



sudo nano /etc/ssh/sshd_config

Con estos comandos tendremos activo el servidor ssh y arrancando cada vez que se inicie Raspbian (si se usa cualquier otra distribución en base debian también sirven).


El siguiente paso es abrir los puertos del router para que permita llegar el tráfico ssh hasta el servidor ssh. Una buena solución para no lidiar con el dhcp es reservar la MAC de la raspberry en la tabla de dhcp consiguiendo que así le asigne siempre la misma dirección IP.


En este punto se pueden configurar usuarios sobre el server ssh pero eso lo dejo para más adelante. Con el usuario pi y la contraseña que hayáis definido debería bastar. Para poder acceder al servidor, debemos conocer la ip del pública del router de casa. Si no sóis muy diestros en la configuración del router, siempre podéis visitar la página:


http://www.cualesmiip.com/


Para provar si el servidor ssh está disponible, podéis utilizar putty (si estáis en windows) y conectaros por ssh a la ip que proporciona la página anterior. si estáis en linux, bastaría con ejecutar:



ssh <user>@<ip>

Si todo ha ido bien, debería pedir password, en caso contrario alguno de los pasos anteriores no se ha realizado correctamente.


Para solucionar el tema de tener una ip pública dinámica, existen soluciones, como no-ip que permite asignar un nombre a tu ip y actualizar esa referencia cada vez que la ip cambia.


Levantar el túnel en Windows

He probado a levantar los túneles con softwares distintos entre ellos se encuentra Putty y BitviseSSH, el que más me ha gustado ha sido BitviseSSH ya que su configuración es más sencilla además de poderse ejecutar en segundo plano.


El primer paso para configurar BitviseSSH es configurar la sesión ssh. En la pestaña login debemos configurar los campos:



  • Host: IP pública del router de casa/host no-ip.

  • Username: Usuario con el que vamos a logearnos, Si has usado raspbian lo más normal es usar “pi”.

  • Password: Password del usuario anterior.


Configuración login BitviseSSH


Para finalizar la configuración del túnel debemos dirigirnos a la pestaña services y activar el servicio “SOCKS/HTTP Proxy Forwarding” tal y como se muestra en la siguiente imagen


Activando el proxy forwarding.


Una vez configurado ya podemos hacer click en login en nuestro servidor. Como podeiss observar, en la zona inferior se observan las peticiones que se han hecho a través del proxy.


Configuración de navegadores


Configuración individual del proxy en Firefox:


Para poder configurar el navegador Firefox, debemos dirigirnos a Opciones->Avanzado->Conexión y hacer clik en el botón configuración. Una vez hecho click, debemos configurar el proxy de la siguiente manera:


FirefoxOpciones


Configuración individual del proxy en Chrome:


Para configurar chrome, se debe editar el acceso  directo desde el cual lo lanzamos. Para ello nos situamos sobre el icono del Chrome y hacemos click en propiedades.  En el cuadro de texto que pone destino, se debe añadir:



--proxy-server="socks5://127.0.0.1:8080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"

Quedando una ruta como la siguiente:



"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server="socks5://127.0.0.1:8080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"

chrome


Configuración para Windows (incluído IE)


Configurar el proxy en IE implica cambiar el proxy del sistema, por lo que si están por defecto los otros dos navegadores cogerán por defecto este.


Para configurar el proxy del sistema debemos hacer click en Inicio->Ejecutar y escribir INETCPL.CPL


Una vez hayamos hecho click en ejecutar aparecerá una ventana con la configuración de internet del sistema. Una vez abierta, debemos dirigirnos a la pestaña conexiones y hacer click en “Configuración LAN”


Una vez allí, hay que marcar a casilla “Usar proxy para la LAN”. Una vez hecho esto se deben abrir las conexiones avanzadas y configurar el proxy Socks de la siguiente manera:


IE


Y añadir a excepciones la dirección 127.0.0.1.


De este modo podemos tenr una navegación segura a traves de un túnel ssh.



Creando shells inversas | BitsDeLocos

  • Visitante
Tunnel SSH con Raspbian y BitviseSSH.
« Respuesta #1 en: Abril 15, 2017, 07:21:16 pm »

[…] En este post se tratará el tema: levantar un túnel inverso y hacer forward de un puerto local a un puerto remoto a través del protocolo SSH. Para ello, es necesario tener un segundo equipo en el que poder hacer login SSH sin credenciales (con claves RSA). Para los que no sepáis que es un túnel SSH, os recomiendo la entrada que publicqué hace un tiempo sobre ello ( Túnel SSH Raspberry ) […]