Configurando o catch-all com iptables O

3

Estou tentando configurar um iptables que só permite o tráfego na via ssh e uma captura que bloqueia todo o resto do computador. A saída iptables -L se parece com isso

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

As informações acima parecem bloquear qualquer entrada no computador, exceto o SSH; no entanto, ele também parece bloquear o tráfego de retorno de uma solicitação de saída. ou seja, se eu tentar pingar www.google.com, parece demorar para tentar resolver o DNS. Estou assumindo que meu DROP bloqueia a resposta da solicitação do DNS.

Alguém pode me orientar como configurar o pega-pega corretamente para permitir o retorno do tráfego de volta?

Obrigado,

Mateus

    
por Matthew 26.07.2013 / 13:24

1 resposta

3

Use -m state --state ESTABLISHED,RELATED para corresponder ao tráfego de retorno. Além disso, você não precisa incluir uma regra de "soltar tudo", basta alterar a política de encadeamento do INPUT para "DROP".

sudo iptables -F INPUT
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
por Eric Carvalho 26.07.2013 / 13:49