¿Cuáles son los orificios de bucle en el túnel SSH?

2

Estoy trabajando en la construcción de la aplicación web React en mi PC local en el puerto 443, y quiero que sea accesible a través de Internet para realizar pruebas. Una solución que encontré fue el reenvío de puertos remotos SSH como se menciona en este artículo. Mi instituto tiene un servidor que está disponible públicamente y puedo usarlo para el reenvío de puertos, pero me preocupa que pueda poner en peligro el servidor del instituto.

Mi pregunta es ¿cuál es el riesgo de hacer tal cosa? ¿Hay algún tipo de seguridad que pueda configurar en el servidor del instituto para que solo pueda acceder al usuario autenticado para enviarlo hacia delante?

    
pregunta Dhaval Lila 25.05.2018 - 12:17
fuente

1 respuesta

5
  

Mi pregunta es cuál es el riesgo de hacer tal cosa

Está exponiendo una aplicación que se ejecuta en un sistema interno a internet salvaje. Si una característica o error en la aplicación permite, por ejemplo, la ejecución remota de código, el atacante podrá ejecutar este código en su máquina y, por lo tanto, dentro de su red local y, por lo tanto, podría alcanzar y atacar sistemas internos en su red que no deberían ser accesibles desde afuera.

  

... ¿solo da acceso al usuario autenticado para enviar hacia delante?

Mi interpretación inicial de esta pregunta fue que usted, como el que expone la aplicación interna, quiere restringir qué usuarios externos podrían conectarse a este puerto reenviado. Pero no hay autenticación a este nivel, es decir, es simplemente un puerto TCP al que se puede acceder desde afuera para todos. Cualquier tipo de autenticación debe hacerse en su aplicación. Solo, esto se hace nuevamente en sus sistemas internos, lo que significa que los problemas antes o durante la autenticación podrían afectar nuevamente a toda su red interna.

Según sus comentarios, parece que cambió de roles para esta parte de su pregunta, es decir, ya no es el que quiere que su aplicación sea accesible, sino que es el administrador el que lo evita. En general: si el usuario solo tiene acceso restringido a través de SSH (puede ejecutar comandos seleccionados), también se puede limitar el reenvío de puertos (opción no-port-forwarding en OpenSSH). Si el usuario, en cambio, tiene acceso total a la shell, puede solucionar estas restricciones.

  

¿Hay alguna otra forma de evitar el uso de aplicaciones de terceros como ngrok?

ngrok no es un simple reenvío de puerto amplio, sino que permite publicar la aplicación solo para usuarios seleccionados al requerir autenticación. Si se utiliza este acceso restringido, el riesgo se reduce considerablemente, es decir, solo los usuarios que conocen la URL y tienen las credenciales de autenticación pueden conectarse. Sin embargo, si no puede confiar en que estos usuarios mantendrán estas credenciales de acceso privadas y no atacarán su sistema, entonces no debe hacerlo.

    
respondido por el Steffen Ullrich 25.05.2018 - 12:28
fuente

Lea otras preguntas en las etiquetas