Notions de base de Firewalld et zones

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce lab, vous allez découvrir Firewalld, un outil moderne de gestion du pare-feu disponible sur de nombreuses distributions Linux.

Un pare-feu contrôle le trafic réseau autorisé à entrer dans un système ou à en sortir. Pour les débutants, les règles traditionnelles de filtrage des paquets peuvent sembler rigides. Firewalld propose un modèle de gestion de plus haut niveau qui permet aux administrateurs d’ajuster les règles de sécurité de manière plus sûre et plus dynamique.

Le concept central de Firewalld est celui des zones. Les zones permettent d’appliquer différents niveaux de confiance aux interfaces réseau ou aux connexions.

  • Zone Home : imaginez votre salon. Vous faites confiance aux personnes (et aux appareils) qui s’y trouvent : la porte est donc presque toujours ouverte.
  • Zone Public : imaginez un café. Vous ne faites pas confiance aux autres personnes (et aux appareils) qui vous entourent : vous verrouillez donc les portes et n’autorisez que des interactions très précises.

Firewalld vous permet d’affecter différentes connexions réseau (interfaces) à ces zones.

À la fin de ce lab, vous serez capable de :

  1. Installer et démarrer le service Firewalld en toute sécurité.
  2. Identifier les « zones » de sécurité actives.
  3. Examiner les règles d’une zone.
  4. Déplacer une interface réseau d’une zone à une autre.

Installer et démarrer Firewalld

Dans cette étape, vous allez installer le logiciel Firewalld et vérifier qu’il fonctionne.

Étape de sécurité critique : dans cet environnement de lab distant, votre connexion au terminal dépend de l’ouverture du réseau. Si nous démarrons le pare-feu avec ses paramètres par défaut, généralement Public ou Drop, il pourrait bloquer votre connexion et vous empêcher immédiatement d’y accéder. Pour éviter cela, nous allons configurer explicitement Firewalld afin qu’il utilise la zone Trusted pour notre connexion.

Il s’agit d’une leçon opérationnelle importante : le pare-feu sert à réduire la surface d’attaque, mais une modification imprudente de la politique réseau peut également couper votre propre accès. Avant de modifier les contrôles réseau, les bons administrateurs réfléchissent aux moyens de récupération et aux chemins d’accès actuellement utilisés.

Commencez par installer le paquet.

sudo apt-get update
sudo systemctl mask firewalld
sudo apt-get install firewalld -y

Le masquage empêche l’installation du paquet de démarrer automatiquement firewalld. Avant de démarrer le service, configurez trusted comme zone par défaut et associez-y eth0 avec firewall-offline-cmd. Ce client fonctionne lorsque firewalld est arrêté. Ne levez le masquage du service qu’une fois ces paramètres permanents d’administration enregistrés.

sudo firewall-offline-cmd --set-default-zone=trusted
sudo firewall-offline-cmd --zone=trusted --add-interface=eth0
sudo systemctl unmask firewalld
sudo systemctl start firewalld
sudo firewall-cmd --reload

Activez le démarrage automatique du service lors du démarrage du système.

sudo systemctl enable firewalld

Enfin, vérifiez que Firewalld fonctionne.

sudo firewall-cmd --state

La sortie doit afficher running.

Vérifier les zones actives

Dans cette étape, maintenant que Firewalld fonctionne, examinons les zones.

Les zones constituent la principale couche d’abstraction de Firewalld. Au lieu de mémoriser une longue liste plate de règles de paquets, vous regroupez les interfaces selon leur niveau de confiance et laissez la zone définir la politique de base correspondant à cet environnement.

Pour voir quelles zones sont actuellement utilisées, exécutez la commande suivante.

sudo firewall-cmd --get-active-zones

Comme nous l’avons configuré à l’étape précédente, vous devez obtenir :

trusted
  interfaces: eth0

Cela indique que :

  • La zone trusted est active.
  • L’interface réseau eth0 (votre connexion principale) se trouve bien dans cette zone.

Si vous souhaitez connaître les autres zones disponibles, vous pouvez les afficher.

sudo firewall-cmd --get-zones

La commande affiche des noms tels que block, home, work, public, etc.

Afficher la configuration d’une zone

Dans cette étape, vous allez examiner les règles détaillées de la zone active.

C’est ici que Firewalld devient plus concret. Une zone n’est pas seulement une étiquette comme public ou trusted : elle regroupe de véritables décisions de politique, notamment la cible par défaut, les services autorisés, les ports et le comportement de la redirection.

Utilisez l’option --list-all pour afficher la configuration complète de la zone par défaut actuelle (trusted).

sudo firewall-cmd --list-all

La sortie affiche la configuration. Pour la zone trusted, le champ essentiel est le suivant :

  • target : ACCEPT. Cela signifie « tout accepter ».

Cela confirme que votre connexion est protégée contre un blocage par cette zone.

Si vous souhaitez consulter les règles d’une autre zone, par exemple la zone public, vous pouvez préciser le nom de la zone.

sudo firewall-cmd --zone=public --list-all

Vous constaterez que la zone public est beaucoup plus restrictive.

Modifier la zone d’une interface

Dans cette étape, nous allons nous entraîner à déplacer une interface vers une autre zone.

Modifier la zone d’une interface revient à modifier la classification du niveau de confiance du trafic qui arrive par cette interface. Un même hôte peut ainsi se comporter différemment selon le réseau utilisé, sans qu’il soit nécessaire de réécrire toutes les règles.

Avertissement : si nous déplacions notre interface principale eth0 vers la zone work, nous serions immédiatement déconnectés, car la zone work bloque la connexion de notre terminal web !

Pour effectuer cet exercice en toute sécurité, nous allons créer une interface réseau « dummy » (virtuelle) et l’utiliser pour l’expérience.

Commencez par créer une interface dummy nommée dummy0.

sudo ip link add dummy0 type dummy
sudo ip link set dummy0 up

Ajoutez d’abord cette interface à la zone public, simplement pour lui attribuer une zone.

sudo firewall-cmd --zone=public --add-interface=dummy0

Imaginez maintenant que dummy0 est la carte Wi-Fi de votre ordinateur portable et que vous venez d’arriver dans votre bureau. Vous voulez la déplacer vers la zone work.

sudo firewall-cmd --zone=work --change-interface=dummy0

Vérifiez la modification.

sudo firewall-cmd --get-active-zones

Vous devez maintenant voir deux zones actives :

  • trusted : elle contient eth0, ce qui maintient votre connexion.
  • work : elle contient dummy0, votre interface de test.
trusted
  interfaces: eth0
work
  interfaces: dummy0

Vous avez appris à modifier les zones sans vous couper l’accès !

Résumé

Dans ce lab, vous avez effectué vos premiers pas avec Firewalld. Vous avez :

  1. Installé le service et l’avez configuré en toute sécurité pour éviter de perdre l’accès.
  2. Appris que les zones sont comparables à des profils de sécurité.
  3. Examiné les règles d’une zone.
  4. Créé une interface virtuelle et vous êtes entraîné à la déplacer d’une zone à une autre.

La compréhension des zones constitue la base de Firewalld. Dans les prochains labs, vous apprendrez à personnaliser ces zones en ouvrant des ports spécifiques.