Jeu-concours

3 licences Salfeld à gagner (valeur 90 €)

Contrôle parental Windows + Android, testé et anti-contournement

Participation gratuite Conforme RGPD Tirage ce vendredi soir
Skip to content
#440 / LINUX

Configurer un pare-feu avec UFW sous Linux

Vous débutez avec UFW ? Découvrez comment paramétrer votre pare-feu Linux sans risquer de vous bloquer l'accès SSH. Tutoriel pratique et sécurisé.

6 min Adrien
Configurer un pare-feu avec UFW sous Linux

Laisser le port 22 ouvert sur un serveur exposé au web, c’est laisser la porte d’entrée de sa maison déverrouillée en partant en week-end. Les tentatives d’intrusion automatisées frappent à cette porte toutes les quelques secondes, 24 heures sur 24.

Un pare-feu bien configuré n’est pas une forteresse impénétrable, mais il sécurise votre serveur en une cible trop complexe pour les scanners de vulnérabilités standards. UFW simplifie cette gestion. Vous n’avez pas besoin d’être un expert en réseaux pour restreindre les accès aux seuls services nécessaires. Voici comment verrouiller votre serveur.

Installation de UFW sur les systèmes Debian et Ubuntu

UFW est le pare-feu par défaut sur de nombreuses distributions basées sur Debian. Bien qu’il soit souvent préinstallé, il est parfois nécessaire de l’installer manuellement si le paquet a été supprimé ou sur certaines versions minimales de Debian.

Sur les systèmes Debian et Ubuntu, installez le pare-feu en utilisant le gestionnaire de paquets APT :

Debian
sudo apt update && sudo apt install -y ufw

Une fois installé, vérifiez que le service est bien présent. À ce stade, le statut par défaut est désactivé. Pour les utilisateurs de RHEL, Fedora ou Rocky Linux, sachez que Firewalld est le pare-feu natif privilégié. L’installation d’UFW sur ces systèmes via le dépôt EPEL est possible, mais le mélange des deux outils crée des conflits de configuration.

Sécuriser l’accès SSH avec UFW avant d’activer votre pare-feu

L’étape critique avant toute activation d’un pare-feu distant est d’autoriser explicitement vos connexions SSH. Sans cette précaution, l’activation du pare-feu avec une politique restrictive vous coupera immédiatement l’accès à votre serveur.

Pour autoriser votre port SSH actuel, commencez par le port 22 si vous utilisez la configuration par défaut :

Debian
sudo ufw allow 22/tcp

Si vous utilisez un port personnalisé comme le 2222, adaptez la commande ci-dessous. L’ajout d’un commentaire facilite grandement la maintenance future de vos règles :

Debian
sudo ufw allow 2222/tcp comment 'SSH admin'

Pour prévenir les attaques par force brute, il est préférable de limiter les tentatives de connexion plutôt que de simplement les autoriser. Utilisez la commande suivante :

Debian
sudo ufw limit 22/tcp

Cette règle autorise 6 connexions sur une période de 30 secondes, bloquant temporairement les adresses IP suspectes qui tenteraient une intrusion.

Pour renforcer davantage cette protection contre les attaques par force brute, vous pouvez également bannir automatiquement des adresses IP avec Fail2Ban.

Enfin, avant de valider l’activation, contrôlez la file d’attente des règles pour vous assurer que la configuration est correcte :

Debian
sudo ufw show added

Vérifiez que la ligne correspondant à votre port SSH est bien présente dans la liste avant de poursuivre.

Configurer et activer les règles de base du pare-feu UFW

Pour sécuriser efficacement votre serveur, vous devez appliquer une politique de privilège minimum. Cela signifie que tout flux entrant non explicitement autorisé sera systématiquement bloqué, alors que les flux sortants demeureront autorisés pour permettre les mises à jour des paquets ainsi que la communication du serveur vers l’extérieur.

Définissez les règles par défaut en saisissant les commandes suivantes dans votre terminal :

Debian
sudo ufw default deny incoming
sudo ufw default allow outgoing

Activez maintenant le pare-feu en utilisant la commande d’activation :

Debian
sudo ufw enable

Le système vous demandera une confirmation, car l’activation peut interrompre les connexions existantes si elles n’ont pas été correctement autorisées au préalable. Une fois l’opération terminée, vérifiez le statut complet de votre pare-feu :

Debian
sudo ufw status verbose

Voici un exemple du résultat attendu lors de la vérification du statut :

Debian
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)

Vous devriez voir un statut actif accompagné de votre règle SSH listée. Si jamais vous perdez votre connexion, utilisez une console d’accès de secours telle qu’une console cloud ou un accès physique, puis exécutez la commande sudo ufw disable pour annuler immédiatement les blocages et désactiver totalement le pare-feu.

Gérer et configurer vos règles de pare-feu avec UFW

Une fois que UFW est actif sur votre système, vous avez la possibilité d’ouvrir ou de fermer des ports selon les besoins spécifiques de vos services. Le pare-feu utilise pour cela les noms définis dans le fichier /etc/services ou directement les numéros de ports.

Ouvrir des ports et autoriser des services avec UFW

Pour ouvrir un accès à un serveur web, vous pouvez utiliser le nom du service ou le numéro du port concerné.

Debian
sudo ufw allow http
sudo ufw allow https

Autoriser une plage de ports TCP et UDP avec UFW

Certains services comme le streaming ou le transfert de données nécessitent l’utilisation de plusieurs ports. Vous pouvez autoriser une plage complète de ports pour ces usages.

Debian
sudo ufw allow 2000:3000/tcp
sudo ufw allow 2000:3000/udp

Restreindre les connexions par adresse IP

La sécurité implique parfois de restreindre l’accès à une seule adresse IP de confiance. Vous pouvez par exemple autoriser une base de données MySQL uniquement depuis une IP interne spécifique.

Debian
sudo ufw allow from 192.168.1.200 to any port 3306 proto tcp

Supprimer facilement une règle de votre pare-feu UFW

Lorsque vous souhaitez supprimer une règle devenue inutile, vous devez impérativement identifier son numéro au préalable.

Debian
sudo ufw status numbered

Repérez le numéro de la règle que vous désirez retirer puis exécutez la commande de suppression en indiquant ce numéro. Si vous souhaitez supprimer la troisième règle par exemple, vous utiliserez la commande suivante.

Debian
sudo ufw delete 3

Gardez à l’esprit que le numéro d’une règle change à chaque suppression. Après avoir validé une opération de retrait, relancez systématiquement la commande sudo ufw status numbered avant de tenter une nouvelle suppression afin d’éviter toute erreur de manipulation.

Diagnostiquer et résoudre les problèmes de votre pare-feu

Si un service ne fonctionne pas comme prévu, la première étape consiste à inspecter les journaux générés par UFW. Vous pouvez activer la journalisation en définissant le niveau sur medium pour obtenir davantage de détails.

Debian
sudo ufw logging medium

Pour lire ces logs en temps réel et surveiller les événements, utilisez la commande suivante.

Debian
sudo tail -f /var/log/ufw.log

Les entrées marquées [UFW BLOCK] dans ces fichiers vous indiquent quel trafic est actuellement refusé par le système. Si vous commettez une erreur majeure de configuration, vous avez la possibilité de réinitialiser l’intégralité du pare-feu avec la commande sudo ufw reset. Cette action supprime toutes vos règles personnalisées et désactive UFW, ce qui vous permet de repartir sur une configuration saine depuis le début.

Voici un tableau récapitulatif des commandes essentielles pour assurer la maintenance de votre pare-feu.

BesoinCommande
Voir l’état completsudo ufw status verbose
Lister les règles numérotéessudo ufw status numbered
Voir les règles en attentesudo ufw show added
Désactiver le pare-feusudo ufw disable
Réinitialisation totalesudo ufw reset

Votre serveur est maintenant protégé. N’oubliez pas qu’un pare-feu n’est qu’une couche de sécurité, il doit être couplé à une mise à jour régulière de vos paquets et à une gestion stricte des clés SSH.