Acronimul ICMP vine de la Internet Control Message Protocol. Dupa cum ii spune si numele ICMP este un protocol folosit pentru control si verifcari. In general se verifica functionalitatea unor noduri ale retelei. Folosit inss in exces de cineva rau intentionat poate provoca DoS sau chiar DDoS. Mai demult cand ma intreba cineva ziceam: „Dai DROP si gata!”, practica inss spune ca nui chiar asa.
Nu de putine ori dam cate un ping la serverul respectiv, numai ca sa verificam ca functioneaza. Ce facem? Îl facem sa accepte ping numai de la anumite adrese? Daca se viruseaza astea si fac mai mult rau decat restul internetului la un loc?
Eu va recomand:
iptables -N ICMP
iptables -A INPUT -p icmp -j ICMP
iptables -A OUTPUT -p icmp -j ICMP
iptables -A FORWARD -p icmp -j ICMP
iptables -A ICMP -m length --length 1700:65507 -m limit --limit 1/sec -j LOG --log-prefix "ICMP TOO BIG: "
iptables -A ICMP -m length --length 1700:65507 -j DROP
iptables -A ICMP -p icmp -m limit --limit 10/sec --limit-burst 20 -m icmp --icmp-type 0 -j ACCEPT #echo-reply
iptables -A ICMP -p icmp -m limit --limit 10/sec --limit-burst 20 -m icmp --icmp-type 8 -j ACCEPT #echo-request
iptables -A ICMP -p icmp -m limit --limit 3/sec -m icmp --icmp-type 3 -j ACCEPT #destination-unreachable (folosit la traceroute si mtr)
iptables -A ICMP -p icmp -m limit --limit 3/sec -m icmp --icmp-type 11 -j ACCEPT #time-exceeded
iptables -A ICMP -p icmp -m limit --limit 3/sec -m icmp --icmp-type 30 -j ACCEPT #traceroute
iptables -A ICMP -p icmp -m limit --limit 3/sec -m icmp --icmp-type 17 -j ACCEPT #address-mask-request
iptables -A ICMP -p icmp -m limit --limit 3/sec -m icmp --icmp-type 18 -j ACCEPT #address-mask-reply
iptables -A ICMP -m limit --limit 1/sec -j LOG --log-prefix "DROP ICMP: "
iptables -A ICMP -j DROP
Daca aveti ceva neclaritati astept reply !