Dica sobre iptables ACCEPT e DROP

1. Dica sobre iptables ACCEPT e DROP

hunter
hunter2800aa

(usa Debian)

Enviado em 01/11/2024 - 08:13h

Bom dia galera, gostaria de tentar entender esse problema!!!

Tenho as seguintes regras no meu firewall/gateway nessa mesma ordem...

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -j DROP
iptables -A FORWARD -p icmp -j DROP

Porem os computadores em minha rede conseguem se pingar e pingar outras redes internas respeitando o limite 1/s....
mas não conseguem pingar para fora da rede (sites), ao não ser se eu remover a ultima regra DROP do FORWARD

E meu servidor não consegue pingar fora se eu não remover e penultima regra DROP do INPUT...

Se eu remover essas duas ultimas regras funciona de boas, mas os pings não respeitam o limite 1/s


Lembrando q lá no começo do Firewall estou usando as regras padroes assim:
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP



  


2. Re: Dica sobre iptables ACCEPT e DROP

Eduardo Paim Silveira
eduardo

(usa Linux Mint)

Enviado em 01/11/2024 - 08:23h

Acredito que o problema seja que você está liberando o echo-request, mas não o echo-reply, e não possui nenhuma regra para conexões "Relacionadas ou Estabelecidas".
Quando você envia um ping, você envia um echo-request. Se o destino restponder, ele vai retornar um echo-reply. Ou seja, quando um equipamento pinga para fora, ele passa pela regra do FORWARD (echo-request). Porém, o retorno (echo-reply) acaba caindo na última regra (DROP), pois não tem regra liberando o echo-reply.
O mesmo para INPUT, só vai funcionar se alguém pingar firewall, pois será INPUT. Já o firewall pingar vai bloquear o retorno.
Você pode resolver isso adicionando a regra do echo-reply ou adicionando a regra que libera conexões relacionadas ou estabelecidas.

iptables -A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -j ACCEPT -m state --state RELATED,ESTABLISHED

Adicione elas antes das regras atuais. Dessa forma, o echo-reply que é referente o echo-request vai deixar passar.
Pelo que me recordo, o ping inicia uma nova conexão a cada echo-request, ou seja, o ping seguinte não é relacionado ao anterior. Caso seja, vai começar a cair nessa nova regra e não vai ter o limite de 1 por segundo. Faça um teste para confirmar.



3. Re: Dica sobre iptables ACCEPT e DROP

hunter
hunter2800aa

(usa Debian)

Enviado em 01/11/2024 - 08:49h


Muito obrigado por responder eduardo.....

Sim...eu tenho as regras
iptables -A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -j ACCEPT -m state --state RELATED,ESTABLISHED

Porem, elas são as ultimas regras do meu firewall.....
Vou tentar colocar elas antes das regras DROP do meu firewall pra ver se resolve.....

Volto aki pra fazer se deu bom!!!!


4. Re: Dica sobre iptables ACCEPT e DROP

Eduardo Paim Silveira
eduardo

(usa Linux Mint)

Enviado em 01/11/2024 - 08:55h

Isso, coloque pelo menos antes do DROP.
Caso não funcione 1 por segundo, desta forma:

iptables -A FORWARD -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp -j DROP

Tente colocar um DROP do echo-request apenas.
Ou seja:

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP
iptables -A FORWARD -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -p icmp -j DROP

Faz tempo que testei esse tipo de regra e não me recordo como o ping se porta.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts