Il semble que vous soyez victime du mantra "ICMP IS EVIL".
ICMP n'est PAS mauvais, simplement mal compris. La triste réalité est que de nombreux administrateurs craignent ce qu'ils ne comprennent pas, et ils rejettent donc ICMP de leur univers réseau, le fuyant au niveau du pare-feu de bord et l'empêchant de prendre sa place juste et appropriée au profit de leur réseau.
Cela dit, permettez-moi de répondre à vos questions:
Quels types de messages ICMP peuvent être dangereux et pourquoi?
Presque tous.
Echo
les paquets peuvent être utilisés pour interrompre les services (en particulier pour les systèmes avec des piles IP mal implémentées); Utilisés légitimement, ils peuvent fournir des informations sur votre réseau.
Destination Unreachable
peut être injecté par malveillance; Utilisés légitimement, ils peuvent fournir des informations sur * votre pare-feu / structure de routage, ou sur une machine spécifique sur votre réseau.
Source Quench
peut être envoyé par malveillance pour que votre serveur soit effectivement assis dans un coin et suce son pouce.
redirect
peut être utilisé comme son nom l'indique.
router advertisement
et les router solicitation
requêtes peuvent être utilisées pour créer des topologies de trafic "intéressantes" (et faciliter les attaques MITM) si vos hôtes y prêtent réellement attention.
traceroute
est conçu pour fournir des informations sur la topologie du réseau.
…etc...
Les noms des différents messages ICMP détaillent à peu près ce qu'ils sont capables de faire. Exercez votre paranoïa innée en imaginant des scénarios de cauchemar :-)
Comment dois-je disposer un ensemble de règles iptables pour gérer chaque type de paquet ICMP?
En l'absence d'une bonne raison de jouer avec le trafic ICMP, laissez-le tranquille!
Le détournement du trafic ICMP empêche l'utilisation appropriée des messages ICMP (gestion du trafic et dépannage) - ce sera plus frustrant qu'utile.
Dois-je limiter le débit de l'un de ces types de paquets ICMP? Et comment?
Il s'agit peut-être de la seule exception légitime à la philosophie du «laissez-le tranquille» - les messages ICMP limitant le débit ou la bande passante peuvent être utiles pour vous aider à éviter les utilisations illégitimes des messages ICMP. FreeBSD est livré avec ICMP Bande passante / Limitation de débit par défaut, et je suppose que Linux a des fonctionnalités similaires.
La limitation du débit / de la bande passante est de loin préférable à une règle de pare-feu général supprimant le trafic ICMP: elle permet toujours à ICMP de remplir sa fonction sur le réseau, et atténue également partiellement les tentatives d'utilisation abusive de votre serveur.
Ce qui précède représente les opinions d'un administrateur système, qui pour sa part est FREAKIN 'TIRED OF HAVING TO TROUBLESHOOT NETWORKS WHERE ALL ICMP TRAFFIC DROPPED - C'est ennuyeux, frustrant, et cela prend plus de temps pour trouver et résoudre les problèmes. :-)
--state INVALID
laisser tomber Ping of Death?Source Quench
, et vous pouvez bloquer cela avec une impunité relative (TCP finira par le comprendre par lui-même). Ping & Traceroute sont certainement des fuites d'informations, mais dans la pratique, je ne pense pas que cela ajoute trop de sécurité à votre environnement. Votre kilométrage (et le niveau de paranoïa requis) peut varier (en fonction de la sensibilité de vos données / environnement).Il ne s'agit pas autant de types que de vecteurs d'attaque possibles. Il y a eu un vecteur d'attaque DoS assez efficace utilisant le paquet de désactivation de source ICMP dans de nombreuses piles TCP / IP de l'hôte Internet commun pendant des années - et pourtant cela ne signifie pas que les messages ICMP de désactivation de source doivent être filtrés en général. Comme pour tout ce qui concerne la sécurité du réseau, pesez les avantages d'un certain protocole ou service par rapport à la surface d'attaque possible en fonction de vos priorités personnelles . Si vous avez des hôtes dans vos réseaux qui sont sensibles à un vecteur d'attaque via ICMP, vous ne pouvez pas les corriger et vous n'avez pas besoin des fonctionnalités spécifiques, vous devriez certainement envisager de les filtrer.
Pour mes réseaux v4 administrés, j'ai trouvé à la fois sûr et pratique d'autoriser les types ICMP 0, 8 (demande / réponse d'écho), 11 (TTL expiré), 3 (destination inaccessible) et 12 (erreur d'en-tête IP) et de supprimer tout le reste.
la source