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.