Recherche de site Web

Comment bloquer les requêtes Ping ICMP vers les systèmes Linux


Certains administrateurs système bloquent souvent les messages ICMP vers leurs serveurs afin de cacher les systèmes Linux au monde extérieur sur des réseaux difficiles ou pour empêcher une sorte d'inondation IP et d'attaques par déni de service.

La méthode la plus simple pour bloquer la commande ping sur les systèmes Linux consiste à ajouter une règle iptables, comme indiqué dans l'exemple ci-dessous. Iptables fait partie du noyau Linux netfilter et, généralement, est installé par défaut dans la plupart des environnements Linux.

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

Une autre méthode générale pour bloquer les messages ICMP sur votre système Linux consiste à ajouter la variable de noyau ci-dessous qui supprimera tous les paquets ping.

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

Afin de rendre la règle ci-dessus permanente, ajoutez la ligne suivante au fichier /etc/sysctl.conf et, ensuite, appliquez la règle avec la commande sysctl.

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

Dans les distributions Linux basées sur Debian livrées avec le pare-feu d'application UFW, vous pouvez bloquer les messages ICMP en ajoutant la règle suivante au fichier /etc/ufw/before.rules, comme illustré dans l'extrait ci-dessous.

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

Redémarrez le pare-feu UFW pour appliquer la règle, en exécutant les commandes ci-dessous.

ufw disable && ufw enable

Dans la distribution CentOS ou Red Hat Enterprise Linux qui utilise l'interface Firewalld pour gérer les règles iptables, ajoutez la règle ci-dessous à supprimer des messages ping.

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

Afin de tester si les règles de pare-feu ont été appliquées avec succès dans tous les cas évoqués ci-dessus, essayez d'envoyer une requête ping à l'adresse IP de votre machine Linux à partir d'un système distant. Dans le cas où les messages ICMP sont bloqués sur votre machine Linux, vous devriez recevoir un message « Demande expirée » ou « Hôte de destination inaccessible » sur la machine distante.