SSH HTTP Tunneling

5

Estou tentando configurar uma conta SSH no meu servidor para alguém, e só quero dar a ela acesso ao tráfego de internet de encapsulamento. Eu defino "shell" do seu usuário para / bin / true, então agora quando eles SSH (e usam -N), o túnel funciona sem shell (é isso que eu quero).

Agora, eu queria saber se havia uma maneira de permitir apenas o tráfego de navegação na web (e não bittorrent, e-mail, etc). Em sshd_config, tentei:

PermitTunnel yes
PermitOpen any:80

Mas isso não permite o tráfego por algum motivo. Existe uma maneira que eu possa fazer para que a pessoa só possa usar, por exemplo, um navegador da web através do meu túnel?

Obrigado, posso fornecer qualquer informação que você precisar.

O servidor está rodando o Fedora 15, e eu sei como usar o Linux, então não preciso de instruções para bebês.

PS: Além disso, é possível registrar a atividade de um túnel SSH? Como, para ver que informação passa por isso? Eu sei que / var / log / secure tem os logs de login (embora, com / bin / true em vez de / bin / bash, logins não apareçam), mas não logs de atividades.

    
por Chris 11.01.2012 / 22:33

1 resposta

7

O PermitOpen aceita any quando é o único argumento. O que significa que aceita PermitOpen any .
A única maneira que posso pensar em fazer isso seria usar uma regra iptables.

iptables -I OUTPUT -p tcp ! --dport 80 -m owner --uid-owner 1000 -j REJECT

Isso rejeitaria qualquer tráfego de saída do usuário com UID = 1000 que não está indo para a porta 80

    
por 12.01.2012 / 00:31