======Mémo Firewalld======
[[https://firewalld.org/|firewalld]] est une surcouche d'abstraction de configuration d'iptables ou nftables, les firewalls intégrés dans le noyaux Linux.
=====Installation/Activation=====
# installation
yum install firewalld
# vérification de l'état du service:
systemctl status firewalld
# vérification du lancement
systemctl is-active firewalld
# ou
firewall-cmd --state
systemctl start firewalld
# vérification du lancement automatique au démarrage
systemctl is-enabled firewalld
systemctl enable firewalld
firewalld fonctionne comme les équipements Cisco avec une configuration courante (running-config) appliquée immédiatement et une configuration enregistrée (startup-config) qui est sauvegardée après un redémarrage. Pour conserver de façon permanente les modifications, utiliser le paramètre ''--permanent'' dans une ligne de commande, ou enregistrer toute la configuration actuelle avec ''firewall-cmd --runtime-to-permanent''
=====Les zones=====
* Lister les zones :
La zone par défaut est dans laquelle sont positionnées toutes les interfaces à l'installation, et sur laquelle s'appliqueront les commandes si on ne précise pas la zone.
# Afficher/modifier la zone par défaut
firewall-cmd --get-default-zone
firewall-cmd --set-default-zone=home
# Zones existantes
firewall-cmd --get-zones
# Zones utilisées
firewall-cmd --get-active-zones
* Afficher la configuration des zones :
# Zone par défaut:
firewall-cmd --list-all
# Zone "trusted":
firewall-cmd --list-all --zone=trusted
# Toutes les zones:
firewall-cmd --list-all-zones
* Créer/modifier les zones :
# Ajouter l'interface eth0 à la zone "home"
#(cela supprime les précédents filtrage pour cette interface)
firewall-cmd --zone=home --change-interface=eth0
# ajouter un filtrage entrant
firewall-cmd --zone=home --add-source=10.0.32.4
# Créer une nouvelle zone (--permanent est obligatoire) :
firewall-cmd --new-zone=nouvellezone --permanent
=====Les services=====
# Lister les services existants
firewall-cmd --get-services
# Ouvrir un service à une zone
firewall-cmd --zone=public --add-service=http
# Ouvrir un ou des port dont le service n'existe pas
firewall-cmd --zone=public --add-port=5000/tcp
firewall-cmd --zone=public --add-port=5000-5500/tcp
On peut créer un nouveau service le définissant dans un fichier éponyme ".xml" dans ''/etc/firewalld/services'' (s'inspirer des fichiers existants). Relancer ensuite le service : ''firewall-cmd --reload''