Meniu

Trucuri de filtrare ICMP

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:

  • creem un lana nou, ICMP si directionam tot traficul ICMP catre el(practica spune ca e bine sa creem grupurile de reguli ce tin de un anume protocol sau de un serviciu in lanturi separate)

iptables -N ICMP
iptables -A INPUT -p icmp -j ICMP
iptables -A OUTPUT -p icmp -j ICMP
iptables -A FORWARD -p icmp -j ICMP

  • jurnalizam si ignoram pachetele ce depasesc de o anumita dimensiune (pachetele de control in general nu depasesc 1500, adica mai mult de cat MTU, daca sunt mai mari e clar ca ceva e in neregula)

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

  • acceptam pachetele de tipul care ne intereseaza si in anumite limite

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

  • jurnalizam si ignoram restul pachetelor

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 !

FlorinM

Utilizator Linux - Solus OS, pasionat de calatorii.
  • | 2708 articole

Nici un comentariu inca. Fii primul!
  • powered by Verysign