Introduction
Imaginez votre ordinateur comme une maison. Par défaut, ses portes et ses fenêtres peuvent être ouvertes, ce qui permet à n’importe qui d’entrer. Pour le sécuriser, vous avez besoin d’un agent de sécurité qui contrôle les accès selon un ensemble de règles.
Sous Linux, UFW (Uncomplicated Firewall) joue ce rôle. Il fournit une interface plus simple par-dessus des systèmes de pare-feu de niveau inférieur. UFW vous permet de définir qui peut se connecter à votre système et qui ne le peut pas.
Cette distinction est importante : UFW est une couche de gestion, et non le moteur du pare-feu lui-même. Il fournit aux débutants une interface de gestion des règles plus simple pour contrôler les accès réseau, sans avoir à écrire directement des règles de filtrage des paquets de niveau inférieur.
Cependant, la configuration d’un pare-feu dans un environnement cloud comme LabEx demande de la prudence. Si vous bloquez par défaut toutes les connexions entrantes, ce qui constitue une pratique de sécurité courante, vous risquez de couper accidentellement votre connexion à l’environnement de lab.
Dans ce lab, vous allez adopter une approche sûre :
- Définir la stratégie par défaut sur Allow Incoming pour éviter de vous bloquer.
- Autoriser explicitement le trafic sur le port 8080 pour une application web.
- Activer le pare-feu.
Cette procédure vous permet d’apprendre à gérer les règles UFW sans perdre l’accès à votre espace de travail.
Vérifier l’état du pare-feu
Avant d’effectuer des modifications, il est important de comprendre l’état actuel de votre application et du pare-feu.
Un serveur web simple écoute sur le port 8080. Commencez par vérifier que l’application est accessible.
Exécutez la commande suivante :
curl -I 127.0.0.1:8080
Vous devriez obtenir une réponse HTTP semblable à celle-ci :
HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.10.6
...
Cela confirme que l’application web est en cours d’exécution et accessible localement.
Vérifier le service avant de modifier le pare-feu permet de distinguer deux problèmes différents : les problèmes liés à l’application et ceux liés à la politique réseau. Si le service échoue déjà localement, le pare-feu n’est pas la première cause à examiner.
Vérifiez ensuite l’état d’UFW pour savoir s’il est actuellement actif.
sudo ufw status
Vous verrez probablement :
Status: inactive
Cela indique qu’UFW est installé, mais qu’il n’applique actuellement aucune règle. Tout le trafic peut donc passer librement.
Un ensemble de règles de pare-feu constitue en réalité une politique d’accès réseau. « Inactive » ne signifie pas que le logiciel est défaillant ; cela signifie que la politique n’est pas appliquée actuellement.
Configurer la stratégie par défaut et les règles
Vous allez maintenant configurer la manière dont le pare-feu traite le trafic.
Définir la stratégie par défaut sur Allow
Par défaut, UFW est souvent configuré pour refuser toutes les connexions entrantes. Sur une machine locale, cette configuration est sécurisée. Toutefois, dans l’environnement en ligne LabEx, le blocage de toutes les connexions entrantes peut interrompre la connexion entre votre navigateur et le lab.
Pour éviter cela, définissez la stratégie par défaut du trafic entrant sur ALLOW :
sudo ufw default allow incoming
Sortie :
Default incoming policy changed to 'allow'
(be sure to update your rules accordingly)
Autoriser le port 8080
Créez ensuite une règle spécifique pour garantir que le trafic destiné à notre application web sur le port 8080 est explicitement autorisé. Il s’agit d’une bonne pratique, même si la stratégie par défaut est « allow », car cette règle documente votre intention et prépare la configuration à un éventuel changement de la stratégie par défaut vers « deny ».
Cette intention explicite est importante en matière de sécurité. Une règle claire permet de comprendre plus facilement par la suite pourquoi un port est ouvert et si cette exposition est toujours nécessaire.
sudo ufw allow 8080
Le système confirme la modification :
Rules updated
Rules updated (v6)
Vous disposez maintenant d’une configuration de base sûre et avez ajouté une règle spécifique pour votre application.
Activer le pare-feu
Les règles étant configurées, vous pouvez maintenant activer le pare-feu.
Exécutez la commande suivante pour activer UFW :
sudo ufw enable
Comme vous avez défini la stratégie par défaut sur ALLOW, UFW s’active immédiatement sans vous avertir que la connexion SSH pourrait être interrompue. Cet avertissement apparaît généralement lorsque la stratégie par défaut est définie sur deny.
Vous devriez voir :
Firewall is active and enabled on system startup
Le pare-feu est ainsi activé.
À ce stade, UFW ne se contente plus de stocker les règles : il les applique. La différence entre une politique configurée et une politique active constitue un concept de sécurité courant dans de nombreux systèmes.
Vérifier la configuration du pare-feu
Pour finir, vérifiez que le pare-feu est actif et que les règles sont correctement appliquées.
Vérifiez de nouveau son état :
sudo ufw status
Vous devriez maintenant voir l’état active, ainsi que les règles que vous avez créées :
Status: active
To Action From
-- ------ ----
8080 ALLOW Anywhere
8080 (v6) ALLOW Anywhere (v6)
Tester la connectivité
Vérifiez que l’application web est toujours accessible lorsque le pare-feu est activé.
curl -I 127.0.0.1:8080
Vous devriez recevoir la même réponse HTTP/1.0 200 OK qu’auparavant.
Cela confirme que :
- Le pare-feu est actif.
- Les règles fonctionnent comme prévu.
- L’application reste accessible.
Résumé
Dans ce lab, vous avez configuré et activé le pare-feu UFW.
Vous avez appris à :
- Vérifier l’état du pare-feu : utiliser
sudo ufw statuspour vérifier si le pare-feu est actif. - Configurer des valeurs par défaut sûres : utiliser
sudo ufw default allow incomingpour éviter les blocages accidentels dans les environnements cloud. - Ajouter des règles : utiliser
sudo ufw allow 8080pour autoriser le trafic sur des ports spécifiques. - Activer le pare-feu : utiliser
sudo ufw enablepour appliquer les règles.
Dans un environnement de production, vous définiriez généralement la stratégie par défaut pour refuser le trafic entrant et vous autoriseriez explicitement uniquement les ports nécessaires, comme le port 22 pour SSH ou le port 80 pour HTTP. Cependant, comprendre comment gérer ces règles en toute sécurité constitue la première étape pour sécuriser votre système.



