ExpertLinuxSécurité

Configurer le pare-feu système de Red Hat, CentOS, Fedora

Sur Red Hat (RHEL) et distributions dérivées (Fedora, CentOS, Alma Linux…), le pare-feu par défaut est firewalld. Il utilise le concept de « zones » pour définir le niveau de confiance des connexions réseau. 

Voici comment le configurer efficacement via la ligne de commande firewall-cmd.

Vérification de l’état

Avant toute modification, vérifiez si le service est actif :

  • Vérifier le statut : sudo firewall-cmd --state

  • Démarrer et activer au boot :sudo systemctl enable --now firewalld

Gestion des Zones

Les zones permettent d’appliquer des règles différentes selon l’interface réseau (ex: public, work, trusted).

  • Voir la zone par défaut : firewall-cmd --get-default-zone

  • Lister toutes les règles de la zone active : sudo firewall-cmd --list-all

  • Changer l’interface d’une zone (ex: eth0 vers public) : sudo firewall-cmd --zone=public --change-interface=eth0 --permanent

Ouverture de ports et services

Via les services (plus simple)

Red Hat possède une liste de services préconfigurés (http, https, ssh, etc.).

  • Autoriser HTTP : sudo firewall-cmd --add-service=http --permanent

  • Supprimer un service : sudo firewall-cmd --remove-service=ftp --permanent

Via les ports (plus précis)

Si votre application utilise un port spécifique (ex: 8080) :

  • Ouvrir un port TCP : sudo firewall-cmd --add-port=8080/tcp --permanent

  • Ouvrir une plage de ports : sudo firewall-cmd --add-port=5000-5010/udp --permanent

Appliquer les changements

Remarque : l’option --permanent écrit la règle sur le disque mais ne l’applique pas immédiatement à la session en cours.

Pour rendre vos modifications effectives, vous devez recharger la configuration : sudo firewall-cmd --reload

Règles avancées (Rich Rules)

Si vous avez besoin de restreindre l’accès à une adresse IP spécifique (ex: autoriser SSH uniquement pour une IP) :

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
sudo firewall-cmd --reload

Exemples

Ouvrir le port 8060 pour tout le monde

sudo firewall-cmd --permanent --add-port=8060/tcp

Ouvrir le port 5432 (PostgreSQL) pour une seule IP

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port protocol="tcp" port="5432" accept'

Publicité

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page