Desative a resposta ICMP no firewall CentOS 7, exceto alguns blocos de IP

Desative a resposta ICMP no firewall CentOS 7, exceto alguns blocos de IP

Eu tenho uma máquina Centos 7 com FirewallD e net.ipv4.conf.icmp_echo_ignore_all está definido como 0. Estou procurando algumas configurações de firewall para desabilitar respostas de ping para endereços IP externos, mas permitir alguns blocos de IP (como 192.168.1.0/ 24, 10.0.0.0/8 etc.) para obter respostas de ping.

Como eu posso fazer isso?

Responder1

Aqui está uma solução comiptables

[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 192.168.0.0-192.168.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 10.0.0.0-10.255.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -p ICMP --icmp-type 8 -j DROP

Aqui está como deve ser depois das enfermarias:

[root@ttucker ~]# iptables -v -n -L INPUT | grep icmp
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            source IP range 192.168.0.0-192.168.255.255 icmptype 8
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            source IP range 10.0.0.0-10.255.255.255 icmptype 8
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

O Iptables funciona avaliando as regras que possui em ordem de cima para baixo em uma determinada cadeia. Neste caso, é a cadeia INPUT. Quando o iptables encontra uma regra que corresponde às suas condições, ele executa a ação especificada em -j.

Portanto, neste exemplo, estamos afirmando que se a fonte for 10.0.0.0/8 ou 192.168.0.0/16, a ação será ACCEPT. Se o endereço de origem não estiver nesse intervalo, ele atingirá a terceira regra que afirma DROP.

Observação: você também precisa se certificar de que atualmente não possui nenhuma regra atual que aceite todo o tráfego ICMP anterior a essas regras.

Os -A INPUTmeios para anexar à INPUTcadeia. Portanto, primeiro você deseja listar toda a cadeia de entrada e excluir quaisquer outras regras ICMP que existam lá.

Aqui está como listar as regras da cadeia INPUT:

iptables -v -n -L INPUT

Por favor, deixe-me saber se isso funciona para você ou se você tiver alguma dúvida adicional.

informação relacionada