De nombreux administrateurs réseau pensent que le protocole ICMP présente un risque pour la sécurité et qu’il faut bloquer ce protocole dans le pare-feu.
Mais est-ce une bonne idée ou une mauvaise idée ?
Dans ce tutoriel, je vous donne les pour et les contre du blocage ICMP.

Table des matières
Qu’est-ce ICMP
ICMP est un protocole de message qui permet de notifier d’un problème de connexion, de transmissions de données ou encore la nécessité d’utiliser tel ou tel chemin pour se connecter à un équipement réseau.
À la base, ICMP a été conçu comme un mécanisme de débogage, de dépannage et de signalement des erreurs pour le protocole IP.
Ainsi, ICMP est intégré dans les communications réseau et a toute son utilité.
Pourquoi bloquer ICMP et pourquoi ne pas bloquer ICMP
Les contre
ICMP est utile dans beaucoup de cas, ainsi, il n’est pas recommandé de bloquer totalement ce protocole réseau.
Voici quelques exemples :
- Path MTU Discovery – Nous utilisons une combinaison de l’indicateur Don’t Fragment et du code 4 de type 3 (Destination Unreachable – Fragmentation requise et indicateur DF activé) pour déterminer le plus petit MTU sur le chemin entre les hôtes. De cette façon, nous évitons la fragmentation de paquets IP pendant la transmission
- Monitoring et supervision de machines : le ping peut être utilisé pour savoir si une machine est active sur un réseau. Les systèmes de monitoring ou de supervision peuvent donc l’utiliser
- Active Directory demande aux clients d’envoyer un ping aux contrôleurs de domaine afin d’extraire les GPO. Ils utilisent le ping pour déterminer le contrôleur le plus « proche » et si aucun ne répond, on suppose qu’aucun n’est assez proche. La mise à jour de la stratégie n’a donc pas lieu
- En IPV6, les protocoles Neighbor Discovery Protocol (NDP) et Stateless Address Auto-configuration (SLAAC) utilisent le protocole ICMP
Les protocoles de découverte du réseau, monitoring ou d’auto-configuration du réseau s’appuient sur les messages ICMP.
Pour ses raisons, bloquer l’intégralité du protocole n’est pas recommandé.
Les pour
Le protocole d’écho ICMP est généralement inoffensif. Ses principaux problèmes de sécurité sont les suivants : En présence de requêtes avec une fausse adresse source (« spoofing »), elles peuvent amener une machine cible à envoyer des paquets relativement importants à un autre hôte.
D’autres formes d’attaques basées sur ce protocoles existent comme Smurf attack ou Twinge Attack
Dans tous les cas, l’envoie ou la réception d’un grande nombre de requêtes ICMP va consommer des ressources systèmes.
Conclusion
Bloquer ICMP dans son intégralité n’est probablement pas la meilleure idée, puisqu’il est utile.
Mais comme tout protocole, il convient de choisir ce que vous bloquez la réception et l’envoie.
Vous pouvez par exemple bloquer les ping en choisissant le type de messages ICMP.
Enfin le plus simple est de tout simple mettre en place une limitation de requêtes ICMP par IP.
Comment bloquer ou limiter ICMP avec iptables
Voici un exemple de règles iptables pour bloquer les requêtes ICMP par IP (IPv4) :
iptables -A INPUT -p icmp -j DROP
en IPv6 :
ip6tables -A INPUT -p icmpv6 -j DROP
Mais la plupart du temps, lorsqu’on parle de bloquer ICMP, ils parlent en fait de ping ou traceroute. Cela se traduit par 3 types
- 0 – Echo Reply (réponse ping)
- 8 – Echo Request (demande ping)
- 11 – Dépassement de temps
Dans ce cas suivez ce tutoriel :
Liens
- Les attaques DDoS : Le déni de service
- Comment protéger son site WEB des attaques DoS Layer 7 (DoS L7)
- Cloudflare : comment protéger Nginx et WordPress des attaques DoS, piratages et bruteforce
- Iptables : bloquer SYN flood
- Protéger Nginx des attaques DoS et bruteforce
- Fail2ban : protéger son serveur des attaques DoS et Bruteforce
- Sécuriser et protéger WordPress contre les piratages ou hacks
- Le Web Firewall de Cloudflare : fonctionnement, configuration pour protéger son site internet
- Se protéger des attaques par brute force