Kuidas blokeerida ICMP-päringuid Linuxi süsteemidele


Mõni süsteemiadministraator blokeerib ICMP-sõnumid sageli oma serveritesse, et varjata Linuxi kaste rämedates võrkudes välismaailmale või vältida IP-de üleujutusi ja teenuse keelamise rünnakuid.

Kõige lihtsam meetod pingikäskluse blokeerimiseks Linuxi süsteemides on iptables-reegli lisamine, nagu on näidatud allpool toodud näites. Iptables on osa Linuxi kerneli netfiltrist ja tavaliselt installitakse see vaikimisi enamikus Linuxi keskkondades.

# iptables -A INPUT --proto icmp -j DROP
# iptables -L -n -v  [List Iptables Rules]

Teine üldine meetod ICMP-sõnumite blokeerimiseks teie Linuxi süsteemis on lisada allpool olev tuuma muutuja, mis loobub kõikidest pingipakettidest.

# echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all

Ülaltoodud reegli püsivaks muutmiseks lisage järgmine rida failile /etc/sysctl.conf ja seejärel rakendage reegel käsuga sysctl.

# echo “net.ipv4.icmp_echo_ignore_all = 1” >> /etc/sysctl.conf 
# sysctl -p

UFW-rakenduse tulemüüriga tarnitavates Debiani-põhistes Linuxi distributsioonides saate ICMP-sõnumid blokeerida, lisades /etc/ufw/before.rules -failile järgmise reegli, nagu on näidatud allpool olevas katkendis.

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Reegli rakendamiseks taaskäivitage UFW tulemüür, väljastades järgmised käsud.

# ufw disable && ufw enable

CentOSi või Red Hat Enterprise Linuxi jaotuses, mis kasutab iptablesi reeglite haldamiseks tulemüüri liidest, lisage pingisõnumite loobumiseks järgmine reegel.

# firewall-cmd --zone=public --remove-icmp-block={echo-request,echo-reply,timestamp-reply,timestamp-request} --permanent	
# firewall-cmd --reload

Selleks, et kontrollida, kas tulemüüri reegleid oli kõigil eespool käsitletud juhtudel edukalt rakendatud, proovige oma Linuxi masina IP-aadressi kaugsüsteemist pingida. Juhul, kui ICMP-sõnumid on teie Linuxi kasti blokeeritud, peaksite saama kaugmasinasse\"Request timed out" või\"Destination Host unreachable" sõnumeid.