IPTABLES é lento após adicionar '-A INPUT -j DROP' à lista de regras

7

Estou apenas começando com o iptables e me deparei com algo que realmente não entendo.

FYI, eu segui as instruções do IptablesHowTo do wiki do Ubuntu .

As tabelas nat e mangle estão vazias, estou trabalhando apenas com a tabela de filtros agora.

O problema

Se eu adicionar as seguintes regras do iptables:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

... então eu ainda tenho acesso à minha máquina via ssh, no entanto todos os comandos do iptables demoram cerca de um minuto ou dois para serem executados. Não é um problema de DNS, -n não muda isso.

A solução

Se eu limpar a tabela e adicionar essas três regras, tudo estará funcionando bem:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

Alguém pode me explicar, por que a primeira regra tem um impacto tão grande no iptables? Eu entendo que isso permite que sessões estabelecidas recebam tráfego, mas por que eu preciso disso se o ssh estiver aberto?

    
por mohrphium 28.12.2013 / 10:53

2 respostas

3

Está realizando uma pesquisa de DNS e, como a resposta é bloqueada, demora um pouco para expirar.

Tente fazer o iptables -n ... para impedir a pesquisa de DNS.

O conntrack permite que as conexões sejam recebidas na porta efêmera que foi criada para respostas a solicitações que foram iniciadas por sua máquina (nesse caso, a solicitação de DNS). Sem permitir conexões ESTABLISHED ou RELATED, até mesmo as respostas às suas solicitações são bloqueadas.

EX .: Se você tentar acessar um site, mesmo que possa enviar a solicitação para o site, a resposta do site será bloqueada.

    
por 15.07.2016 / 01:41
4

com

iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP

sua máquina derrubará cada pacote de entrada, a menos que venha da porta SSH. É uma boa ideia se você quiser que a máquina se comunique apenas via SSH. Caso contrário, você precisa adicionar

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

que fará com que você se conecte a algum servidor da Web em vez de se conectar com alguém.

    
por 28.12.2013 / 12:06

Tags