Kā bloķēt Ping ICMP pieprasījumus Linux sistēmām


Daži sistēmas administratori bieži bloķē ICMP ziņojumus saviem serveriem, lai slēptos Linux lodziņus ārpasaulē neapstrādātos tīklos vai novērstu kāda veida IP plūdus un pakalpojumu lieguma uzbrukumus.

Visvienkāršākā metode ping komandas bloķēšanai Linux sistēmās ir pievienojot iptables kārtulu, kā parādīts zemāk esošajā piemērā. Iptables ir daļa no Linux kodola netfilter un parasti tiek instalēta pēc noklusējuma lielākajā daļā Linux vidi.

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

Vēl viena vispārēja metode ICMP ziņojumu bloķēšanai jūsu Linux sistēmā ir pievienot zemāk esošo kodola mainīgo, kas nometīs visas ping paketes.

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

Lai padarītu iepriekšminēto kārtulu pastāvīgu, pievienojiet /etc/sysctl.conf failam šādu rindu un pēc tam lietojiet kārtulu ar komandu sysctl.

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

Debian bāzes Linux izplatījumos, kas tiek piegādāti ar UFW lietojumprogrammu ugunsmūri, varat bloķēt ICMP ziņojumus, failam /etc/ufw/before.rules pievienojot šādu kārtulu, kā parādīts zemāk esošajā fragmentā.

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

Restartējiet UFW ugunsmūri, lai lietotu kārtulu, izsniedzot tālāk norādītās komandas.

# ufw disable && ufw enable

CentOS vai Red Hat Enterprise Linux izplatīšanā, kas izmanto Firewalld saskarni, lai pārvaldītu iptables kārtulas, pievienojiet šo kārtulu, lai nomestu ping ziņojumus.

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

Lai pārbaudītu, vai visos iepriekš apskatītajos gadījumos ugunsmūra noteikumi tika veiksmīgi piemēroti, mēģiniet pingēt Linux mašīnas IP adresi no attālās sistēmas. Gadījumā, ja ICMP ziņojumi ir bloķēti jūsu Linux lodziņā, tālvadības mašīnā jāsaņem ziņojumi “Pieprasījums ir noildzis” vai “Galamērķa resursdators nav sasniedzams”.