Comment configurer un pare-feu sur Ubuntu Server
Publié : 15 février 2025 à 21 h 40 min 38 s UTC
Dernière mise à jour : 12 janvier 2026 à 08 h 38 min 29 s UTC
Cet article explique et donne quelques exemples pour configurer un pare-feu sur GNU/Linux en utilisant ufw, qui est l’abréviation de Uncomplicated FireWall – et le nom est approprié, c’est vraiment une façon très simple de s’assurer que vous n’avez pas plus de ports ouverts que nécessaire.
How to Set Up a Firewall on Ubuntu Server
Les informations contenues dans ce billet sont basées sur Ubuntu Server 14.04 x64. Cela peut être valide ou non pour d’autres versions. (Mise à jour : Je peux confirmer que les informations contenues dans ce message sont essentiellement encore valides et fonctionnelles à partir d’Ubuntu Server 24.04, cependant, en 10 ans, UFW est devenu un peu plus « intelligent » en ayant des profils pour les applications serveur courantes (par exemple, vous pouvez activer « Nginx full » au lieu des ports 80 et 443 séparément) et désactiver/activer tout le pare-feu pour appliquer de nouvelles règles n’est plus nécessaire)
Quand j’ai commencé avec les serveurs GNU/Linux (Ubuntu), installer un pare-feu impliquait de créer et de maintenir manuellement un fichier de configuration potentiellement complexe pour iptables. Cependant, j’ai récemment découvert ufw, qui est l’abréviation de Uncomplicated Firewall – et c’est vraiment le cas :-)
Mon installation d’Ubuntu Server 14.04 avait déjà UFW installé, mais si ce n’est pas le cas, installe-la simplement à partir des dépôts :
UFW est en fait juste un outil qui simplifie la configuration d’iptables – en coulisses, c’est toujours iptables et le pare-feu du noyau Linux qui fait le filtrage, donc UFW n’est ni moins ni plus sécurisé que ceux-ci. Cependant, comme UFW facilite grandement la bonne configuration d’un pare-feu, cela peut réduire le risque d’erreur humaine et est donc possiblement plus sécuritaire pour les administrateurs inexpérimentés.
Si votre serveur est configuré avec IPv6 ainsi qu’IPv4, assurez-vous que c’est aussi activé pour UFW. Modifie le fichier /etc/default/ufw et cherche une ligne disant IPV6=oui. Sur mon installation, il était déjà là, mais si ce n’est pas le cas ou s’il dit non, tu devrais le modifier
Ensuite, utilise simplement l’invite de commandes pour activer les ports que tu veux ouvrir. Si vous êtes connecté à votre serveur via SSH, assurez-vous d’autoriser cela aussi, sinon cela pourrait perturber votre connexion et peut-être vous bloquer l’accès au serveur lors de l’activation – selon que vous ayez un accès physique au serveur ou non, cela peut être un peu gênant;-)
Par exemple, si vous utilisez le ssh sur le port 22 standard et que vous configurez un serveur web qui supporte à la fois les connexions non chiffrées (HTTP sur le port 80) et chiffrées (HTTPS sur le port 443), vous émettriez les commandes suivantes pour configurer l’ufw :
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Si vous avez besoin de plus de règles, ajoutez-les simplement comme ci-dessus.
Si vous avez une adresse IP statique et que vous n’avez besoin que de pouvoir vous connecter via SSH depuis un seul emplacement, vous pouvez aussi restreindre les connexions SSH à une seule adresse d’origine comme ceci :
Bien sûr, entrez plutôt votre propre adresse IP.
Une fois terminé, activez UFW en entrant :
Et c’est fini! Le pare-feu tourne et démarre automatiquement quand tu redémarres ton serveur :-)
Si vous modifiez la configuration UFW, vous devrez peut-être la désactiver et la réactiver pour les mettre en place, comme ceci :
sudo ufw enable
Pour voir la configuration actuelle, il suffit d’entrer :
Si UFW n’est pas activé, cela affichera simplement un message « inactif », sinon il affichera les règles définies actuellement.
