Configuration du service firewalld
Présentation
Note : Un
pare-feu (ou
Firewall) est un
dispositif logiciel permettant de filtrer les paquets
réseau afin de mettre en place une politique de
sécurité. Un pare-feu peut être avec états (stateful
firewall) (il mémorise l'état des connexions, en
vérifie la conformité et applique des règles adaptées)
ou sans état (stateless firewall) (il
applique des règles sur chaque paquet de manière
indépendante). Plus d'information ici.
Le pare-feu alma-linux (appelé firewalld) est sans état. Quelques caractéristiques :
- Les machines auxquelles s'appliquent le filtrage son rangées dans des zones. Il existe par défaut des zones que vous pouvez utiliser.
- Une fois les zones définies, nous allons ouvrir ou fermer des services pour ces zones.
- Firewalld gère un état courant et un état permanent (restauré après redémarrage). Une configuration marquée comme permanente nécessite un rechargement afin de l'appliquer.
Note :
Vous trouverez une description plus précise sur
ce site.
Quelques exercices sur client0
Placez vous dans le client0, installez ou vérifiez la présence de firewalld :
# installation dnf -y install firewalld # démarrage systemctl enable firewalld systemctl restart firewalld
Firewalld identifie les machines à partir de zones pour leurs appliquer des règles de filtrage. Déroulez une-à-une les actions ci-dessous afin de comprendre le fonctionnent :
# interroger la version firewall-cmd --version # quelles sont les zones firewall-cmd --get-zones # création d'une zone "no-ssh" firewall-cmd --new-zone=no-ssh --permanent # demander au FW de recharger la configuration firewall-cmd --reload # ajout de client1 à la zone firewall-cmd --zone=no-ssh --add-source=192.168.0.101 # autoriser ssh à partir des machines de "no-ssh" firewall-cmd --zone=no-ssh --add-service=ssh # vérifiez firewall-cmd --zone=no-ssh --list-all # À faire: vérifiez sur client1 que la connexion fonctionne vers client0 # interdire ssh à partir des machines de "no-ssh" firewall-cmd --zone=no-ssh --remove-service=ssh # À faire: vérifiez que client1 ne peut plus se connecter sur client0 # re-autoriser ssh à partir des machines de "no-ssh" de façon permanente firewall-cmd --zone=no-ssh --add-service=ssh --permanent firewall-cmd --reload