Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| netadmin:firewalld [2025/05/26 16:38] – créée yoann | netadmin:firewalld [2025/11/10 19:01] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| :TODO: | :TODO: | ||
| + | |||
| + | ===== Les zones ===== | ||
| + | |||
| + | firewalld s' | ||
| + | |||
| + | Les zones pré-existantes : | ||
| + | |||
| + | * **drop** : Niveau de confiance minimal, connexions entrantes supprimées sans notification et connexions sortantes autorisées ; | ||
| + | * **block** : Niveau de confiance minimal, connexions entrantes rejetées avec notification ('' | ||
| + | * **public** : Niveau de confiance bas, certains services entrants acceptés (ssh par exemple) et on peut en ajouter à la demande à l'aide des règles. | ||
| + | * **external** : Zone dans laquelle on place une interface reliée à une réseau externe (WAN par exemple) quand on utilise le serveur comme passerelle. Le '' | ||
| + | * **internal** : Autre extrémité de la zone de **external** quand on utilise le serveur comme passerelle. Cette zone est de bonne confiance, et on peut éditer les services acceptés avec des règles ; | ||
| + | * **dmz** : Zone réservée pour les serveurs en '' | ||
| + | * **work** : Bon niveau de confiance. Zone utilisée pour les machines sur réseau d' | ||
| + | * **home** : Bon niveau de confiance. Zone utilisée pour une zone personnelle. La plupart des connexions entrantes sont autorisées, | ||
| + | * **trusted** : Niveau de confiance élevée. Zone utilisée pour les machines qui se font 100% confiance. A utiliser avec précaution évidemment. | ||
| + | |||
| + | <code bash> | ||
| + | # Lister les zones | ||
| + | firewall-cmd --get-zones | ||
| + | |||
| + | # Détail du paramétrage d'une zone | ||
| + | firewall-cmd --info-zone MyZone | ||
| + | |||
| + | # Lister les zones et leur paramétrage | ||
| + | firewall-cmd --list-all-zones | ||
| + | |||
| + | # Créer une zone | ||
| + | # la zone est crée mais ne contient aucune règle | ||
| + | firewall-cmd --new-zone=MyNewZone --permanent | ||
| + | firewall-cmd --reload | ||
| + | </ | ||
| + | |||
| + | Lorsque qu'on invoque '' | ||
| + | * sur une zone ; | ||
| + | * de façon transitoire (il faudra utiliser l' | ||
| + | |||
| + | <code bash> | ||
| + | # Afficher la zone sur laquelle s' | ||
| + | # par défaut les actions de la commande | ||
| + | firewalld-cmd --get-default-zone | ||
| + | </ | ||
| + | |||
| + | Pour changer la zone par défaut : | ||
| + | |||
| + | <code bash> | ||
| + | # Passer la zone ' | ||
| + | firewall-cmd --set-default-zone=work | ||
| + | </ | ||
| + | |||
| + | Aux zones on peut affecter des interfaces ou des IP/réseaux source : | ||
| + | |||
| + | <code bash> | ||
| + | firewall-cmd --zone=work --add-interface=eno1 [--permanent] | ||
| + | firewall-cmd --zone=work --add-source=192.168.22.123 [--permanent] | ||
| + | firewall-cmd --zone=work --add-source=192.168.21.0/ | ||
| + | </ | ||
| + | |||
| + | ===== Les modules complémentaires ===== | ||
| + | |||
| + | Certaines fonctionnalités nécessite l' | ||
| + | * le suivi des connexions ; | ||
| + | * la gestion des trafics de certains anciens protocoles comme FTP / TFPT | ||
| + | |||
| + | |||
| + | ==== Suivi des connexions ==== | ||
| + | |||
| + | Pour suivre les connexions on utilise le **module conntrack** | ||
| + | |||
| + | <code bash> | ||
| + | sudo firewall-cmd --zone=work --add-module=conntrack | ||
| + | </ | ||
| + | |||
| + | Une fois le module activé sur la zone, on peut utiliser la commande '' | ||
| + | |||
| + | |||
| + | ===== Journalisation des événements ===== | ||
| + | |||
| + | Firewalld peut journaliser les événements de pare-feu pour une analyse ultérieure. Pour activer la journalisation des trafics rejetés, utiliser l' argument %%--set-log-denied%%. | ||
| + | |||
| + | <code bash> | ||
| + | sudo firewall-cmd --set-log-denied=all | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== NAT/PAT : Port forwarding ===== | ||
| + | |||
| + | On peut transférer le trafic d'un port sur un autre port, ou bien d'un port sur une autre IP et un autre port. | ||
| + | |||
| + | Le forwarding s' | ||
| + | |||
| + | Syntaxe : | ||
| + | <code bash> | ||
| + | firewall-cmd --zone=external --add-forward-port=port=: | ||
| + | </ | ||
| + | |||
| + | |||
| + | Exemple de redirection du trafic HTTP arrivant sur l' | ||
| + | |||
| + | <code bash> | ||
| + | firewall-cmd --zone=external --add-forward-port=port=80: | ||
| + | </ | ||
| + | |||
| + | ===== Règles enrichies ===== | ||
| + | |||
| + | Pour des besoins plus spécifiques, | ||
| + | |||
| + | : | ||
| + | |||
| + | Pour lister les règles enrichies existantes sur une zone : | ||
| + | |||
| + | <code bash> | ||
| + | sudo firewall-cmd --zone=public --list-rich-rules | ||
| + | </ | ||
| + | |||
| + | Une règle enrichie peut contenir une plage de ports consécutifs mais pas d' | ||
| + | |||
| + | |||
| + | ===== Sauvegarder la configuration ===== | ||
| + | |||
| + | Pour sauvegarder, | ||
| + | |||
| + | La configuration est réparties dans plusieurs fichiers et sous-répertoires notamment : | ||
| + | * '' | ||
| + | * Les dossiers '' | ||
| + | |||
| ===== Références ===== | ===== Références ===== | ||
| + | * https:// | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | * https:// | ||
| + | * [[https:// | ||