SSH Tunneling: Como posso impedir que os usuários acessem serviços vinculados ao localhost por meio do encaminhamento de porta?

2

Eu quero poder oferecer contas ssh no meu servidor linux para que as pessoas possam usar para tunelamento SSH. Todas as contas serão bloqueadas sem shell interativo, somente para fins de encapsulamento / encaminhamento de porta. Meu problema é que eu não quero que eles consigam acessar os serviços que estão vinculados ao host local apenas fazendo os encaminhamentos de porta da seguinte forma:

ssh account@server -L 9999:127.0.0.1:3306 & telnet localhost 9999

Daria acesso à porta padrão do banco de dados mysql. Como posso parar isso?

Eu vejo opções no arquivo de configuração do OpenSSH para permitir portas / hosts específicos, mas não para bloqueá-los. Qualquer ajuda seria muito apreciada:)

    
por Dave Davidson 17.12.2011 / 11:03

2 respostas

2

Parece que você quer permitiropen, documentado em sshd (8):

 permitopen="host:port"
         Limit local ''ssh -L'' port forwarding such that it may only
         connect to the specified host and port.  IPv6 addresses can be
         specified by enclosing the address in square brackets.  Multiple
         permitopen options may be applied separated by commas.  No
         pattern matching is performed on the specified hostnames, they
         must be literal domains or addresses.
    
por 17.12.2011 / 15:12
0

Eu tentaria usar o iptables, algo assim deveria funcionar: iptables -A INPUT -d 127.0.0.1 -j DROP Você também deve criar um script se quiser que sua configuração de firewall seja persistente em relação às reinicializações.

    
por 17.12.2011 / 16:24

Tags