Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 43

Configuration de base du pare-feu UFW sur Linux

Recommended resources

Bonjour !

Dans la leçon précédente, nous avons renforcé la sécurité des comptes en mettant en place des politiques de mots de passe robustes et en comprenant l'importance de l'authentification multifacteur (MFA). Nous avons ainsi sécurisé le point d'accès principal : l'identité de l'utilisateur.

Aujourd'hui, nous allons appliquer un autre principe de défense en profondeur en construisant une barrière autour de notre serveur. L'objectif de cette leçon est d'apprendre à configurer le pare-feu de base ufw sur Linux pour contrôler le trafic réseau. Un pare-feu agit comme un garde de sécurité, inspectant tout ce qui tente d'entrer ou de sortir de votre serveur et n'autorisant que le trafic légitime. C'est une compétence fondamentale pour tout administrateur système.

1. Qu'est-ce qu'un pare-feu et pourquoi ufw ?

Un pare-feu est un système de sécurité qui filtre le trafic réseau. Il établit une barrière entre un réseau interne de confiance (votre serveur) et un réseau externe non fiable (Internet), en se basant sur un ensemble de règles de sécurité.

UFW Firewall Protection
Cette image illustre bien le rôle d'un pare-feu. Il se positionne comme un bouclier entre votre serveur et le réseau mondial, laissant passer le trafic autorisé (flèche verte) et bloquant les tentatives d'accès non sollicitées (flèches rouges).

Sur Linux, l'outil de pare-feu historique s'appelle iptables. Il est extrêmement puissant, mais sa syntaxe est complexe et peu intuitive pour les débutants. C'est là qu'intervient UFW, ou Uncomplicated Firewall (Pare-feu non compliqué).

ufw est une interface simplifiée qui permet de gérer les règles du pare-feu Linux de manière beaucoup plus conviviale. En coulisses, les commandes ufw sont traduites en règles iptables, mais vous n'avez pas à vous soucier de cette complexité.

Pour bien comprendre ce qu'est ufw et comment il simplifie la gestion du pare-feu, je vous propose de commencer par une courte vidéo.

Mettre en place un serveur Web (33/28) : ufw, Uncomplicated FireWall

Cette vidéo de Grafikart.fr explique parfaitement ce qu'est UFW, son rôle d'interface pour iptables, et présente les toutes premières commandes pour l'installer et vérifier son état.

Regardez le début de la vidéo (de 00:00 à 02:13). Concentrez-vous sur : La relation entre ufw et iptables. La commande pour vérifier l'état du pare-feu (sudo ufw status). Le fait qu'il soit inactif par défaut pour des raisons de sécurité. La notion de politiques par défaut (trafic entrant/sortant).


2. La configuration de base : une approche sécurisée

La configuration d'un pare-feu suit une philosophie de sécurité essentielle : le principe du moindre privilège, que nous avons déjà abordé. Concrètement, cela signifie : "Tout ce qui n'est pas explicitement autorisé est interdit".

Cela se traduit par deux politiques par défaut :

  1. Refuser (deny) tout le trafic entrant (incoming) : Personne ne peut initier une connexion vers votre serveur, sauf si vous avez créé une règle spécifique pour l'autoriser.
  2. Autoriser (allow) tout le trafic sortant (outgoing) : Par défaut, votre serveur a le droit de contacter d'autres services sur Internet (par exemple, pour télécharger des mises à jour).

Avant d'activer le pare-feu avec ces politiques, il y a une règle d'or absolue à respecter pour ne pas vous retrouver bloqué à l'extérieur de votre propre serveur.

Comment configurer UFW sur un serveur Linux

Ce guide textuel de YouStable résume très bien la procédure de configuration sécurisée. Nous allons nous concentrer sur la section de démarrage rapide qui contient les commandes essentielles.

Lisez la section intitulée 'Démarrage rapide: Installation sécurisée en 5 minutes'. Retenez bien l'ordre des opérations : Autoriser le SSH (allow 22/tcp) AVANT TOUT. C'est la commande qui vous garantit de conserver l'accès à votre serveur. Définir les politiques par défaut (default deny incoming et default allow outgoing). Activer le pare-feu (enable). Vérifier le statut (status).


3. Gestion des règles ufw au quotidien

Maintenant que nous avons posé les bases, voyons comment gérer les règles pour les services courants que vous pourriez héberger, comme un serveur web. Nous allons continuer avec la vidéo de Grafikart, qui montre ces manipulations de manière très concrète.

Mettre en place un serveur Web (33/28) : ufw, Uncomplicated FireWall

La suite de la vidéo vous guidera à travers les commandes les plus courantes pour ajouter, supprimer et lister des règles. C'est le cœur de la gestion d'UFW.

Regardez la vidéo de 02:13 à 06:19. Portez une attention particulière aux points suivants : Autoriser un port spécifique : la commande sudo ufw allow <port>. Activer le pare-feu : sudo ufw enable et le message d'avertissement. Lister les règles : sudo ufw status pour voir ce qui est actif. Supprimer une règle : les deux méthodes (par numéro avec status numbered et par sa définition). Utiliser les profils d'application : sudo ufw app list et sudo ufw allow 'Nom App', qui est un raccourci pratique.

En résumé, voici les commandes essentielles :

  • sudo ufw status : Vérifier si le pare-feu est actif et lister les règles.
  • sudo ufw enable / disable : Activer ou désactiver le pare-feu.
  • sudo ufw default deny incoming : Définir la politique par défaut pour le trafic entrant.
  • sudo ufw allow <port_ou_service> : Autoriser le trafic sur un port (ex: 80/tcp) ou pour un service connu (ex: ssh, http).
  • sudo ufw deny <port_ou_service> : Bloquer explicitement le trafic.
  • sudo ufw delete <règle> : Supprimer une règle.

4. Exercice pratique

Il est temps de mettre les mains dans le cambouis ! Connectez-vous en SSH à votre machine virtuelle Ubuntu Server et suivez ces étapes pour configurer votre premier pare-feu.

Scénario : Sécuriser un serveur qui hébergera un site web.

  1. Vérification

    • Vérifiez que ufw est bien installé. Il l'est normalement sur Ubuntu. Si ce n'est pas le cas, la commande est sudo apt install ufw.
    • Vérifiez son état avec sudo ufw status. Il devrait être inactive.
  2. Mise à zéro (bonne pratique)

    • Pour partir sur des bases saines, réinitialisez la configuration.
    • sudo ufw reset
    • Confirmez avec y (yes). Cela désactive le pare-feu et supprime toutes les règles existantes.
  3. Définition des politiques

    • Appliquez le principe du moindre privilège.
    • sudo ufw default deny incoming
    • sudo ufw default allow outgoing
  4. Autorisation des services essentiels

    • LA RÈGLE D'OR : Autorisez le SSH pour ne pas vous bloquer.
    • sudo ufw allow ssh
    • Autorisez le trafic web standard (HTTP et HTTPS).
    • sudo ufw allow http
    • sudo ufw allow https
  5. Activation et vérification

    • Activez le pare-feu.
    • sudo ufw enable
    • Confirmez avec y.
    • Vérifiez que tout est en ordre.
    • sudo ufw status verbose
    • Vous devriez voir que le statut est active et que les ports 22 (SSH), 80 (HTTP) et 443 (HTTPS) sont autorisés (ALLOW) depuis n'importe quelle source (Anywhere).
  6. (Bonus) Gérer les règles

    • Affichez les règles avec des numéros : sudo ufw status numbered.
    • Imaginons que vous n'avez plus besoin du port HTTP (80) car votre site est entièrement en HTTPS. Supprimez la règle correspondante en utilisant son numéro (par exemple, sudo ufw delete 3 si la règle pour le port 80 porte le numéro 3).
    • Vérifiez à nouveau le statut pour confirmer la suppression.

Félicitations ! Vous venez de configurer un pare-feu fonctionnel et sécurisé sur votre serveur Linux.


Conclusion

Le contrôle du trafic réseau via un pare-feu est une mesure de sécurité fondamentale. Avec ufw, vous disposez d'un outil puissant mais simple pour protéger votre serveur des accès non désirés.

Voici les points clés à retenir :

  • ufw est une interface conviviale pour le pare-feu iptables de Linux.
  • La meilleure pratique consiste à refuser par défaut tout le trafic entrant et à n'autoriser que les services nécessaires.
  • La règle la plus importante est de toujours autoriser l'accès SSH (sudo ufw allow ssh) avant d'activer le pare-feu pour éviter de perdre l'accès à votre serveur.
  • Vous pouvez gérer les règles par port, par service (nom), et même de manière plus avancée (par adresse IP, etc.).

Nous avons maintenant sécurisé le périmètre de notre serveur Linux. Dans la prochaine leçon, nous verrons comment effectuer une tâche similaire dans un autre environnement très répandu en entreprise : nous apprendrons à configurer le pare-feu Windows Defender sur Windows Server. Cela vous permettra de comparer les approches et d'élargir vos compétences d'administrateur.