Accueil

UFW : Pare-feu simple pour Linux

Security
Difficulte: Beginner
4 min de lecture

Tutoriel détaillé pour installer et configurer UFW (Uncomplicated Firewall), une interface simplifiée pour iptables, afin de sécuriser un serveur Linux.

Retour aux tutoriels

L'essentiel

  • La politique de départ tient en deux commandes : sudo ufw default deny incoming et sudo ufw default allow outgoing — tout ce qui entre est bloqué sauf autorisation explicite, tout ce qui sort passe.
  • Autorisez SSH avant de lancer sudo ufw enable, sinon vous perdez l'accès au serveur : sudo ufw allow ssh pour le port 22, ou sudo ufw allow 2222/tcp si vous avez déplacé le port.
  • Pour supprimer une règle, listez-les d'abord avec sudo ufw status numbered puis exécutez sudo ufw delete 3 ; la suppression par définition exacte fonctionne aussi, comme sudo ufw delete allow http.
  • UFW gère les règles par source : sudo ufw allow from 1.2.3.4 ouvre tous les ports à une seule IP, et sudo ufw allow from 1.2.3.4 to any port 22 proto tcp réserve SSH à cette adresse uniquement.
  • Piège Docker : Docker écrit ses propres règles iptables et court-circuite UFW — les ports publiés par vos conteneurs restent exposés alors que sudo ufw status semble correct.
Qu'est-ce que UFW ?
UFW, ou "Uncomplicated Firewall", est une interface de gestion de pare-feu pour Linux, conçue pour être facile à utiliser. C'est une surcouche à l'outil plus complexe mais très puissant iptables. UFW est le pare-feu par défaut sur Ubuntu et vise à fournir une interface simple pour les configurations de pare-feu les plus courantes sans sacrifier la sécurité.

Pourquoi utiliser UFW ?

  • Simplicité : Sa syntaxe est beaucoup plus simple et plus intuitive que celle d'iptables.
  • Sécurité par défaut : Il est conçu pour être sécurisé dès le départ, avec une politique par défaut qui bloque tout le trafic entrant.
  • Intégration : Bien intégré dans les distributions comme Ubuntu.
  • Flexibilité : Bien que simple, il permet des règles plus complexes si nécessaire.

Prérequis

  • Un serveur Linux (ce guide se concentre sur Ubuntu/Debian).
  • Accès root ou privilèges sudo.

Configuration de base

Sur Ubuntu, UFW est généralement installé par défaut. Sinon, vous pouvez l'installer avec sudo apt install ufw.

Étape 1 : Définir les politiques par défaut

C'est la première chose à faire. Une politique sûre est de tout refuser en entrée et de tout autoriser en sortie.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Cela signifie qu'aucune connexion ne pourra entrer sur votre serveur, à moins que vous ne l'autorisiez explicitement.

Étape 2 : Autoriser les connexions SSH

ATTENTION : C'est l'étape la plus importante. Si vous activez le pare-feu sans autoriser SSH, vous perdrez l'accès à votre serveur !

# Autoriser le port SSH standard (22)
sudo ufw allow ssh

# Si vous avez changé votre port SSH (ex: 2222)
# sudo ufw allow 2222/tcp

Étape 3 : Autoriser d'autres services

N'ouvrez que les ports dont vous avez besoin.

# Autoriser le trafic web HTTP (port 80)
sudo ufw allow http

# Autoriser le trafic web HTTPS (port 443)
sudo ufw allow https

# Autoriser un port spécifique (ex: pour un serveur de jeu sur le port 25565)
sudo ufw allow 25565/tcp

Étape 4 : Activer UFW

Une fois que vous avez autorisé au moins SSH, vous pouvez activer le pare-feu.

sudo ufw enable

UFW vous avertira que la commande peut perturber les connexions SSH existantes. Tapez `y` et validez.

Gérer UFW au quotidien

Vérifier le statut et les règles

La commande `status` est votre meilleure amie.

# Voir si le pare-feu est actif et lister les règles
sudo ufw status verbose

# Lister les règles avec des numéros, pratique pour les supprimer
sudo ufw status numbered

Supprimer une règle

Vous pouvez supprimer une règle par son numéro (obtenu avec `status numbered`) ou par sa définition.

# Supprimer la règle numéro 3
sudo ufw delete 3

# Ou supprimer par la définition exacte
sudo ufw delete allow http

Règles plus avancées

# Autoriser une adresse IP spécifique à se connecter sur tous les ports
sudo ufw allow from 1.2.3.4

# Autoriser une adresse IP spécifique sur un port spécifique
sudo ufw allow from 1.2.3.4 to any port 22 proto tcp

Désactiver ou réinitialiser UFW

# Désactiver temporairement le pare-feu
sudo ufw disable

# Réinitialiser toutes les règles à leur état par défaut (désactivé)
sudo ufw reset
Simplicité et efficacité
Avec seulement quelques commandes (`ufw default deny`, `ufw allow ssh`, `ufw enable`), vous avez déjà considérablement augmenté la sécurité de votre serveur.
UFW et Docker
Attention, par défaut, Docker modifie directement les règles `iptables` et peut contourner les règles UFW. C'est un problème connu. Si vous utilisez Docker, des configurations supplémentaires sont nécessaires pour vous assurer que vos règles UFW sont respectées.

Conclusion

UFW porte bien son nom : il rend la gestion d'un pare-feu sous Linux simple et directe. Pour la grande majorité des serveurs web ou applicatifs, UFW offre un excellent équilibre entre la facilité d'utilisation et une sécurité robuste. C'est l'outil idéal pour mettre en place rapidement une première ligne de défense essentielle pour votre serveur.

MR

Écrit par

Morgann Riu

Expert en cybersécurité et administration Linux. Je partage mes connaissances à travers des tutoriels gratuits et des formations pour aider les administrateurs systèmes et développeurs à sécuriser leurs infrastructures.

Questions fréquentes

Qu'est-ce que UFW et pourquoi l'utiliser ?
UFW (Uncomplicated Firewall) est une interface simplifiee pour iptables sur Linux. Il permet de configurer facilement un pare-feu avec des commandes intuitives comme ufw allow ssh, sans avoir a maîtriser la syntaxe complexe d'iptables. C'est le pare-feu par défaut sur Ubuntu.
Comment autoriser un port spécifique avec UFW ?
Utilisez la commande sudo ufw allow NUMERO_PORT/PROTOCOLE. Par exemple : sudo ufw allow 80/tcp pour le HTTP, ou sudo ufw allow 443/tcp pour le HTTPS. Vous pouvez aussi utiliser les noms de services : sudo ufw allow ssh.
Comment supprimer une règle UFW ?
Listez d'abord les règles numerotees avec sudo ufw status numbered, puis supprimez la règle souhaitee avec sudo ufw delete NUMERO. Par exemple : sudo ufw delete 3 pour supprimer la troisième regle.
UFW bloque-t-il tout le trafic par défaut ?
Non, par défaut UFW est desactive. Une fois active avec la politique recommandee (deny incoming, allow outgoing), il bloque tout le trafic entrant sauf celui explicitement autorise et permet tout le trafic sortant. Pensez toujours a autoriser SSH avant d'activer UFW.

Partager ce tutoriel

Cet article vous a plu ?

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Commentaires

Recommandé pour vous

Article de fond sur le sujet

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.