Ouvrir ou fermer un port avec UFW sous Ubuntu : les commandes à appliquer sans se bloquer

Ouvrir ou fermer un port avec UFW sous Ubuntu : les commandes à appliquer sans se bloquer
Pour ouvrir un port UFW Ubuntu, utilisez sudo ufw allow <port>/tcp ou sudo ufw allow <port>/udp, par exemple sudo ufw allow 80/tcp pour HTTP. Sur un serveur distant, autorisez SSH avant d’activer le pare-feu afin de conserver votre accès d’administration.
UFW est un utilitaire en ligne de commande qui simplifie la configuration du pare-feu Netfilter sous Ubuntu. Ce tutoriel montre comment vérifier l’état du pare-feu Ubuntu, autoriser ou bloquer un port, supprimer une règle et contrôler le résultat sans ouvrir inutilement votre serveur.
Sommaire
En bref
🔒 Une règle UFW filtre le trafic réseau entrant ou sortant. Le pare-feu n’ouvre pas un service : il autorise seulement son accès réseau.
📄 Avant sudo ufw enable sur un serveur distant, créez une règle SSH avec sudo ufw allow ssh. Cette précaution évite une coupure de la session distante.
⚙️ Pour un site web, la syntaxe utile est sudo ufw allow 80/tcp pour HTTP. Le protocole TCP ou UDP doit correspondre au service réellement utilisé.
🔍 La commande sudo ufw status numbered affiche les règles avec leur numéro. Une règle peut ensuite être retirée avec sudo ufw delete <numéro>.
À quoi sert UFW pour gérer les ports Ubuntu ?
UFW signifie « Uncomplicated Firewall ». UFW est une interface de pare-feu qui permet de définir des règles réseau lisibles, notamment pour accepter ou refuser des connexions vers un port précis. Un port est un point d’entrée logique utilisé par un service ; HTTP utilise couramment le port 80, tandis que SSH utilise couramment le port 22.

Une règle UFW autorise ou bloque un flux ; elle ne démarre pas le logiciel qui doit recevoir la connexion. Une règle autorisant le port 80 ne rend donc pas un serveur web disponible si aucun service HTTP n’écoute sur la machine.
| Élément | Rôle | Exemple UFW | Point de vigilance |
|---|---|---|---|
| Port | Identifie le point d’accès d’un service | 80 |
Le numéro seul ne précise pas toujours le protocole. |
| TCP | Protocole orienté connexion | allow 80/tcp |
À utiliser si le service attend du TCP. |
| UDP | Protocole sans connexion établie | allow 53/udp |
À utiliser seulement si le service attend de l’UDP. |
| Service | Nom associé à un port dans /etc/services |
allow ssh |
Le nom doit correspondre à un service connu du système. |
UFW est généralement présent sur Ubuntu. Si la commande n’existe pas, installez le paquet avec la commande suivante :
sudo apt install ufw
La page de manuel UFW publiée dans la documentation Ubuntu décrit la syntaxe des règles et les options disponibles. L’interface peut évoluer selon la version d’Ubuntu, mais les commandes de base présentées ici restent celles documentées par UFW.
Comment vérifier et activer UFW sans perdre l’accès SSH ?
Pour vérifier UFW, exécutez sudo ufw status. Si UFW est inactif, autorisez d’abord SSH sur un serveur administré à distance, définissez les règles par défaut, puis activez le pare-feu avec sudo ufw enable. Gardez la session SSH actuelle ouverte jusqu’au test depuis une seconde connexion.
Étape 1 : afficher l’état actuel du pare-feu
Commencez par observer la configuration existante. La commande suivante indique si UFW est actif et affiche les règles actuellement appliquées :
sudo ufw status
Le résultat attendu est soit Status: inactive, soit une liste de règles autorisées ou refusées. UFW est désactivé par défaut dans de nombreuses installations Ubuntu, ce qui signifie qu’aucune règle UFW n’est encore appliquée.
Étape 2 : autoriser SSH avant toute activation distante
Une session SSH dépend habituellement du port 22. Autorisez le service SSH avant l’activation d’UFW si vous administrez un VPS, un serveur domestique ou une machine distante :
sudo ufw allow ssh
La syntaxe explicite suivante produit le même type de règle pour le port SSH standard :
sudo ufw allow 22/tcp
Sur un serveur distant, l’autorisation SSH doit précéder l’activation du pare-feu : une règle oubliée peut interrompre l’accès d’administration.
Étape 3 : définir les règles par défaut et activer UFW
La politique prudente consiste à refuser les connexions entrantes qui ne correspondent à aucune règle, tout en laissant passer les connexions sortantes. Appliquez ces commandes, puis activez UFW :
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
Une fois UFW activé, testez une nouvelle connexion SSH depuis une autre machine avant de fermer la session déjà ouverte. Cette vérification distingue une règle théoriquement correcte d’un accès réellement fonctionnel.
Comment ouvrir un port avec UFW sous Ubuntu ?
Pour autoriser un port UFW Ubuntu, indiquez l’action allow, le numéro du port et le protocole attendu par le service. La commande sudo ufw allow 80/tcp autorise par exemple les connexions HTTP entrantes en TCP. Vérifiez ensuite la règle affichée par UFW avant de tester le service depuis une autre machine.

allow, puis contrôlez son affichage avec ufw status.Étape 1 : identifier le port et le protocole du service
Consultez la documentation du logiciel que vous souhaitez publier. Un service peut utiliser TCP, UDP ou les deux. HTTP est habituellement associé au port 80 en TCP ; une règle 80/udp ne répondrait pas à un serveur HTTP classique.
TCP: à préciser pour un service qui attend des connexions TCP.UDP: à préciser pour un service qui attend des paquets UDP.- Sans suffixe de protocole : UFW peut créer une règle plus large selon la syntaxe employée ; précisez donc le protocole lorsque vous le connaissez.
Étape 2 : autoriser un port TCP précis
Pour ouvrir le port HTTP 80 en TCP, exécutez la commande suivante :
sudo ufw allow 80/tcp
Pour un port applicatif personnalisé, remplacez 80 par le port documenté par votre logiciel. La règle doit rester minimale : n’autorisez pas un port « pour tester » sans savoir quel service l’utilise.
Étape 3 : autoriser un port UDP ou un service nommé
Pour ouvrir un port UDP, conservez la même structure et remplacez le protocole. L’exemple suivant autorise le port 53 en UDP :
sudo ufw allow 53/udp
UFW connaît aussi certains noms de services déclarés dans /etc/services. L’autorisation SSH peut donc être écrite avec sudo ufw allow ssh, une notation plus lisible que le numéro de port lorsque le nom est sans ambiguïté.
Étape 4 : ouvrir une plage ou restreindre une adresse IP
Une plage de ports est utile seulement lorsqu’un logiciel l’exige explicitement. La commande suivante autorise les ports TCP de 30120 à 30130 :
sudo ufw allow 30120:30130/tcp
Pour limiter l’accès à une machine identifiée, créez une règle fondée sur son adresse IP plutôt qu’une ouverture générale :
sudo ufw allow from 192.0.2.10
L’adresse 192.0.2.10 est réservée à la documentation et sert ici d’exemple. Remplacez-la par l’adresse réellement autorisée, après avoir vérifié qu’elle est stable et qu’elle correspond à la machine attendue.
Comment fermer un port ou supprimer une règle UFW ?
Pour fermer un port Ubuntu déjà autorisé, supprimez la règle d’autorisation correspondante ou ajoutez une règle de refus explicite si votre politique le nécessite. La méthode la moins ambiguë consiste à afficher les règles numérotées, puis à supprimer le numéro exact. Vérifiez la liste une seconde fois : les numéros changent après une suppression.
Étape 1 : afficher les règles avec leur numéro
Utilisez la commande suivante avant toute suppression :
sudo ufw status numbered
UFW affiche chaque règle précédée d’un numéro entre crochets. Notez le numéro de la règle qui autorise le port concerné, en contrôlant à la fois le port, le protocole et, le cas échéant, l’adresse IP source.
Étape 2 : supprimer la règle d’autorisation
Pour supprimer une règle numérotée, remplacez <numéro> par la valeur observée dans la liste :
sudo ufw delete <numéro>
Par exemple, si la règle HTTP apparaît sous le numéro 3, la commande est sudo ufw delete 3. Relancez immédiatement sudo ufw status numbered : ce contrôle confirme que la règle n’est plus présente.
Étape 3 : refuser explicitement un port si nécessaire
Une règle de refus explicite peut être utile pour documenter une interdiction attendue dans une configuration comportant plusieurs règles. Pour bloquer le port 80 en TCP, utilisez :
sudo ufw deny 80/tcp
Une règle deny n’est pas un substitut à une configuration lisible : supprimez d’abord les autorisations devenues inutiles. Une liste de règles contradictoires devient difficile à auditer et augmente le risque de modification involontaire.
Comment vérifier qu’un port est réellement ouvert ou fermé ?
La commande sudo ufw status verbose vérifie la politique UFW et les règles appliquées, mais elle ne prouve pas qu’un service répond sur le réseau. Pour confirmer un port ouvert, contrôlez la règle, vérifiez que le logiciel écoute localement, puis testez depuis une autre machine autorisée.
Consulter le détail des règles
La commande suivante ajoute les politiques par défaut et d’autres informations utiles à l’audit :
sudo ufw status verbose
La commande sudo ufw status numbered reste préférable avant une suppression, car elle affiche les numéros exploitables par ufw delete. Ces deux vues répondent à des besoins différents : l’une décrit la politique, l’autre facilite la maintenance.
Tester depuis un autre poste
Un test externe doit être réalisé depuis une machine qui représente le client réel : poste d’administration, réseau interne ou hôte autorisé. Une connexion réussie montre que le service répond et que le pare-feu laisse passer le flux ; un échec peut venir du service, de l’adresse ciblée, d’un autre pare-feu ou de la règle UFW.
Une configuration de messagerie web, par exemple, nécessite des ports cohérents avec le service publié. Pour les réglages côté utilisateur, consultez aussi le guide de configuration Roundcube webmail, qui traite des problèmes de connexion sans les confondre avec les règles du pare-feu.
Activer la journalisation pour diagnostiquer une règle
La journalisation UFW aide à repérer les événements du pare-feu lorsque le comportement observé ne correspond pas à la règle attendue. Activez-la avec :
sudo ufw logging on
La journalisation produit des traces à interpréter avec prudence : un événement bloqué ne suffit pas à expliquer toute une panne. Comparez toujours l’heure, l’adresse concernée, le port et la règle UFW avant de modifier une configuration.
Un port déclaré « autorisé » dans UFW n’est accessible que si le service fonctionne et si l’ensemble du chemin réseau laisse passer la connexion.
Erreurs fréquentes quand on ouvre ou ferme un port UFW
- Activer UFW avant d’autoriser SSH : la session distante peut devenir inaccessible. Créez d’abord la règle
allow sshet conservez la connexion actuelle pendant le test. - Confondre TCP et UDP : une règle peut exister tout en étant inutile pour le logiciel ciblé. Reprenez le protocole indiqué dans la documentation officielle du service.
- Ouvrir un port sans service actif : UFW ne lance aucun programme. Vérifiez la configuration du logiciel qui doit écouter sur le port.
- Supprimer une règle au mauvais numéro : les numéros sont réordonnés après chaque suppression. Exécutez
sudo ufw status numberedjuste avantsudo ufw delete. - Désactiver durablement le pare-feu pour dépanner : cette action masque le problème et élargit l’exposition réseau. Préférez une règle précise, testée et documentée.
Bonnes pratiques : UFW, iptables ou nftables ?
UFW convient à une administration courante sous Ubuntu lorsque l’objectif est d’écrire des règles simples, lisibles et faciles à vérifier. Les interfaces iptables et nftables permettent une gestion plus détaillée des règles Netfilter, mais elles demandent une compréhension plus fine de la configuration réseau et des chaînes de filtrage.
| Outil | Usage adapté | Limite pratique |
|---|---|---|
| UFW | Serveur Ubuntu avec règles simples par port, protocole ou IP | Moins adapté si la politique de filtrage doit être très spécialisée. |
| iptables | Administration directe de règles historiques Netfilter | Syntaxe plus technique et risque accru de règles difficiles à maintenir. |
| nftables | Configurations réseau avancées fondées sur le cadre nftables | Demande une stratégie cohérente, sans superposer des règles incomprises. |
Évitez de modifier manuellement plusieurs couches de filtrage sans comprendre leur interaction. La recommandation pratique est simple : choisissez un outil principal, documentez chaque ouverture de port et vérifiez le résultat après chaque changement.
UFW prend aussi en charge IPv6 lorsque l’option IPV6=yes est définie dans /etc/default/ufw. Vérifiez cette option si votre serveur est accessible en IPv6, car une règle réseau doit couvrir les protocoles réellement utilisés par vos clients.
Les utilisateurs qui explorent plusieurs environnements Linux peuvent retrouver des outils différents selon la distribution. Le fonctionnement général est présenté dans ce guide pour comprendre Manjaro Linux, mais les commandes de pare-feu ne doivent jamais être copiées d’une distribution à une autre sans vérification.
Sources utiles à consulter
- Page de manuel UFW pour Ubuntu : syntaxe des règles
allow,deny,delete, journalisation et options de statut. - Documentation de sécurité Ubuntu Server : repères généraux pour la mise en place d’un pare-feu sur un serveur Ubuntu.
À retenir
- 🔒 Autorisez SSH avant d’activer UFW sur une machine administrée à distance.
- ⚙️ Utilisez
allow port/protocolepour ouvrir uniquement le flux nécessaire. - 🔍 Contrôlez les règles avec
status verboseetstatus numbered. - 📄 Supprimez une autorisation obsolète avec son numéro après vérification.
- ✅ Testez toujours l’accès depuis une autre machine avant de fermer votre session SSH.
Questions fréquentes sur les ports UFW
Comment ouvrir rapidement un port avec UFW ?
Utilisez sudo ufw allow <port>/tcp pour un service TCP. Pour HTTP, la commande est sudo ufw allow 80/tcp. Vérifiez ensuite la présence de la règle avec sudo ufw status.
Comment fermer un port avec UFW ?
Affichez les règles avec sudo ufw status numbered, puis supprimez celle qui autorise le port avec sudo ufw delete <numéro>. Une règle de refus explicite peut aussi être créée avec sudo ufw deny <port>/tcp.
Faut-il préciser TCP ou UDP dans une commande UFW ?
Préciser TCP ou UDP évite d’autoriser un protocole inutile. Consultez la documentation du service concerné, puis utilisez par exemple 80/tcp pour HTTP ou 53/udp pour un service qui attend de l’UDP.
Comment voir les règles actives du pare-feu Ubuntu ?
La commande sudo ufw status affiche l’état général et les règles. Ajoutez verbose pour consulter les politiques par défaut, ou numbered pour obtenir les numéros nécessaires à la suppression d’une règle.
Peut-on réinitialiser complètement UFW ?
Oui. La commande sudo ufw reset réinitialise les règles UFW. Cette action retire la configuration existante : vérifiez les accès indispensables, notamment SSH, avant de reconstruire les règles et de réactiver le pare-feu.