Un pare-feu correctement configuré est la première ligne de défense pour tout serveur exposé à internet. Ubuntu inclut UFW (Uncomplicated Firewall) comme outil de gestion de pare-feu par défaut, fournissant une interface simple au-dessus du puissant mais complexe framework iptables. Ce guide couvre tout ce que vous devez savoir pour configurer UFW sur les serveurs Ubuntu de production.

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Ubuntu Server 20.04, 22.04 ou 24.04
  • Accès au terminal avec les privilèges sudo
  • Accès SSH au serveur (si configuration à distance)
  • Compréhension de base des ports TCP/UDP et des concepts de réseau

Qu’est-ce qu’UFW ?

UFW signifie Uncomplicated Firewall. Il a été créé par l’équipe Ubuntu pour simplifier le processus de configuration d’iptables. UFW enveloppe iptables avec une interface de commande lisible.

Caractéristiques principales :

  • Pare-feu à état — suit les états de connexion et autorise automatiquement le trafic de retour
  • Profils d’application — ensembles de règles préconfigurés pour les services courants
  • Support IPv4 et IPv6 — double pile par défaut
  • Journalisation — niveaux configurables pour la surveillance de la sécurité
  • Limitation de débit — protection intégrée contre les attaques par force brute

Installer UFW

sudo apt update
sudo apt install ufw
sudo ufw status

Important : N’activez pas UFW tant que vous n’avez pas configuré votre règle d’accès SSH.

Définir les Politiques par Défaut

sudo ufw default deny incoming
sudo ufw default allow outgoing

Autoriser SSH Avant d’Activer UFW

Autorisez toujours SSH en premier :

sudo ufw allow ssh

Pour un port SSH non standard (par exemple, 2222) :

sudo ufw allow 2222/tcp

Activer UFW

sudo ufw enable
sudo ufw status verbose

Règles de Pare-feu Courantes

Autoriser un Port Spécifique

sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS
sudo ufw allow 8080/tcp    # Personnalisé
sudo ufw allow 51820/udp   # WireGuard VPN

Autoriser depuis une Adresse IP Spécifique

sudo ufw allow from 203.0.113.50
sudo ufw allow from 203.0.113.50 to any port 22
sudo ufw allow from 10.0.1.20 to any port 3306

Autoriser un Sous-réseau

sudo ufw allow from 10.0.1.0/24
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

Supprimer des Règles

sudo ufw status numbered
sudo ufw delete 3
sudo ufw delete allow 80/tcp

Profils d’Application

sudo ufw app list
sudo ufw allow 'Nginx Full'
sudo ufw app info 'Nginx Full'

Créer des Profils Personnalisés

Créez un fichier dans /etc/ufw/applications.d/ :

[MyApp]
title=Mon Application Node.js
description=Application web Express.js
ports=3000/tcp

Limitation de Débit

sudo ufw limit ssh

Cela limite les connexions SSH entrantes à 6 connexions en 30 secondes depuis une seule adresse IP.

Configurer la Journalisation

sudo ufw logging on
sudo ufw logging medium
sudo tail -50 /var/log/ufw.log
sudo grep '\[UFW BLOCK\]' /var/log/ufw.log | tail -20

Configurations Pratiques de Serveur

Serveur Web

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Serveur de Base de Données

sudo ufw allow ssh
sudo ufw allow from 10.0.1.20 to any port 3306
sudo ufw allow from 10.0.1.20 to any port 5432
sudo ufw enable

Serveur VPN (WireGuard)

sudo ufw allow ssh
sudo ufw allow 51820/udp

Dépannage

Impossible de se Connecter Après l’Activation d’UFW

  1. Accédez au serveur via une console
  2. Désactivez UFW : sudo ufw disable
  3. Vérifiez vos règles : sudo ufw status numbered
  4. Corrigez la configuration et réactivez

Tout Réinitialiser

sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

Référence des Commandes UFW

CommandeDescription
sudo ufw enableActiver le pare-feu
sudo ufw disableDésactiver le pare-feu
sudo ufw statusAfficher les règles actuelles
sudo ufw status verboseAfficher les règles avec détails
sudo ufw status numberedAfficher les règles numérotées
sudo ufw reloadRecharger les règles sans redémarrer
sudo ufw resetRéinitialiser aux valeurs par défaut
sudo ufw allow <port>Autoriser le trafic entrant
sudo ufw deny <port>Refuser le trafic entrant
sudo ufw limit <port>Limiter les connexions
sudo ufw delete <règle>Supprimer une règle

Résumé

UFW fournit un moyen simple de gérer les règles de pare-feu sur les serveurs Ubuntu. En suivant le principe du moindre privilège — refuser tout le trafic entrant par défaut et n’autoriser que ce qui est explicitement nécessaire — vous établissez une base de sécurité solide.

Pour un renforcement supplémentaire, combinez UFW avec d’autres mesures de sécurité. Consultez nos guides sur le Renforcement SSH et la Configuration VPN WireGuard.