Rechercher

1.5. Travailler avec les zones firewalld

download PDF

Les zones représentent un concept permettant de gérer le trafic entrant de manière plus transparente. Les zones sont connectées à des interfaces de réseau ou se voient attribuer une série d'adresses sources. Vous gérez les règles de pare-feu pour chaque zone indépendamment, ce qui vous permet de définir des paramètres de pare-feu complexes et de les appliquer au trafic.

1.5.1. Zones d'inscription

Vous pouvez dresser la liste des zones à l'aide de la ligne de commande.

Procédure

  1. Pour connaître les zones disponibles sur votre système :

    # firewall-cmd --get-zones

    La commande firewall-cmd --get-zones affiche toutes les zones disponibles sur le système, mais n'indique aucun détail sur des zones particulières.

  2. Pour obtenir des informations détaillées sur toutes les zones :

    # firewall-cmd --list-all-zones
  3. Pour obtenir des informations détaillées sur une zone spécifique :

    # firewall-cmd --zone=zone-name --list-all

1.5.2. Modifier les paramètres de firewalld pour une certaine zone

Les sections Contrôle du trafic avec des services prédéfinis à l'aide de cli et Contrôle des ports à l'aide de cli expliquent comment ajouter des services ou modifier des ports dans le cadre de la zone de travail actuelle. Il est parfois nécessaire de définir des règles dans une autre zone.

Procédure

  • Pour travailler dans une autre zone, utilisez l'option --zone=<zone_name> pour fonctionner dans une autre zone. Par exemple, pour autoriser le service SSH dans la zone public:

    # firewall-cmd --add-service=ssh --zone=public

1.5.3. Modifier la zone par défaut

Les administrateurs système attribuent une zone à une interface réseau dans ses fichiers de configuration. Si une interface n'est pas assignée à une zone spécifique, elle est assignée à la zone par défaut. Après chaque redémarrage du service firewalld, firewalld charge les paramètres de la zone par défaut et la rend active.

Procédure

Pour configurer la zone par défaut :

  1. Affiche la zone par défaut actuelle :

    # firewall-cmd --get-default-zone
  2. Définir la nouvelle zone par défaut :

    # firewall-cmd --set-default-zone <zone_name>
    Note

    En suivant cette procédure, le réglage est permanent, même sans l'option --permanent.

1.5.4. Affectation d'une interface réseau à une zone

Il est possible de définir différents ensembles de règles pour différentes zones, puis de modifier rapidement les paramètres en changeant la zone de l'interface utilisée. En cas d'interfaces multiples, une zone spécifique peut être définie pour chacune d'entre elles afin de distinguer le trafic qui les traverse.

Procédure

Pour affecter la zone à une interface spécifique :

  1. Liste des zones actives et des interfaces qui leur sont affectées :

    # firewall-cmd --get-active-zones
  2. Assigner l'interface à une zone différente :

    # firewall-cmd --zone=zone_name --change-interface=interface_name --permanent

1.5.5. Attribution d'une zone à une connexion à l'aide de nmcli

Vous pouvez ajouter une zone firewalld à une connexion NetworkManager à l'aide de l'utilitaire nmcli.

Procédure

  1. Attribuer la zone au profil de connexion NetworkManager:

    # nmcli connection modify profile connection.zone zone_name
  2. Activer la connexion :

    # nmcli connection up profile

1.5.6. Attribution manuelle d'une zone à une connexion réseau dans un fichier ifcfg

Lorsque la connexion est gérée par NetworkManager, elle doit connaître la zone qu'elle utilise. Pour chaque connexion réseau, une zone peut être spécifiée, ce qui permet d'adapter les paramètres du pare-feu en fonction de l'emplacement de l'ordinateur et des appareils portables. Ainsi, les zones et les paramètres peuvent être spécifiés pour différents lieux, tels que l'entreprise ou le domicile.

Procédure

  • Pour définir une zone pour une connexion, modifiez le fichier /etc/sysconfig/network-scripts/ifcfg-connection_name et ajoutez une ligne qui attribue une zone à cette connexion :

    ZONE=zone_name

1.5.7. Création d'une nouvelle zone

Pour utiliser des zones personnalisées, créez une nouvelle zone et utilisez-la comme une zone prédéfinie. Les nouvelles zones nécessitent l'option --permanent, sinon la commande ne fonctionne pas.

Procédure

  1. Créer une nouvelle zone :

    # firewall-cmd --permanent --new-zone=zone-name
  2. Vérifiez si la nouvelle zone est ajoutée à vos paramètres permanents :

    # firewall-cmd --get-zones
  3. Les nouveaux paramètres doivent être conservés :

    # firewall-cmd --runtime-to-permanent

1.5.8. Fichiers de configuration de la zone

Les zones peuvent également être créées à l'aide de zone configuration file. Cette approche peut être utile lorsque vous devez créer une nouvelle zone, mais que vous souhaitez réutiliser les paramètres d'une autre zone et ne les modifier que légèrement.

Un fichier de configuration de zone firewalld contient les informations relatives à une zone. Il s'agit de la description de la zone, des services, des ports, des protocoles, des blocs icmp, de la mascarade, des ports de renvoi et des règles de langage riche dans un format de fichier XML. Le nom du fichier doit être zone-name.xml où la longueur de zone-name est actuellement limitée à 17 caractères. Les fichiers de configuration de la zone sont situés dans les répertoires /usr/lib/firewalld/zones/ et /etc/firewalld/zones/.

L'exemple suivant montre une configuration qui autorise un service (SSH) et une plage de ports, pour les protocoles TCP et UDP:

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>My Zone</short>
  <description>Here you can describe the characteristic features of the zone.</description>
  <service name="ssh"/>
  <port protocol="udp" port="1025-65535"/>
  <port protocol="tcp" port="1025-65535"/>
</zone>

Pour modifier les paramètres de cette zone, ajoutez ou supprimez des sections pour ajouter des ports, transférer des ports, des services, etc.

Ressources supplémentaires

  • firewalld.zone page du manuel

1.5.9. Utilisation des cibles de zone pour définir le comportement par défaut du trafic entrant

Pour chaque zone, vous pouvez définir un comportement par défaut qui gère le trafic entrant non spécifié. Ce comportement est défini en définissant la cible de la zone. Il existe quatre options :

  • ACCEPT: Accepte tous les paquets entrants, à l'exception de ceux qui sont interdits par des règles spécifiques.
  • REJECT: Rejette tous les paquets entrants sauf ceux autorisés par des règles spécifiques. Lorsque firewalld rejette des paquets, la machine source est informée du rejet.
  • DROP: Abandonne tous les paquets entrants à l'exception de ceux autorisés par des règles spécifiques. Lorsque firewalld abandonne des paquets, la machine source n'est pas informée de l'abandon du paquet.
  • default: Comportement similaire à celui de REJECT, mais avec des significations spéciales dans certains scénarios. Pour plus de détails, voir la section Options to Adapt and Query Zones and Policies dans la page de manuel firewall-cmd(1).

Procédure

Pour définir une cible pour une zone :

  1. Lister les informations pour la zone spécifique afin de voir la cible par défaut :

    # firewall-cmd --zone=zone-name --list-all
  2. Fixer un nouvel objectif dans la zone :

    # firewall-cmd --permanent --zone=zone-name --set-target=<default|ACCEPT|REJECT|DROP>

Ressources supplémentaires

  • firewall-cmd(1) page de manuel
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.