Permitir tunelamento reverso de SSH (-R), mas não Encaminhamento local (-L)?

1

Temos um cliente com um servidor remoto que deseja restringir os horários em que podemos acessar o servidor (a maioria dos clientes tem acesso sob demanda iniciado localmente).

Estou montando um script para eles, para que eles possam apenas iniciá-lo e ele irá ao nosso lado com uma conta específica e configurar o Túnel Remoto (-R) para que possamos acessar seu servidor a partir desse ponto.

Meu problema é que não tenho certeza de como bloqueá-lo corretamente para que possamos acessar um túnel reverso, mas ele não pode criar simultaneamente um Local Forward (-L). sshd_config me permite restringir para frente.

Match User user1
    GatewayPorts       yes
    AllowTcpForwarding yes
    PermitOpen         127.0.0.1:12345

Agora, isso permitiria que ele criasse um túnel reverso para que pudéssemos nos conectar a eles usando o protocolo YYY, mas, ao mesmo tempo, também permitiria que ele criasse um túnel local de volta para nós na mesma porta.

Estou entendendo as coisas corretamente? Existe uma maneira de permitir túneis reversos, mas negar todos os encaminhamentos locais?

    
por UtahJarhead 08.11.2018 / 17:59

1 resposta

3

A página man do sshd_config tem tudo:

 AllowTcpForwarding
         Specifies whether TCP forwarding is permitted.  The available
         options are yes (the default) or all to allow TCP forwarding, no
         to prevent all TCP forwarding, local to allow local (from the
         perspective of ssh(1)) forwarding only or remote to allow remote
         forwarding only.  Note that disabling TCP forwarding does not
         improve security unless users are also denied shell access, as
         they can always install their own forwarders.

No seu caso, você provavelmente precisará de:

Match User user1
    GatewayPorts       yes
    AllowTcpForwarding remote
    PermitOpen         127.0.0.1:12345

e possivelmente PermitOpen é irrelevante para o encaminhamento remoto de portas.

    
por 08.11.2018 / 19:44