Sans pare-feu, il n’y a pas de règles ni de restrictions sur le trafic de votre réseau, ce qui entraîne un certain nombre de conséquences négatives. Le système Linux est livré avec un outil de configuration de pare-feu par défaut, appelé Uncomplicated Firewall (UFW). Mais comment configurer un pare-feu UFW ? Asseyez-vous et détendez-vous, ce tutoriel s’occupe de tout !
Dans ce tutoriel, vous apprendrez comment configurer UFW et mettre en place un pare-feu sur votre système Linux pour sécuriser votre réseau et vous protéger contre des actes malveillants.
Prêt ? Continuez la lecture pour commencer !
Prérequis
Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d’avoir ce qui suit :
- Une machine Ubuntu – Ce tutoriel utilise Ubuntu 20.04 LTS, mais d’autres distributions Linux fonctionneront.
Installation de UFW et activation de la connexion IPv6
Même si UFW est livré avec votre système Ubuntu, il n’est pas installé par défaut. Installez d’abord UFW avec le gestionnaire de paquets apt
et configurez-le pour autoriser les connexions sur IPv6.
1. Ouvrez votre terminal et exécutez la commande apt update
ci-dessous pour mettre à jour votre index de paquets local. La commande accepte toutes les invitations (-y
) pendant la mise à jour pour moins d’intervention de l’utilisateur.

2. Ensuite, exécutez la commande ci-dessous pour installer UFW (install uwf
) sur votre système tout en acceptant toutes les invitations (-y
) pendant l’installation.

3. Ouvrez le fichier de configuration UFW (/etc/default/ufw) avec votre éditeur de texte préféré. UFW prend en charge IPv6, mais vous devez vous assurer que le pare-feu est configuré pour accepter les connexions via IPv6.
Si vous n’avez activé que IPv4, vous vous exposez encore aux attaques IPv6.
4. Faites défiler jusqu’à la variable IPV6 et définissez la valeur sur yes, comme indiqué ci-dessous, puis enregistrez les modifications et quittez l’éditeur

5. Enfin, exécutez la commande ci-dessous pour désactiver et réactiver UFW. La commande redémarre le service UFW afin que les modifications puissent prendre effet.
Une fois la commande terminée, votre pare-feu peut désormais écrire à la fois des ensembles de règles de pare-feu IPv4 et IPv6.
Configuration des politiques par défaut pour les règles de pare-feu
Si vous commencez tout juste avec UFW, il est recommandé de configurer une politique par défaut pour vos règles. Les politiques par défaut sont appliquées à une chaîne qui n’a pas encore de règles spécifiques définies.
Configurez UFW pour refuser toutes les connexions entrantes et autoriser toutes les connexions sortantes. En conséquence, toute personne essayant d’atteindre votre machine depuis le monde extérieur se voit refuser l’accès, tandis que vous pouvez toujours vous connecter librement à n’importe quel site Web ou serveur.
Exécutez la commande ufw
ci-dessous pour refuser
toutes les connexions entrantes
par défaut
.

Ensuite, exécutez la commande suivante pour autoriser
toutes les connexions sortantes
par défaut
.

Autoriser les connexions SSH sur le pare-feu UFW
Vous venez de définir des politiques par défaut sur votre pare-feu UFW pour refuser tout le trafic entrant, et la règle « autoriser tout-refuser tout » est une bonne configuration pour un utilisateur régulier. Mais que se passe-t-il si vous exécutez un serveur? Vous devrez autoriser des flux spécifiques. Autoriser la connexion SSH sur votre pare-feu UFW fera l’affaire pour permettre le trafic spécifique d’entrée et de sortie.
Vous allez configurer un serveur SSH qui autorise les connexions SSH entrantes sur le port 22. Mais pourquoi le port 22 et pas un autre port? Sur les systèmes de type Unix, le démon SSH écoute sur le port 22 par défaut, il est donc bon de suivre la pratique habituelle en utilisant le port SSH par défaut pour faciliter un peu les choses.
1. Exécutez les commandes ci-dessous pour installer le serveur OpenSSH (install openssh-server
) sur votre système et démarrer un serveur OpenSSH (start ssh
).
2. Maintenant, exécutez la commande ci-dessous pour autoriser les connexions SSH entrantes. Il suffit de ne pas spécifier le port 22, car UFW sait quel port utiliser pour SSH.

Le fichier /etc/services contient une liste de tous les services disponibles sur votre système. Ouvrez le fichier dans votre éditeur de texte, descendez jusqu’à ssh et vérifiez que le numéro de port (22) fait partie de la description du service, comme indiqué ci-dessous.

Mais peut-être préférez-vous spécifier le numéro de port (22
) pour autoriser SSH. Si c’est le cas, exécutez plutôt la commande suivante.
3. Maintenant, exécutez la commande ci-dessous pour activer UFW.
Tapez Y lors de la demande de confirmation, comme indiqué ci-dessous, puis appuyez sur Entrée pour continuer l’exécution de la commande. UFW filtrera maintenant les paquets sur votre système.

4. Enfin, exécutez l’une des commandes ci-dessous pour vérifier l’état de votre pare-feu UFW.
Si vous exécutez la commande avec l’option verbose
, vous verrez une sortie similaire à celle ci-dessous :
- État : actif – Indique que le pare-feu est actuellement en cours d’exécution.
- Journalisation : activée (faible) – Indique que UFW enregistre tous les paquets traités par le pare-feu.
- Par défaut : refuser (entrant), autoriser (sortant), désactivé (routé) – Indique que la politique par défaut est de refuser toutes les connexions entrantes et d’autoriser toutes les connexions sortantes.
- Nouveaux profils : ignorer – Indique que le pare-feu utilise actuellement l’ensemble de règles par défaut.

Si vous exécutez la commande avec l’option numbered
, vous verrez la sortie ci-dessous. Vous pouvez voir une liste de règles numérotées et leur statut correspondant AUTORISER ou REFUSER.

Autoriser les connexions HTTP et HTTPS
À ce stade, vous avez seulement autorisé les connexions SSH sur votre pare-feu UFW, mais cela limite les capacités de votre serveur. Autorisez d’autres types de connexions, telles que HTTP ou HTTPS, et ajoutez plus de règles au pare-feu UFW.
Exécutez l’une des commandes suivantes pour autoriser les connexions HTTP entrantes.

Maintenant, exécutez l’une des commandes ci-dessous pour autoriser les connexions HTTPS entrantes.

Autoriser les connexions à partir d’une plage de ports spécifique et d’une adresse IP
Certaines applications utilisent plusieurs ports pour fournir leurs services. Et peut-être que vous avez une plage de ports à ouvrir ou vous devez autoriser la connexion à partir d’une adresse IP spécifique. Dans ce cas, ajoutez davantage de règles au pare-feu UFW.
Exécutez les commandes ci-dessous pour autoriser les connexions entrantes sur les ports 5001 à 5009. Vous devez toujours spécifier le protocole (tcp
ou udp
) après la plage de ports auxquels les règles s’appliquent car tous les ports ne sont pas utilisés par les deux protocoles.
Par exemple, les ports TCP couramment utilisés incluent 80 (HTTP) et 443 (HTTPS). Mais les ports UDP courants incluent 53 (DNS) et 67/68 (DHCP).

Exécutez la commande ci-dessous si vous préférez autoriser les connexions SSH à partir d’une adresse IP spécifique. La commande autorise les connexions SSH (port 22
) uniquement depuis l’adresse IP 192.168.1.2
.

Autorisation du trafic depuis une interface réseau spécifique
UFW vous permet également d’autoriser le trafic sur une interface réseau spécifique uniquement, par exemple eth0 est la première interface Ethernet et wlan0 est la première interface Wi-Fi.
Exécutez l’une des commandes ci-dessous pour autoriser les connexions HTTP uniquement sur les interfaces eth0
et wlan0
.

Suppression des règles du pare-feu UFW
Peut-être que certaines règles du pare-feu UFW ne servent plus à rien. Dans ce cas, vous pourriez vouloir supprimer certaines des règles de UFW. Mais d’abord, vous devez connaître soit le numéro soit le nom de la règle à supprimer.
1. Exécutez la commande ci-dessous pour obtenir une liste numérotée des règles ajoutées à UFW.
Notez le numéro ou le nom de la règle dans la sortie, comme celui ci-dessous.

2. Ensuite, exécutez la commande ci-dessous pour supprimer
la règle numéro 4
, qui est la plage de ports 5001:5010/tcp
.

3. Exécutez la commande ci-dessous pour supprimer
une règle par son nom réel avec le statut allow
. Dans cet exemple, vous supprimeriez la règle http
en exécutant la commande suivante.

4. Maintenant, exécutez la commande suivante pour supprimer
une règle en spécifiant un numéro de port (443
) avec le statut allow
.

5. Enfin, réexécutez la commande suivante comme vous l’avez fait à l’étape un pour lister toutes les règles.
Comme vous pouvez le voir ci-dessous, les règles pour la plage de ports 5001:5010/tcp
, le port http
et le port 443
ont maintenant disparu.

Réinitialisation du pare-feu UFW
Il peut arriver des moments où vous avez besoin de réinitialiser UFW à ses paramètres par défaut, comme après avoir configuré un grand ensemble de règles. Une mise à jour peut changer votre configuration, vous obligeant à reconfigurer UFW et éventuellement à recommencer à zéro.
Exécutez la commande ufw reset
ci-dessous pour réinitialiser toutes vos règles de pare-feu à leurs paramètres par défaut. Cette commande désactive UFW et supprime toutes vos règles de pare-feu actuelles.
Tapez ‘Y’ et appuyez sur Entrée pour continuer à réinitialiser votre pare-feu UFW.

Une fois la réinitialisation terminée, vous disposerez d’une nouvelle installation de UFW entièrement désactivée, et même vos politiques par défaut auront disparu.
Maintenant, exécutez la commande ci-dessous pour réactiver UFW et commencer à configurer vos règles de pare-feu à partir de zéro.
Si vous décidez de ne plus utiliser UFW, alors il n’est pas nécessaire de le réactiver. Ou exécutez la commande ci-dessous pour vous assurer que UFW est désactivé.

Conclusion
Tout au long de ce tutoriel, vous avez réalisé que la configuration d’un pare-feu n’est pas trop intimidante lors de l’utilisation de UFW. Vous devriez maintenant avoir une bonne compréhension de comment mettre en place et implémenter vos propres règles avec UFW sur Ubuntu.
Maintenant, pourquoi ne pas développer vos connaissances nouvellement acquises en apprenant davantage sur la sécurité UFW et Docker sur une machine Linux?