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
- Accédez au serveur via une console
- Désactivez UFW :
sudo ufw disable - Vérifiez vos règles :
sudo ufw status numbered - 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
| Commande | Description |
|---|---|
sudo ufw enable | Activer le pare-feu |
sudo ufw disable | Désactiver le pare-feu |
sudo ufw status | Afficher les règles actuelles |
sudo ufw status verbose | Afficher les règles avec détails |
sudo ufw status numbered | Afficher les règles numérotées |
sudo ufw reload | Recharger les règles sans redémarrer |
sudo ufw reset | Ré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.