J'ai un serveur sous Ubuntu et le démon OpenSSH. Appelons cela S1.
J'utilise ce serveur depuis des machines clientes (appelons l'un d'eux C1) pour effectuer un tunnel inverse SSH en utilisant un transfert de port distant, par exemple:
ssh -R 1234:localhost:23 login@S1
Sur S1, j'utilise le fichier sshd_config par défaut. D'après ce que je peux voir, toute personne disposant des informations d'identification appropriées {login, pwd} sur S1 peut se connecter à S1 et effectuer un transfert de port distant et un transfert de port local. De telles informations d'identification pourraient être un certificat dans le futur, donc si je comprends bien, toute personne qui récupère le certificat peut se connecter à S1 depuis n'importe où (pas nécessairement C1) et ainsi créer des redirections de ports locaux.
Pour moi, autoriser le transfert de port local est trop dangereux, car cela permet de créer une sorte de proxy public. Je cherche un moyen de ne désactiver que les transferts.
J'ai essayé ce qui suit, mais cela désactive le transfert local et distant:
AllowTcpForwarding No
J'ai aussi essayé ce qui suit, cela ne permettra que -L à SX: 1. C'est mieux que rien, mais ce n'est toujours pas ce dont j'ai besoin, c'est une option "aucune".
PermitOpen SX:1
Je me demande donc s'il existe un moyen pour interdire à tous les transmetteurs de port locaux d'écrire quelque chose comme:
PermitOpen none:none
La suite est-elle une bonne idée?
PermitOpen localhost:1