Tengo un servidor que ejecuta Ubuntu y el demonio OpenSSH. Llamémoslo S1.
Uso este servidor desde máquinas cliente (llamemos a una de ellas C1) para hacer un túnel inverso SSH mediante el reenvío de puertos remotos, por ejemplo:
ssh -R 1234:localhost:23 login@S1
En S1, uso el archivo sshd_config predeterminado. Por lo que puedo ver, cualquiera que tenga las credenciales correctas {login, pwd} en S1 puede iniciar sesión en S1 y realizar el reenvío de puertos remotos y el reenvío de puertos locales. Dichas credenciales podrían ser un certificado en el futuro, por lo que, según tengo entendido, cualquiera que tome el certificado puede iniciar sesión en S1 desde cualquier otro lugar (no necesariamente C1) y, por lo tanto, crear reenvíos de puertos locales.
Para mí, permitir el reenvío de puertos locales es demasiado peligroso, ya que permite crear algún tipo de proxy público. Estoy buscando una manera de desactivar solo los reenvíos.
Intenté lo siguiente, pero esto deshabilita el reenvío local y remoto:
AllowTcpForwarding No
También probé lo siguiente, esto solo permitirá -L a SX: 1. Es mejor que nada, pero aún no es lo que necesito, que es una opción de "ninguno".
PermitOpen SX:1
Así que me pregunto si hay una manera, para que pueda prohibir a todos los reenvíos de puertos locales escribir algo como:
PermitOpen none:none
¿Es la siguiente una buena idea?
PermitOpen localhost:1