Kennisbank › Firewall › ufw : pare-feu
firewall starter 27 August 2026

ufw : pare-feu

UFW : Le pare-feu simplifié d'Ubuntu — Introduction

UFW est installé par défaut depuis Ubuntu 8.04 LTS. Vérifiez la version pour confirmer que le système est prêt.

sudo ufw version

Cela affiche la version d'UFW, par exemple `ufw 0.36.2`. Si la commande n'est pas trouvée, installez-la avec `sudo apt install ufw`.

2. Activez UFW

Activez le pare-feu avec la commande standard. Soyez prudent : après l'activation, tout le trafic entrant sera bloqué sauf si vous avez ajouté des règles.

sudo ufw enable

La sortie confirme avec `Firewall is active and enabled on system startup`. Le système démarrera ensuite toujours avec un pare-feu actif.

3. Consultez l'état actuel et les règles

Affichez les règles actives avec leur numérotation. Cela facilite l'identification et la gestion de règles spécifiques par la suite.

sudo ufw status numbered

Sans règles, cela affiche `Status: active` avec une liste vide. Ajoutez d'abord des règles avant d'utiliser le pare-feu en production.

4. Autorisez le trafic entrant sur un port

Autorisez le trafic sur le port 5432 et documentez la règle avec un commentaire. Cela est utile pour des services comme PostgreSQL.

sudo ufw allow 5432 comment "Service"

La fonctionnalité de commentaire aide à consigner l'objectif de chaque règle. Cela est visible dans la sortie d'état.

5. Autorisez le trafic depuis une adresse IP spécifique

Limitez l'accès au port 22 (SSH) à une seule adresse IP. C'est un exemple de règle avec plusieurs conditions.

sudo ufw allow proto tcp from 192.168.0.4 to any port 22

Seul le trafic TCP de 192.168.0.4 vers le port 22 sera autorisé. Toutes les autres connexions SSH seront bloquées.

6. Désactivez UFW si nécessaire

Utilisez cette commande pour désactiver complètement le pare-feu. Cela n'est recommandé que pour les environnements de test ou lors du dépannage de problèmes réseau.

sudo ufw disable

La sortie confirme avec `Firewall stopped and disabled on system startup`. Le système démarrera ensuite sans pare-feu actif.

7. Vérifiez l'interaction avec Docker

Si vous utilisez Docker, vérifiez si les ports de conteneurs publiés contournent les règles UFW. Docker crée ses propres règles de pare-feu pour l'isolation réseau et la publication de ports — celles-ci contournent UFW.

sudo iptables -L DOCKER -n --line-numbers

Cette sortie affiche les règles de pare-feu Docker. Notez : ces règles sont nécessaires pour les réseaux bridge Docker et ne doivent pas être modifiées manuellement.

8. Ajoutez une règle de refus par défaut pour le trafic entrant

Définissez la politique par défaut pour le trafic entrant. Cela garantit que tout le trafic non explicitement autorisé sera bloqué.

sudo ufw default deny incoming

C'est une bonne pratique pour les serveurs : seuls les ports que vous ouvrez explicitement sont accessibles. Le trafic sortant reste autorisé par défaut.

Vérification

Vérifiez que le pare-feu fonctionne correctement en consultant l'état et en effectuant un scan de ports depuis un autre système.

sudo ufw status verbose

Cela affiche la politique active, y compris les règles par défaut et toutes les règles ajoutées. Pour une vérification externe, utilisez `nmap` depuis un autre système :

nmap -p 22 192.168.0.10

Si UFW est correctement configuré, cela affichera le port 22 comme `filtered` ou `open`, selon vos règles.

Problèmes fréquents

1. Les ports Docker sont accessibles malgré les règles UFW

Docker contourne UFW en créant ses propres règles iptables. C'est un comportement connu. Résolvez-le en ne publiant pas les ports des conteneurs Docker sur l'hôte (omettre `-p`) et en utilisant à la place un proxy inverse qui, lui, est géré par UFW.

2. UFW bloque SSH après l'activation

Cela se produit lorsque vous n'avez pas autorisé SSH avant `sudo ufw enable`. Rétablissez l'accès avec :

sudo ufw allow 22/tcp

Ajoutez toujours cette règle avant d'activer le pare-feu sur un serveur distant.

3. Les règles ne sont pas appliquées après un redémarrage

Vérifiez que UFW est activé au démarrage :

sudo systemctl status ufw

Si le service n'est pas actif, démarrez-le avec `sudo systemctl enable --now ufw`. UFW doit être actif pour appliquer les règles après un redémarrage.

UFW reste un composant essentiel de l'architecture de sécurité d'Ubuntu — mais le rôle croissant des conteneurs et l'interaction avec les règles de pare-feu Docker rendent de plus en plus important de connaître les limites de cet outil.

← Retour à la base de connaissances
← Terug naar kennisbank