Firewall UFW
Le rôle firewall installe UFW, configure les politiques de filtrage du trafic entrant et sortant, puis ouvre les ports nécessaires au fonctionnement du serveur.
Il est responsable de :
- l’installation de UFW
- la configuration et le déploiement des politiques de trafic entrant et sortant
- l’ouverture des ports du serveur
UFW a été retenu pour sa simplicité d’utilisation, sa disponibilité dans les dépôts des principales distributions Linux (notamment Debian et Ubuntu) et la lisibilité de sa configuration.
Fonctionnement
Section titled “Fonctionnement”UFW (Uncomplicated Firewall) est une interface permettant de configurer le pare-feu natif de Linux. Il s’appuie sur les mécanismes de filtrage du noyau Linux pour autoriser ou bloquer les connexions réseau selon des règles définies.
Par défaut, le rôle applique une politique restrictive en refusant les connexions entrantes (deny) et en autorisant les connexions sortantes (allow).
Les règles définies permettent ensuite d’autoriser les services nécessaires au fonctionnement du serveur, comme SSH (port 22), HTTP (port 80) ou HTTPS (port 443).
Le rôle déploie automatiquement les règles configurées, active le pare-feu si nécessaire et s’assure qu’il est opérationnel après son déploiement.
Structure du rôle
Section titled “Structure du rôle”roles/firewall/├── defaults/│ └── main.yml # Variables du rôle└── tasks/ ├── install.yml # Installation et configuration └── main.yml # Point d'entrée du rôleLes variables
Section titled “Les variables”Les variables sont contenues dans le fichier main.yml dans le dossier defaults.
Variables globales
Section titled “Variables globales”| Variable | Type | Description |
|---|---|---|
firewall_allowed_ports |
Liste | Liste qui contient 4 variables qui permettent d’ouvrir un port |
Variables de la liste firewall_allowed_ports
Section titled “Variables de la liste firewall_allowed_ports”| Variable | Type | Description |
|---|---|---|
port |
string | Numéro du port à ouvrir |
proto |
string | Protocole (tcp ou udp) |
rule |
string | Règle appliquée (allow, deny, limit, reject). |
comment |
string | Description de la règle. |
Exemple de fichier de configuration
Section titled “Exemple de fichier de configuration”firewall_allowed_ports: - port: "22" proto: tcp rule: limit comment: SSH
- port: "80" proto: tcp rule: allow comment: HTTPDéploiement
Section titled “Déploiement”Le rôle réalise les opérations suivantes :
- Installation du paquet UFW.
- Définition de la politique d’entrée du trafic.
- Définition de la politique de sortie du trafic.
- Configuration des ports à ouvrir.
- Activation de UFW.
- Vérification que le pare-feu est actif.
Vérification
Section titled “Vérification”Vérifier que le pare-feu est actif :
Section titled “Vérifier que le pare-feu est actif :”sudo ufw statusAfficher les règles :
Section titled “Afficher les règles :”sudo ufw status numberedVérifier les politiques :
Section titled “Vérifier les politiques :”sudo ufw status verboseDépannage
Section titled “Dépannage”UFW est inactif :
Section titled “UFW est inactif :”sudo systemctl status ufwUne règle n’est pas appliquée.
Afficher les règles :
sudo ufw status numberedSupprimer une règle :
Section titled “Supprimer une règle :”sudo ufw delete 2Recharger la configuration :
Section titled “Recharger la configuration :”sudo ufw reload