Si vous êtes nouveau sous Linux, vous avez peut-être entendu parler d’UFW (Uncomplicated Firewall). Comme son nom l’indique, UFW est un outil simple et convivial qui vous permet de gérer votre pare-feu Linux.
Dans cet article, nous allons passer en revue les éléments essentiels de l’UFW et des explications pour vous aider à démarrer.
Qu’est-ce qu’un pare-feu ?
Un pare-feu est un système de sécurité réseau qui surveille et contrôle le trafic réseau entrant et sortant en fonction de règles de sécurité prédéterminées. Il agit comme une barrière entre votre ordinateur ou votre réseau et l’internet ou d’autres réseaux.
Pourquoi utiliser l’UFW ?
UFW est une interface pour le pare-feu iptables qui est préinstallé sur la plupart des distributions Linux. Il simplifie le processus de gestion du pare-feu en fournissant une interface de ligne de commande conviviale.
UFW Essentials
Installation
UFW est préinstallé sur la plupart des distributions Linux. Cependant, s’il n’est pas installé sur votre système, vous pouvez l’installer à l’aide de la commande suivante :
$ sudo apt-get install ufw
Syntaxe de base
La syntaxe de base de l’UFW est la suivante :
$ sudo ufw [option] [allow/deny] [port/protocol]
Voici une description de la syntaxe :
- sudo – vous permet d’exécuter la commande avec les privilèges de l’administrateur (root)
- ufw – la commande UFW
- [option] – des options supplémentaires telles que enable, disable, status, reset, reload
- [allow/deny] – autoriser ou refuser le trafic
- [port/protocol] – le numéro de port et/ou le protocole à autoriser ou à refuser
Vérification de l’état
Pour vérifier l’état de l’UFW, exécutez la commande suivante :
$ sudo ufw status
Vous verrez ainsi l’état actuel de l’UFW et les règles en vigueur.
Activation et désactivation de l’UFW
Pour activer l’UFW, exécutez la commande suivante :
$ sudo ufw enable
Pour désactiver l’UFW, exécutez la commande suivante :
$ sudo ufw disable
Politiques par défaut
Lorsque vous activez UFW, les règles par défaut sont définies pour refuser tout le trafic entrant et autoriser tout le trafic sortant. Vous pouvez modifier les règles par défaut à l’aide des commandes suivantes :
$ sudo ufw default allow [incoming/outgoing]
$ sudo ufw default deny [incoming/outgoing]
Allowing and Denying Traffic
Pour autoriser le trafic vers un port spécifique, exécutez la commande suivante :
$ sudo ufw allow [port/protocol]
Pour refuser le trafic vers un port spécifique, exécutez la commande suivante :
$ sudo ufw deny [port/protocol]
Bloquer une adresse IP
Pour bloquer toutes les connexions réseau provenant d’une adresse IP spécifique, exécutez la commande suivante, en remplaçant l’adresse IP en surbrillance par l’adresse IP que vous souhaitez bloquer :
$ sudo ufw deny from 192.168.10.224
OutputRule added
Dans cet exemple, from 192.168.10.224
spécifie une adresse IP source de “192.168.10.224”.
Si vous lancez sudo ufw status
maintenant, vous verrez l’adresse IP spécifiée listée comme étant refusée :
OutputStatus: active
To Action From
-- ------ ----
Anywhere DENY 192.168.10.224
Toutes les connexions, entrantes ou sortantes, sont bloquées pour l’adresse IP spécifiée.
Vous pouvez également bloquer les connexions provenant d’un sous-réseau entier en fournissant le masque de sous-réseau correspondant à un hôte, tel que 192.168.10.0/24
.
Autoriser une adresse IP
Pour autoriser toutes les connexions réseau provenant d’une adresse IP spécifique, exécutez la commande suivante, en remplaçant l’adresse IP surlignée par l’adresse IP dont vous voulez autoriser l’accès :
$ sudo ufw allow from 192.168.10.224
OutputRule added
Si vous lancez sudo ufw status
maintenant, vous verrez une sortie similaire à celle-ci, montrant le mot ALLOW
à côté de l’adresse IP que vous venez d’ajouter.
OutputStatus: active
To Action From
-- ------ ----
...
Anywhere ALLOW 192.168.10.224
Vous pouvez également autoriser les connexions à partir d’un sous-réseau entier en fournissant le masque de sous-réseau correspondant à un hôte, tel que 192.168.10.0/24
.
Supprimer une règle UFW
Pour supprimer une règle que vous avez précédemment configurée dans UFW, utilisez ufw delete
suivi de la règle (allow
ou deny
) et de la spécification de la cible. L’exemple suivant supprimerait une règle précédemment définie pour autoriser toutes les connexions à partir d’une adresse IP de 192.168.10.224
:
$ sudo ufw delete allow from 192.168.10.224
OutputRule deleted
Une autre façon de spécifier la règle que vous voulez supprimer est de fournir l’ID de la règle. Cette information peut être obtenue à l’aide de la commande suivante :
$ sudo ufw status numbered
OutputStatus: active
To Action From
-- ------ ----
[1] Anywhere DENY IN 192.168.10.220
[2] Anywhere on eth0 ALLOW IN 192.168.10.222
A partir de la sortie, vous pouvez voir qu’il y a deux règles actives. La première règle, avec les valeurs surlignées, refuse toutes les connexions venant de l’adresse IP 192.168.10.220
. La seconde règle autorise les connexions sur l’interface eth0
provenant de l’adresse IP 192.168.10.222
.
Parce que par défaut l’UFW bloque déjà tous les accès externes à moins qu’ils ne soient explicitement autorisés, la première règle est redondante, vous pouvez donc la supprimer. Pour supprimer une règle par son ID, exécutez :
$ sudo ufw delete 1
Vous serez invité à confirmer l’opération et à vous assurer que l’identifiant que vous fournissez correspond bien à la règle que vous souhaitez supprimer.
OutputDeleting:
deny from 192.168.10.220
Proceed with operation (y|n)? y
Rule deleted
Si vous listez à nouveau vos règles avec sudo ufw status
, vous verrez que la règle a été supprimée.
Lister les profils d’application disponibles
Lors de l’installation, les applications qui s’appuient sur des communications réseau vont généralement mettre en place un profil UFW que vous pouvez utiliser pour autoriser les connexions à partir d’adresses externes. Cela revient souvent à exécuter ufw allow from
, avec l’avantage de fournir un raccourci qui fait abstraction des numéros de port spécifiques qu’un service utilise et fournit une nomenclature conviviale aux services référencés.
Pour obtenir la liste des profils actuellement disponibles, exécutez la commande suivante :
$ sudo ufw app list
Si vous avez installé un service tel qu’un serveur web ou un autre logiciel dépendant du réseau et qu’un profil n’est pas disponible dans UFW, assurez-vous d’abord que le service est activé. Pour les serveurs distants, vous disposez généralement d’OpenSSH :
OutputAvailable applications:
OpenSSH
Autoriser toutes les requêtes HTTP/HTTPS entrantes (port 443
/ 80
)
Les serveurs web, tels qu’Apache et Nginx, écoutent généralement les requêtes HTTP sur le port 80
.
HTTPS fonctionne typiquement sur le port 443
. Si votre politique par défaut pour le trafic entrant est réglée sur “drop” ou “deny”, vous devrez créer une règle UFW pour autoriser l’accès externe sur le port 443
. Vous pouvez utiliser le numéro de port ou le nom du service (https
) comme paramètre de cette commande.
Pour autoriser toutes les connexions HTTPS et HTTP entrantes (port 443
/ 80
), exécutez :
$ sudo ufw allow https,http
OutputRule added
Rule added (v6)
Une autre syntaxe consiste à spécifier le numéro de port du service HTTPS :
$ sudo ufw allow 443,80
Conclusion
UFW est un outil puissant et facile à utiliser qui vous permet de gérer votre pare-feu Linux. Avec l’essentiel de l’UFW et les explications fournies dans cet article, vous devriez maintenant avoir une bonne compréhension de la façon de commencer avec l’UFW.
N’oubliez pas d’être toujours prudent lorsque vous configurez votre pare-feu, et de n’autoriser que le trafic nécessaire au bon fonctionnement de votre système.