Iptables permitem acesso via túnel ssh à rede interna

2

Estou tentando restringir o acesso em um servidor apenas ao ssh fazendo isso. Isso está funcionando bem

iptables -A INPUT -i eth0 -p tcp --dport $SSH_port -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport $SSH_port -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

No entanto, eu estaria usando o encaminhamento de porta ssh para acessar serviços internos em 127.0.0.1:port e em outro internal_ip: port em uma interface virtual diferente, como posso conseguir isso?

O comando que estou usando para o encaminhamento de porta ssh:

ssh -2NqCgD 55555 -p $SSH_port user@server

Eu tentei muitas combinações, mas sem sucesso.

Trecho de /var/log/auth.log

sshd[xxxx]: error: connect_to 127.0.0.1 port xxxxx: failed.
sshd[xxxx]: error: connect_to internal_ip port yyyyy: failed.
    
por pl1nk 27.10.2011 / 15:18

2 respostas

1

Esta regra funcionou para mim. A ordem é importante para o iptables, então colocar os DROPs no final resolveu o problema.

iptables -A INPUT -i eth0 -p tcp --dport $ssh_port -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport $ssh_port -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j ACCEPT 

iptables -A INPUT -i $internal_interface -j ACCEPT
iptables -A OUTPUT -o $internal_interface -j ACCEPT

iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
    
por 28.10.2011 / 13:15
0
# Allow all on loopback
$IPTABLES -A INPUT -i lo  -s 127.0.0.1 -j ACCEPT 
$IPTABLES -A OUTPUT -o lo  -d 127.0.0.1 -j ACCEPT 
    
por 27.10.2011 / 15:41

Tags