Aperçu
firewall-cmd interagit avec le service firewalld pour contrôler le trafic réseau du système. Il permet d'appliquer des règles permanentes et des règles d'exécution séparément, et offre une politique de sécurité flexible grâce à diverses zones réseau (zones). Cela permet de renforcer la sécurité du serveur et d'autoriser ou de bloquer l'accès à des services spécifiques.
Fonctionnalités principales
- Gestion des ports et services (ajout/suppression)
- Configuration et gestion des zones réseau
- Règles basées sur les adresses IP et les réseaux (Rich Rules)
- Application des règles d'exécution et permanentes
- Configuration du masquage (Masquerading) et de la redirection de port
Options principales
firewall-cmd permet de consulter et de configurer les règles de pare-feu à l'aide de diverses options.
Application et gestion des règles
Consultation d'informations
Commande générée :
Essayez de combiner les commandes.
Description:
`firewall-cmd` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Divers exemples pour configurer et gérer les règles de pare-feu à l'aide de firewall-cmd.
Vérifier la zone active actuelle et les règles
firewall-cmd --list-all
Vérifie toutes les configurations d'exécution actuelles de la zone par défaut (public).
Vérifier toutes les configurations d'une zone spécifique
firewall-cmd --zone=internal --list-all
Vérifie toutes les configurations de la zone spécifiée (par exemple, internal).
Ajouter le service HTTP (exécution)
sudo firewall-cmd --zone=public --add-service=http
Autorise temporairement le service HTTP dans la zone public. Il disparaîtra au redémarrage.
Ajouter le service HTTP (permanent)
sudo firewall-cmd --zone=public --add-service=http --permanent
Autorise le service HTTP de manière permanente dans la zone public. Un --reload est nécessaire pour appliquer les modifications.
Recharger les règles du pare-feu
sudo firewall-cmd --reload
Applique toutes les règles définies de manière permanente au pare-feu d'exécution actuel.
Ajouter le port 8080/tcp (permanent)
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
Autorise le port TCP 8080 de manière permanente dans la zone public. Un rechargement est nécessaire après l'application.
Supprimer le service SSH (permanent)
sudo firewall-cmd --zone=public --remove-service=ssh --permanent
Supprime le service SSH de manière permanente de la zone public. Un rechargement est nécessaire après l'application.
Appliquer toutes les règles permanentes
sudo firewall-cmd --reload
Applique immédiatement toutes les règles modifiées de manière permanente.
Installation
firewall-cmd fait partie du paquet firewalld. Il est préinstallé sur la plupart des distributions Linux modernes ou peut être facilement installé.
CentOS/RHEL/Fedora
sudo dnf install firewalld
Installe firewalld sur les systèmes Linux basés sur Red Hat.
Ubuntu/Debian
sudo apt install firewalld
Installe firewalld sur les systèmes Linux basés sur Debian.
Démarrer et activer le service
sudo systemctl start firewalld
sudo systemctl enable firewalld
Après l'installation, démarrez le service firewalld et activez-le pour qu'il s'exécute automatiquement au démarrage du système.
Conseils et précautions
Points à considérer et conseils utiles lors de l'utilisation de firewall-cmd.
Règles d'exécution vs permanentes
- Sans l'option `--permanent`, les règles ne s'appliquent qu'à la session en cours et disparaissent au redémarrage.
- Pour une application permanente, utilisez `--permanent` puis appliquez les modifications avec la commande `firewall-cmd --reload`.
Comprendre les zones
- firewalld gère les interfaces réseau en les attribuant à différentes zones de sécurité. Chaque zone peut avoir un niveau de sécurité différent.
- La zone par défaut est `public` et est utilisée pour la plupart des connexions externes. Il existe diverses zones telles que `home`, `internal`, `trusted`, etc.
Utilisation des noms de services
- Il est préférable d'utiliser des noms de services prédéfinis tels que `http`, `https`, `ssh` plutôt que des numéros de port (par exemple, 80/tcp) pour une meilleure lisibilité et facilité de gestion.
- Vous pouvez vérifier la liste des services disponibles avec la commande `firewall-cmd --get-services`.
Sauvegarde et test
- Avant d'effectuer des modifications importantes, il est conseillé de noter la configuration actuelle avec la commande `firewall-cmd --list-all --zone=<zone>`.
- Après avoir appliqué les modifications, assurez-vous que le service concerné fonctionne correctement.