¿Cómo crear un túnel ssh cifrado entre la máquina local y la máquina final?

0

Mi máquina en el trabajo está detrás de un firewall. Para conectarme primero necesito conectarme (ssh) en otra máquina y luego a través de esta máquina hago la ssh en mi máquina. En otras palabras, hay una máquina intermedia entre mi computadora local y la computadora remota final. ¿Cómo puedo crear un túnel cifrado entre mi computadora local y mi computadora en el trabajo?

Nota: utilizando OpenSSH

    
pregunta Ricardo 18.01.2014 - 04:06
fuente

1 respuesta

1

Al leer su pregunta, tengo que asumir que "mi máquina local" está fuera de la red de la empresa, como en su casa o en algún lugar de Internet. Las ubicaciones más definidas, los sistemas operativos en uso y una breve descripción del entorno de su empresa ayudarán a quienes intentan responder preguntas. Para el propósito de esta respuesta, le daré algunos nombres a los sistemas identificados en su pregunta.

“my work machine” = work-machine
"my local machine” = home-machine
“another machine” = jumpbox

Esto es realmente una cuestión de política de seguridad de la empresa. Las conexiones de Internet a los sistemas en la red interna de una empresa generalmente no están permitidas porque proporcionan una ruta para que los atacantes accedan a los recursos internos y extraigan los datos. Solo puedo suponer que el jumpbox al que se está conectando es un dispositivo de puerta de enlace (preferiblemente en una DMZ) que existe para una combinación de autenticación, autorización y contabilidad, y posiblemente una inspección.

Dicho esto, si la política lo permite, debe tener el administrador de su firewall para que permita las conexiones desde su máquina doméstica a su máquina de trabajo. Por lo general, esto no es deseable si viene de una dirección IP dinámica que cambiará con el tiempo, ya que el administrador del firewall deberá permitir que se abran amplios rangos de direcciones IP en la red. Idealmente, si las conexiones entrantes están permitidas en la red de su empresa, siempre provendrá de la misma dirección IP cuando se conecte desde su máquina doméstica.

Alternativamente, puedes usar un túnel inverso usando SSH; de nuevo, si la política de su empresa permite conexiones SSH salientes. La opción -R en SSH le permite construir túneles inversos. Para esto, necesitaría un método para conectar su máquina de trabajo a su máquina doméstica. Tendrá que considerar los siguientes elementos:     1. Resolución de nombres (si su IP cambia en su casa): hay muchos proveedores de DNS dinámicos por ahí.     2. Reenvío de puertos si está detrás de un dispositivo NAT, como un enrutador DSL.     3. Su máquina doméstica u otro sistema dedicado tendrían que estar ejecutando el servidor SSH para aceptar las sesiones ssh provenientes de su máquina de trabajo.

Una vez que haya configurado los servicios requeridos en 1-3 arriba, puede hacer una conexión desde su máquina de trabajo al servidor SSH que se ejecuta en su casa. Desde su máquina de trabajo, el comando podría verse así:

ssh -R 192.168.12.202:5556:127.0.0.1:22 [email protected]:4444

Si tuviera que pronunciar el comando anterior, sería el siguiente: Use ssh para crear un túnel inverso (-R), abriendo un puerto de listado (5556) en mi servidor ssh (192.168.12.202). Cuando los clientes se conectan al puerto 5556, reenvíelos al puerto 22 en mi servidor ssh (127.0.0.1), que posteriormente se reenvía a la máquina que origina el túnel (máquina de trabajo).

Hay muchos tutoriales técnicos que proporcionan instrucciones para construir túneles inversos con SSH.

    
respondido por el packetloss 18.01.2014 - 14:48
fuente

Lea otras preguntas en las etiquetas