Question iptables | Types de ICMP: lesquels sont (potentiellement) nocifs?


J'ai lu que certains types¹ de paquets ICMP peuvent être dangereux. Des questions:

  • Lesquels et pourquoi?
  • Comment dois-je disposer un ensemble de règles iptables pour gérer chaque type de paquet ICMP?
  • Devrais-je limiter l'un ou l'autre de ces types de paquets ICMP? Et comment?

[¹] Types lus à propos de: redirection (5), horodatage (13) et requête de masque d'adresse (17). S'il vous plaît, ne tenez pas compte uniquement de ceux-ci dans votre réponse.

Plus d'informations
C'est un serveur Web sur un SMV avec Ubuntu Server.

Le but
J'essaie de rendre le système plus sûr, d'atténuer le risque de certaines attaques D / DoS et d'abus généralisés.

en relation
Mon pare-feu Linux est-il sécurisé?
Pourquoi ne pas bloquer ICMP?


8
2017-12-12 22:01


origine




Réponses:


On dirait que vous êtes victime du mantra "ICMP IS EVIL".
ICMP est NE PAS le mal, simplement mal compris. La triste réalité est que beaucoup d'administrateurs craignent ce qu'ils ne comprennent pas. Ils ont donc rejeté l'ICMP de son univers réseau, l'évitant au niveau du pare-feu périphérique et l'empêchant de prendre la place qui lui revient pour le bénéfice de leur réseau.

Cela dit, laissez-moi répondre à vos questions:


Quels types de messages ICMP peuvent être nuisibles et pourquoi?
À peu près tous.

  • Echo les paquets peuvent être utilisés pour perturber les services (en particulier pour les systèmes avec des piles IP mal implémentées); Utilisés légitimement, ils peuvent donner des informations sur votre réseau.

  • Destination Unreachable peut être malicieusement injecté; Utilisés légitimement, ils peuvent donner des informations sur * votre structure de pare-feu / routage ou sur une machine spécifique de votre réseau.

  • Source Quench peut être envoyé de manière malveillante pour que votre serveur s’assoie efficacement dans un coin et suce son pouce.

  • redirect peut être utilisé comme son nom l'indique.

  • router advertisement et router solicitation Les 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 vraiment attention.

  • traceroute est conçu pour donner des informations sur la topologie du réseau.

…etc...

le noms des différents messages ICMP à peu près en détail 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?
Absent une bonne raison de jouer avec le trafic ICMP, laissez l'enfer seul!
Traîner avec le trafic ICMP empêche les utilisations appropriées des messages ICMP (gestion du trafic et dépannage) - ce sera plus frustrant qu'utile.


Devrais-je limiter l'un ou l'autre de ces types de paquets ICMP? Et comment?
Il peut s’agir de la seule exception légitime à la philosophie "laissez l’enfer tranquille" - les messages ICMP limitant le débit ou la bande passante peuvent s'avérer utiles pour vous éviter des utilisations illégitimes des messages ICMP. FreeBSD est livré avec Limite de bande passante / débit ICMP par défaut, et je suppose que Linux a une fonctionnalité similaire.

La limitation du débit / de la bande passante est de loin préférable à une règle de pare-feu globale qui supprime le trafic ICMP: elle permet toujours à ICMP de remplir son rôle sur le réseau et de limiter partiellement les tentatives d’abus de votre serveur.


Ce qui précède représente les opinions d’un administrateur système, lui-même FREAKIN 'fatigué d'avoir à résoudre les problèmes de réseaux lorsque le trafic ICMP est abandonné - C'est agaçant, frustrant et cela prend plus de temps pour trouver et résoudre les problèmes. :-)


10
2017-12-12 22:50



Mais .. mais .. le Ping of Death est à craindre, à des niveaux irrationnels! (est-ce mauvais que je puisse dire qui a écrit cette réponse après le premier paragraphe?) - Shane Madden♦
En effet, ICMP est utile. Si j'étais victime de "ICMP is evil", je préférerais tout bloquer et ne pas ouvrir cette question :) Tout ce que je veux, c'est de l'aide pour prendre une décision éclairée. Vous pouvez être sûr que je ne vais pas les bloquer tous :) - ML--
@Shane Madden: Will --state INVALID déposer Ping of Death? - ML--
@ ML-- S'il vous plaît ne vous inquiétez pas pour le ping de la mort. Aucun OS de ce millénaire n'est vulnérable. - Shane Madden♦
@ ML-- Le seul vecteur qui m'inquiète est Source Quench, et toi pouvez bloquer cela avec une impunité relative (TCP finira par le découvrir par lui-même). Ping & Traceroute sont 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). - voretaq7


Il ne s'agit pas autant de types que de vecteurs d'attaque possibles. Il existe un vecteur d’attaque DoS plutôt efficace utilisant la Extinction de source ICMP paquet 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 d'extinction de source doivent être filtrés en général. Comme pour tout ce qui concerne la sécurité du réseau, évaluez les avantages d’un protocole ou d’un service donné par rapport à la surface d’attaque éventuelle en fonction de votre environnement. personnel les priorités. Si des hôtes de vos réseaux sont susceptibles de subir un vecteur d’attaque via ICMP, vous ne pouvez pas les réparer 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, il est à la fois sûr et pratique d'autoriser les types ICMP 0, 8 (demande / réponse d'écho), 11 (expiration de la durée de vie du fichier), 3 (destination inaccessible) et 12 (erreur d'en-tête IP), ainsi le reste.


4
2017-12-12 23:06