Restringindo o acesso à porta do túnel ssh por grupo

3

Meu entendimento é ao criar um túnel ssh para uma máquina remota, as portas se tornam abertas nessa máquina para qualquer um usar e se conectar de volta à minha caixa local (não apenas o usuário que abriu o túnel). Existe uma maneira de restringir o acesso às portas abertas na máquina remota para um grupo unix especificado? Eu estava pensando que isso pode ser possível através de uma regra iptables ou alguma outra restrição de porta TCP / IP, mas não tenho certeza.

Obrigado

    
por taylormade201 13.06.2012 / 01:15

1 resposta

3

Você pode usar o módulo iptables owner para corresponder ao UID ou GID do soquete de origem, mas isso só funciona para pacotes originados localmente (ou seja, a partir da máquina remota).

% ssh -fNR 20022:localhost:22 localhost
% sudo iptables --append OUTPUT --destination 127.0.0.1 --protocol tcp --dport 20022 --match owner \! --uid-owner mgorven --jump REJECT
% sudo iptables -nvL OUTPUT
Chain OUTPUT (policy ACCEPT 40 packets, 6349 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            127.0.0.1            tcp dpt:20022 ! owner UID match 1000 reject-with icmp-port-unreachable
% telnet 127.0.0.1 20022
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
^]
telnet> Connection closed.
% sudo telnet 127.0.0.1 20022
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
    
por 13.06.2012 / 01:23