Firewall iptables no Linux – Parte 07: O Target REJECT
Target REJECT no iptables – Bloquear pacotes
O target REJECT é empregado para que seja possível rejeitar (bloquear) pacotes no firewall.
Vejamos agora alguns exemplos do uso do target REJECT. Para isso usaremos algumas mensagens ICMP para visualizar a resposta do firewall ao remetente dos pacotes que serão bloqueados.
O target REJECT só é válido nas cadeias INPUT, OUTPUT e FORWARD, e possui uma opção, –reject-with, a qual exploraremos nos exemplos sugeridos.
Primeiro, vamos limpar a regras atuais do firewall, cujo IP é 192.168.1.101, para que não interfiram em nossos exemplos:
# iptables -F
Vamos também alterar a regra padrão da chain INPUT para ACCEPT:
# iptables -P INPUT ACCEPT
E agora vamos enviar pacotes icmp usando o ping e testar a conectividade entre as máquinas (usarei um cliente WIndows, de IP 192.168.1.105, via prompt de comandos):
O ping está operando normalmente. Vamos então criar algumas regras que bloqueiem o ping no servidor e que emitam de volta ao remetente (no caso, a máquina Windows) mensagens específicas. Apos testar cada regra, limpe a cadeia com iptables -F.
Regra #1: Usando um REJECT simples, sem especificar nenhuma mensagem de retorno:
# iptables -A INPUT -s 192.168.1.105 -j REJECT
Testando a partir do cliente:
Observe que o ping foi bloqueado no servidor e foi emitida uma mensagem padrão do REJECT “Porta de destino inacessível” ao cliente de IP 192.168.1.105.
Regra #2: Emitindo a mensagem “Rede de destino inacessível” com o REJECT:
# iptables -A INPUT -s 192.168.1.105 -j REJECT --reject-with icmp-net-unreachable
Testando a partir do cliente:
O parâmetro –reject-with deve sempre vir após a palavra REJECT.
Regra #3: Emitindo a mensagem “Host de destino inacessível” com o REJECT:
# iptables -A INPUT -s 192.168.1.105 -j REJECT --reject-with icmp-host-unreachable
Regra #4: Emitindo a mensagem padrão “Porta de destino inacessível” com o REJECT:
# iptables -A INPUT -s 192.168.1.105 -j REJECT --reject-with icmp-port-unreachable
Note que essa é a mensagem padrão do REJECT, que é emitida se nenhuma outra for especificada com –reject-with.
Regra #5: Emitindo a mensagem padrão “Protocolo de destino inacessível” com o REJECT:
# iptables -A INPUT -s 192.168.1.105 -j REJECT --reject-with icmp-proto-unreachable
Existem ainda algumas outras mensagens icmp que podem ser emitidas, como icmp-tcp-reset, icmp-host-prohibited, icmp-network-prohibited e icmp-admin-prohibited. Consulte a documentação do netfilter para maiores detalhes.
Escreva um comentário