Académique Documents
Professionnel Documents
Culture Documents
- Open Source-
IDOSR -2023/2024
son prédécesseur.
firewalld
zone drop: le niveau le plus bas de confiance. Toute connexion entrante est supprimée sans notification et seules
les connexions sortantes sont autorisées.
zone block: zone similaire à celle-ci-dessus, mais au lieu de supprimer les connexions entrantes sans notification,
ces flux sont rejetés à l’aide d’un message icmp-host-prohibited (ou icmp6-adm-prohibited pour IPv6).
zone public: représente l’ensemble des réseaux publics ou non sécurisés. On ne fait pas confiance aux autres
ordinateurs ou serveurs mais, on peut traiter les connexions entrantes au cas par cas à l’aide de règles.
zone external: représente les réseaux externes lorsque l’on utilise le pare-feu local comme une passerelle. Dans ce
cas, la zone est configurée pour le "masquerading NAT" et les réseaux internes demeurent ainsi privés mais
accessibles.
La gestion des zones
zone internal: représente l’autre face de la zone external, utilisée pour la portion interne d’une passerelle. Les
serveurs sont totalement accrédités et certains services supplémentaires peuvent mêmes être disponibles.
zone dmz: utilisée pour les serveurs au sein d’une zone démilitarisée ou DMZ. Seules quelques connexions
entrantes sont alors autorisées.
zone work: utilisées pour des machines de travail permettant de faire confiance à la plupart des serveurs du réseau.
Quelques services supplémentaires pourront être autorisés.
zone home: une zone de sécurité personnelle. Cela implique la plupart du temps que l’on fait confiance aux autres
machines et que certains autres services peuvent aussi être accrédités.
zone trusted: permet de faire confiance à toutes les machines du réseau. Il s’agit du niveau de confiance le plus
élevé à utiliser avec précaution.
La gestion des zones
# firewall-cmd --get-zones
On peut alors déterminer quelle est la zone sélectionnée comme zone par défaut :
# firewall-cmd --get-default-zone
public
La gestion des zones
Afin de forcer la modification de la zone par défaut, on peut ainsi utiliser l’option --set-default-zone. Par exemple
pour forcer l’utilisation de la zone dmz par défaut, on exécutera l’instruction ci-dessous:
# firewall-cmd --set-default-zone=dmz
# firewalld-cmd --get-default-zone
dmz
La gestion des zones
Par ailleurs, on peut délibérément créer ses propres zones d’administration en utilisant l’option --new-zone:
# firewall-cmd --new-zone=privateweb
# firewall-cmd --get-zones
block dmz drop external home internal public trusted work privateweb
La gestion des zones
ATTENTION: si l’on ne mentionne pas l’option --permanent, cette nouvelle zone disparaîtra dès le prochain
redémarrage du service. Sinon, on peut également simplement recharger la configuration pour que cette nouvelle
modification soit désormais prise en compte par le pare-feu :
# firewall-cmd --reload
La gestion des zones
firewall-cmd --get-active-zones
A défaut d’attacher ses interfaces réseau à la zone par défaut, chacune des cartes réseau (donc chacune des
interfaces), doit être liée à une zone distincte. Cela peut être modifié grâce à l’une des options --add-interface ou -
-change-interface, comme le montre la commande suivante (où l’on associe l’interface ens160 à la zone work):
# firewall-cmd --get-active-zones
work
interfaces: ens160
De la même façon, on peut aussi supprimer l’interface dédiée d’une zone en utilisant l’option --remove-interface:
#firewall-cmd --get-services
REMARQUE: on peut disposer de plus de détails à propos de chacun de ces services en éditant leur fichier .xml au
sein du répertoire /usr/lib/firewalld/services
La gestion des services
Pour autoriser un service spécifique, au niveau d’une zone, il suffit alors d’utiliser l’option --add-service.
Bien évidemment, si l’on ne précise pas l’option --zone l’ajout s’effectuera alors sur la zone désignée par défaut.
Par ailleurs, dans l’exemple précédent, l’ajout se fera de façon dynamique mais non permanente, puisque l’option -
-permanent n’est pas mentionnée. Pour vérifier que l’opération d’ajout s’est effectuée correctement, on peut
utiliser l’une des options suivantes : --list-all ou --list-services.
Dans certains cas, il existe des scenarii où les services ne répondent pas aux prérequis de notre infrastructure.
Dans cette situation, on peut alors ouvrir spécifiquement un port sur la zone en question, de la même façon qu’on
l’a fait pour la gestion des services.
Ainsi, l’ouverture d’un port spécifique s’effectuera à l’aide de l’option --add-port de la façon suivante :
# firewall-cmd --list-ports
REMARQUE: dans le cas précédent, la commande permet d’ajouter le port TCP/1521 sur la zone public de façon
dynamique. Si l’on souhaite l’ajouter de façon permanente, il faut penser à utiliser l’option --permanent.
Afin d’éviter l’accroissement de l’écriture de nombreuses règles, il est également possible d’ajouter non pas un
port mais une plage de ports en séparant le premier et le dernier de la plage avec un tiret :
Ouvrir des ports pour vos zones est facile, mais il peut être difficile de garder une
trace de la fonction de chacune d’elles. Si vous mettez jamais un service hors service
sur votre serveur, vous aurez peut-être du mal à vous souvenir des ports ouverts
Les services sont simplement des collections de ports avec un nom et une description
associés. L’utilisation des services est plus facile à administrer que les ports, mais
standard.
Définir un service
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services
la copie que l’on vient de faire. Imaginons que l’on souhaite juste changer le port actif
<service>
<short> </short>
</service>
Conclusion
Le service firewalld vous permet de configurer des règles et des
ensembles de règles maintenables qui prennent en compte votre
environnement réseau. Il vous permet de passer de manière transparente
entre différentes stratégies de pare-feu grâce à l’utilisation de zones et
donne aux administrateurs la possibilité de résumer la gestion des ports
dans des définitions de service plus conviviales. Acquérir une
connaissance pratique de ce système vous permettra de tirer parti de la
flexibilité et de la puissance offertes par cet outil.
TP