Rechercher

1.10. Gestion des requêtes ICMP

download PDF

Le protocole Internet Control Message Protocol (ICMP) est un protocole de support utilisé par divers dispositifs de réseau pour envoyer des messages d'erreur et des informations opérationnelles indiquant un problème de connexion, par exemple, qu'un service demandé n'est pas disponible. ICMP diffère des protocoles de transport tels que TCP et UDP parce qu'il n'est pas utilisé pour échanger des données entre systèmes.

Malheureusement, il est possible d'utiliser les messages ICMP, en particulier echo-request et echo-reply, pour révéler des informations sur votre réseau et les utiliser à des fins frauduleuses. C'est pourquoi firewalld permet de bloquer les requêtes ICMP afin de protéger les informations de votre réseau.

1.10.1. Liste et blocage des requêtes ICMP

Listing ICMP requêtes

Les demandes ICMP sont décrites dans des fichiers XML individuels qui se trouvent dans le répertoire /usr/lib/firewalld/icmptypes/. Vous pouvez lire ces fichiers pour obtenir une description de la demande. La commande firewall-cmd contrôle la manipulation des demandes ICMP.

  • Pour dresser la liste de tous les types de ICMP disponibles :

    # firewall-cmd --get-icmptypes
  • La requête ICMP peut être utilisée par IPv4, IPv6 ou par les deux protocoles. Pour savoir pour quel protocole la requête ICMP a été utilisée :

    # firewall-cmd --info-icmptype=<icmptype>
  • L'état d'une demande ICMP indique yes si la demande est actuellement bloquée ou no si elle ne l'est pas. Pour savoir si une demande ICMP est actuellement bloquée :

    # firewall-cmd --query-icmp-block=<icmptype>

Blocage ou déblocage des demandes ICMP

Lorsque votre serveur bloque les requêtes ICMP, il ne fournit pas les informations qu'il devrait normalement fournir. Toutefois, cela ne signifie pas qu'aucune information n'est fournie. Les clients sont informés que la requête ICMP est bloquée (rejetée). Le blocage des requêtes ICMP doit être envisagé avec prudence, car il peut entraîner des problèmes de communication, en particulier avec le trafic IPv6.

  • Pour savoir si une demande ICMP est actuellement bloquée :

    # firewall-cmd --query-icmp-block=<icmptype>
  • Pour bloquer une demande ICMP:

    # firewall-cmd --add-icmp-block=<icmptype>
  • Pour supprimer le blocage d'une demande ICMP:

    # firewall-cmd --remove-icmp-block=<icmptype>

Blocage des demandes ICMP sans fournir la moindre information

Normalement, si vous bloquez les requêtes ICMP, les clients savent que vous les bloquez. Ainsi, un attaquant potentiel qui recherche des adresses IP en direct peut toujours voir que votre adresse IP est en ligne. Pour masquer complètement cette information, vous devez supprimer toutes les requêtes ICMP.

  • Bloquer et abandonner toutes les demandes de ICMP:
  • Réglez l'objectif de votre zone sur DROP:

    # firewall-cmd --permanent --set-target=DROP

Désormais, tout le trafic, y compris les requêtes ICMP, est supprimé, à l'exception du trafic que vous avez explicitement autorisé.

Pour bloquer et abandonner certaines demandes ICMP et en autoriser d'autres :

  1. Réglez l'objectif de votre zone sur DROP:

    # firewall-cmd --permanent --set-target=DROP
  2. Ajoutez l'inversion de bloc ICMP pour bloquer toutes les demandes ICMP en même temps :

    # firewall-cmd --add-icmp-block-inversion
  3. Ajoutez le bloc ICMP pour les requêtes ICMP que vous souhaitez autoriser :

    # firewall-cmd --add-icmp-block=<icmptype>
  4. Les nouveaux paramètres doivent être conservés :

    # firewall-cmd --runtime-to-permanent

La commande block inversion inverse les paramètres de blocage des demandes de ICMP, de sorte que toutes les demandes qui n'étaient pas bloquées auparavant sont bloquées en raison du changement de la cible de votre zone à DROP. Les demandes qui étaient bloquées ne sont pas bloquées. Cela signifie que si vous souhaitez débloquer une requête, vous devez utiliser la commande de blocage.

Pour rétablir l'inversion de bloc à un niveau totalement permissif :

  1. Réglez l'objectif de votre zone sur default ou ACCEPT:

    # firewall-cmd --permanent --set-target=default
  2. Supprimer tous les blocs ajoutés pour les demandes ICMP:

    # firewall-cmd --remove-icmp-block=<icmptype>
  3. Retirer le bloc d'inversion ICMP:

    # firewall-cmd --remove-icmp-block-inversion
  4. Les nouveaux paramètres doivent être conservés :

    # firewall-cmd --runtime-to-permanent

1.10.2. Configuration du filtre ICMP à l'aide de l'interface graphique

  • Pour activer ou désactiver un filtre ICMP, démarrez l'outil firewall-config et sélectionnez la zone du réseau dont les messages doivent être filtrés. Sélectionnez l'onglet ICMP Filter et cochez la case correspondant à chaque type de message ICMP que vous souhaitez filtrer. Décochez la case pour désactiver un filtre. Ce réglage s'effectue par direction et la valeur par défaut autorise tout.
  • Pour activer l'inversion de ICMP Filter, cliquez sur la case à cocher Invert Filter à droite. Seuls les types ICMP marqués sont désormais acceptés, tous les autres sont rejetés. Dans une zone utilisant la cible DROP, ils sont abandonnés.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.