- Jan 6, 2025
- 60 min read
Comment configurer le pare-feu sous Linux avec Firewalld
Firewalld est un pare-feu open source basé sur l’hôte qui cherche à empêcher tout accès non autorisé à votre ordinateur. Un pare-feu est généralement une exigence minimale pour toute équipe de sécurité de l’information dans toute organisation moderne, mais c’est aussi une bonne idée pour une utilisation informatique générale.
Il peut restreindre l’accès aux services, aux ports et aux réseaux. Vous pouvez bloquer des sous-réseaux et des adresses IP spécifiques.
Comme pour tout pare-feu, firewalld inspecte tout le trafic qui traverse les différentes interfaces de votre système. Le trafic est autorisé ou rejeté si le réseau d’adresses source correspond à une règle.
Il utilise le concept de zones pour segmenter le trafic qui interagit avec votre système. Une interface réseau est affectée à une ou plusieurs zones et chaque zone contient une liste de ports et de services autorisés. Une zone par défaut est également disponible pour gérer le trafic qui ne correspond à aucune zone.
C’est le nom du démon qui gère les politiques de pare-feu. Utilisez le
firewall-cmd
commande pour interagir avec la configuration de firewalld.
Vérifiez la configuration du pare-feu
Avant de commencer, vérifiez que le pare-feu est en cours d’exécution:
$ sudo firewall-cmd —state
La sortie est en cours d’exécution ou ne s’exécute pas. Pour démarrer votre pare-feu s’il ne fonctionne pas, utilisez systemctl
:
$ sudo systemctl —enable —now firewalld
Pare-feu – Afficher les zones
Pour afficher toutes les zones d’un système, utilisez l’option --get-zones
:
$ sudo firewall-cmd —get-zones
Pour afficher la zone par défaut, utilisez --get-default-zone
:
$ sudo firewall-cmd —get-default-zone
Par défaut, si firewalld est activé et en cours d’exécution et dans la zone publique, tout le trafic entrant est rejeté à l’exception de SSH et DHCP.
Pare-feu – Autoriser un port
Pour autoriser le trafic depuis n’importe quelle IP via un port spécifique, utilisez l’option « —add-port » avec le numéro de port et le protocole:
$ sudo firewall-cmd —add-port=80/tcp
Cette règle entre en vigueur immédiatement, mais ne dure que jusqu’au prochain redémarrage. Ajoutez l’indicateur --permanent
pour le rendre persistant:
$ sudo firewall-cmd —add-port=80/tcp —permanent
Recharger le pare-feu
Je préfère recharger mon pare-feu après avoir fait des modifications. Pour recharger par pare-feu et toutes les règles permanentes:
$ sudo firewall-cmd —reload
Ajouter un service
Il existe des services prédéfinis que vous pouvez autoriser par le biais de votre pare-feu. Pour voir tous les services prédéfinis disponibles sur votre système:
$ sudo firewall-cmd —get-services
Par exemple, pour ajouter définitivement le service HTTP à votre pare-feu, entrez:
$ sudo firewall-cmd —add-service=http —permanent
$ sudo firewall-cmd —reload
Spécifiez le trafic par sous-réseau
Vous pouvez affecter le trafic provenant d’un sous-réseau particulier à une zone spécifique (ce qui autorise des ports et des services spécifiques, possiblement uniques à cette zone).
Par exemple, pour assigner le réseau 172.16.1.0/24 à la zone interne et autoriser le service Jenkins:
$ sudo firewall-cmd —zone=internal
—add-source=172.16.1.0/24 —permanent
$ sudo firewall-cmd —add-service=jenkins —permanent
$ sudo firewall-cmd —reload
Liste des ports et des services
Vous pouvez lister tous les ports et services autorisés dans la zone par défaut en utilisant l’option --list-all
:
$ sudo firewall-cmd —list-all
Pour voir tous les paramètres de toutes les zones, utilisez --list-all-zones
:
$ sudo firewall-cmd —list-all-zones
## Connaissez votre pare-feu
Un bon pare-feu est une fonctionnalité essentielle sur les systèmes informatiques modernes, et pare-feu est l’un des plus pratiques disponibles. Ses commandes sont intuitives et claires, et sa capacité à rapporter des descriptions utiles de ses politiques le rend facile à comprendre. Vérifiez les paramètres de votre pare-feu et essayez quelques commandes « pare-feu-cmd » dès aujourd’hui.