Come bloccare le richieste ICMP di ping sui sistemi Linux
Alcuni amministratori di sistema spesso bloccano i messaggi ICMP sui loro server per nascondere le macchine Linux al mondo esterno su reti difficili o per prevenire qualche tipo di IP Flood e attacchi Denial of Service.
Il metodo più semplice per bloccare il comando ping sui sistemi Linux è aggiungere una regola iptables, come mostrato nell'esempio seguente. Iptables fa parte del kernel Linux netfilter e, di solito, è installato per impostazione predefinita nella maggior parte degli ambienti Linux.
iptables -A INPUT --proto icmp -j DROP
iptables -L -n -v [List Iptables Rules]
Un altro metodo generale per bloccare i messaggi ICMP nel tuo sistema Linux è aggiungere la variabile del kernel seguente che eliminerà tutti i pacchetti ping.
echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
Per rendere permanente la regola di cui sopra, aggiungere la riga seguente al file /etc/sysctl.conf e, successivamente, applicare la regola con il comando sysctl.
echo “net.ipv4.icmp_echo_ignore_all = 1” >> /etc/sysctl.conf
sysctl -p
Nelle distribuzioni Linux basate su Debian fornite con firewall applicativo UFW, puoi bloccare i messaggi ICMP aggiungendo la seguente regola al file /etc/ufw/before.rules, come illustrato nell'estratto seguente.
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Riavvia il firewall UFW per applicare la regola, emettendo i comandi seguenti.
ufw disable && ufw enable
Nella distribuzione CentOS o Red Hat Enterprise Linux che utilizza l'interfaccia Firewalld per gestire le regole iptables, aggiungi la regola seguente a eliminare i messaggi ping.
firewall-cmd --zone=public --remove-icmp-block={echo-request,echo-reply,timestamp-reply,timestamp-request} --permanent
firewall-cmd --reload
Per verificare se le regole del firewall sono state applicate con successo in tutti i casi discussi sopra, prova a eseguire il ping dell'indirizzo IP della tua macchina Linux da un sistema remoto. Nel caso in cui i messaggi ICMP siano bloccati sul tuo sistema Linux, dovresti ricevere un messaggio "Richiesta scaduta" o "Host di destinazione non raggiungibile" sul computer remoto.