Miklix

Comment configurer un pare-feu sur un serveur Ubuntu

Publié : 15 février 2025 à 21:33:42 UTC

Cet article explique, exemples à l'appui, comment mettre en place un pare-feu sous GNU/Linux en utilisant ufw, abréviation de Uncomplicated FireWall (pare-feu non compliqué). Le nom est tout à fait approprié, car il s'agit d'un moyen très simple de s'assurer que l'on n'ouvre pas plus de ports qu'il n'en faut.


Cette page a été traduite de l'anglais afin de la rendre accessible au plus grand nombre. Malheureusement, la traduction automatique n'est pas encore une technologie parfaite, et des erreurs peuvent donc se produire. Si vous préférez, vous pouvez consulter la version originale en anglais ici :

How to Set Up a Firewall on Ubuntu Server

Les informations contenues dans ce billet sont basées sur Ubuntu Server 14.04 x64. Elles peuvent ou non être valables pour d'autres versions. (Mise à jour : je peux confirmer que les informations contenues dans cet article sont toujours valables et fonctionnelles à partir d'Ubuntu Server 24.04, cependant au cours des 10 dernières années, 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 il n'est plus nécessaire de désactiver/activer l'ensemble du pare-feu pour appliquer de nouvelles règles).

Lorsque j'ai commencé à travailler sur des serveurs GNU/Linux (Ubuntu), la mise en place d'un pare-feu impliquait la création et la maintenance manuelles d'un fichier de configuration potentiellement complexe pour iptables. Cependant, j'ai récemment découvert ufw, qui est l'abréviation de Uncomplicated Firewall (pare-feu non compliqué) - et c'est vraiment le cas :-)

Mon installation d'Ubuntu Server 14.04 comportait déjà ufw, mais si ce n'est pas le cas de la vôtre, il suffit de l'installer à partir des dépôts :

sudo apt-get install ufw

UFW n'est en fait qu'un outil qui simplifie la configuration d'iptables - en coulisses, c'est toujours iptables et le pare-feu du noyau Linux qui se chargent du filtrage, de sorte qu'ufw n'est ni moins ni plus sûr qu'eux. Cependant, comme ufw facilite grandement la configuration correcte d'un pare-feu, il peut réduire le risque d'erreur humaine et est donc peut-être plus sûr pour les administrateurs inexpérimentés.

Si votre serveur est configuré avec IPv6 en plus d'IPv4, assurez-vous que cela est également activé pour UFW. Editez le fichier /etc/default/ufw et recherchez une ligne indiquant IPV6=yes. Sur mon installation, elle était déjà présente, mais si ce n'est pas le cas ou si elle dit non, vous devez l'éditer

Ensuite, utilisez simplement l'invite de commande pour activer les ports que vous souhaitez ouvrir. Si vous êtes connecté à votre serveur via ssh, assurez-vous de l'autoriser également ou cela pourrait perturber votre connexion et éventuellement vous bloquer hors de votre serveur lorsque vous l'activez - selon que vous avez un accès physique au serveur ou non, cela peut être un peu gênant ;-)

Par exemple, si vous utilisez ssh sur le port standard 22 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 devez exécuter les commandes suivantes pour configurer ufw :

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Si vous avez besoin de plus de règles, ajoutez-les simplement comme indiqué ci-dessus.

Si vous avez une adresse IP statique et que vous ne devez pouvoir vous connecter via ssh qu'à partir d'un seul endroit, vous pouvez également restreindre les connexions ssh à une seule adresse d'origine comme ceci :

sudo ufw allow from 192.168.0.1 to any port 22

Bien sûr, entrez votre propre adresse IP à la place.

Lorsque vous avez terminé, activez ufw en entrant :

sudo ufw enable

Et le tour est joué ! Le pare-feu est en cours d'exécution et démarrera automatiquement lorsque vous redémarrerez votre serveur :-)

Si vous apportez des modifications à la configuration de ufw, il se peut que vous deviez le désactiver et l'activer à nouveau pour qu'il prenne effet, comme ceci :

sudo ufw disable
sudo ufw enable

Pour consulter la configuration actuelle, entrez simplement :

sudo ufw status

Si ufw n'est pas activé, il affichera simplement un message "inactif", sinon il listera les règles actuellement définies.

Partager sur BlueskyPartager sur FacebookPartager sur LinkedInPartager sur TumblrPartager sur XPartager sur LinkedInÉpingler sur Pinterest

Mikkel Bang Christensen

A propos de l'auteur

Mikkel Bang Christensen
Mikkel est le créateur et le propriétaire de miklix.com. Il a plus de 20 ans d'expérience en tant que programmeur informatique professionnel/développeur de logiciels et travaille actuellement à plein temps pour une grande entreprise européenne de TI. Lorsqu'il ne blogue pas, il consacre son temps libre à un large éventail d'intérêts, de passe-temps et d'activités, ce qui peut se refléter dans une certaine mesure dans la variété des sujets abordés sur ce site web.