Registro de túnel SSH?

13

Eu tenho um computador executando o SSH ao qual gostaria de dar acesso a meus amigos, mas não quero que eles usem minha conexão com a Internet por meio do encapsulamento SSH (embora eu mesmo queira fazer isso). Existe uma maneira de registrar quando os túneis SSH são criados e por quais usuários (locais), ou, se isso não for possível, apenas permitem que alguns usuários façam isso?

Frxstrem
fonte
Deseja proibir todo acesso à Internet para esses usuários ou apenas encaminhamento de porta?
janc
1
Eu só quero desabilitar o encaminhamento de porta e os proxies do SOCKS sobre SSH.
Frxstrem

Respostas:

10

Se seus amigos conseguem fazer SSH no seu computador, eles estão usando parte da sua largura de banda e, portanto, é impossível impedi-los completamente de acessar sua conexão à Internet.

Dito isto, uma solução seria limitar o que seus amigos podem fazer com sua conexão. Você pode configurar um firewall que coloque na lista de permissões os IPs de seus amigos e na lista negra de todo o resto. Dessa forma, seus amigos poderiam fazer o SSH no seu computador, mas a partir daí, não seriam capazes de alcançar nenhum outro IP que não o deles.

Eu nunca configurei um firewall específico para o usuário , mas acredito que é possível obter isso com o IPTables . Além disso, lembre-se de que seus usuários ainda podem consumir grande parte da sua largura de banda carregando arquivos grandes no seu servidor. Se você deseja evitar isso especificamente, teria que limitar a largura de banda por usuário .

Olivier Lalonde
fonte
9

Você deseja garantir que / etc / ssh / sshd_config contenha

AllowTcpForwarding no

e depois no final do arquivo coloque

Match User yourusername
    AllowTcpForwarding yes

Isso permitirá a você e somente a você encaminhar para o conteúdo do seu coração, mas como João disse, você não poderá impedi-los de executar seus próprios programas, a menos que você também desative o acesso ao shell.


fonte
8

Observe que, embora você possa desativar o TCP Forwarding pelo sshd, é necessário ir muito mais longe para restringir a atividade de saída de seus usuários. Dar-lhes uma concha significa dar-lhes muito poder.

Por exemplo, se eles podem scp arquivos no servidor e executar arquivos em / home, eles podem simplesmente carregar um binário pppd e usá-lo para executar o PPP sobre SSH. Se você permitir conexões de entrada, elas poderão simplesmente executar /usr/sbin/sshd -p 9999 -f special_sshd_confige usar seu servidor através desse sshd.

Você pode querer examinar o módulo do proprietário do iptables (man iptables, procurar pelo proprietário) e as cadeias de chroot, mas isso é realmente difícil de resolver sem arruinar a experiência do shell.

SpamapS
fonte
1

A única opção que tenho conhecimento é desativar o encapsulamento no nível do sistema.

Edite / etc / ssh / sshd_config e altere / adicione

AllowTcpForwarding no

Observe que, apesar de ter acesso ao shell, não há como impedir que os usuários usem seus próprios binários para encaminhar conexões.

João Pinto
fonte
1
Essa não é uma solução aceitável, pois tenho que usar o encapsulamento SSH (como disse na minha pergunta).
Frxstrem
Na verdade, está desativando-o no nível do aplicativo.
chiggsy
0

Primeira iteração:

Desative o encaminhamento ssh para eles. em ssh

Você habilita o IPSec para você e a VPN no seu servidor. O IPSec está no nível da rede e não é afetado pelas configurações do aplicativo SSH.

chiggsy
fonte