Sur les serveurs Linux, UFW simplifie la gestion des règles complexes iptables pour SSH, HTTP, HTTPS et ports personnalisés. Cet outil firewall rend la sécurisation des accès rapide et fiable, notamment sur Ubuntu et Debian. Avec UFW, vous pouvez bloquer par défaut le trafic entrant, autoriser uniquement les services nécessaires, limiter les essais infructueux et définir des autorisations par IP. Pour débuter en sécurité, la méthode recommandée est : garantir l’accès SSH, refuser le trafic entrant par défaut, autoriser le trafic sortant, ouvrir seulement les ports utilisés et vérifier l’état d’UFW régulièrement.
Dès qu’un serveur web est exposé à Internet, il est ciblé par des scans bots, essais de mot de passe, scanners de vulnérabilité et sondages de ports inutiles. C’est pourquoi le pare-feu constitue le premier rempart de sécurité sur Linux. UFW est apprécié par les équipes techniques pour sa simplicité : commandes lisibles, ajout/suppression rapide de règles, journalisation intégrée et moins de risques de mauvaise configuration comparé à iptables. Ce guide détaille pas à pas l’installation d’UFW, les commandes essentielles, la prévention du blocage SSH, l’ouverture des ports web, les autorisations IP, la vérification des logs, la gestion IPv6, les particularités Docker et les bonnes pratiques de sécurité conformes aux standards 2026.
Qu’est-ce qu’UFW et à quoi sert-il ?
UFW signifie “Uncomplicated Firewall”, soit “pare-feu simplifié”. Il exploite la couche de filtrage de paquets du noyau Linux, mais propose au sysadmin des commandes bien plus intuitives. Par exemple, au lieu d’écrire des règles iptables ou nftables, il suffit d’un sudo ufw allow 443/tcp pour autoriser le trafic HTTPS.
UFW est particulièrement utile dans les situations suivantes :
- Mettre rapidement en place la sécurité réseau sur un VPS ou serveur dédié fraîchement installé.
- Limiter l’ouverture des ports à seulement 80 et 443 sur un serveur web.
- Restreindre l’accès SSH à certaines adresses IP uniquement.
- Limiter les tentatives bruteforce sur SSH grâce à la gestion des connexions.
- Ne pas exposer en permanence les environnements de test, staging ou les panels d’administration.
- Suivre les connexions suspectes via les logs.
UFW ne règle pas tous les problèmes de sécurité, mais réduit la surface d’attaque. Combiné à des mots de passe forts, l’accès SSH par clé, des mises à jour régulières, la configuration SSL/TLS et la sécurité applicative, il constitue une base solide. Si vous hébergez un site web, n’oubliez pas de coupler le pare-feu à un certificat SSL certificats SSL.
Comparatif UFW, iptables et firewalld
Sur Linux, plusieurs outils existent pour gérer le pare-feu. UFW, iptables et firewalld répondent au même besoin mais diffèrent en facilité d’utilisation, support des distributions et approche de gestion. Ce tableau vous aidera à choisir :
| Outil | Avantages | Pour qui ? | Points d’attention |
|---|---|---|---|
| UFW | Commandes simples, installation rapide, compatibilité Ubuntu/Debian | Utilisateurs VPS, développeurs web, petites/moyennes équipes | Limité pour la segmentation réseau avancée |
| iptables | Contrôle granulaire des règles | Admins système expérimentés | Une mauvaise règle peut couper l’accès au serveur |
| firewalld | Zones, gestion dynamique des règles | Environnements CentOS, AlmaLinux, Rocky Linux | Moins lisible qu’UFW ; nécessite de comprendre les zones |
Si vous gérez un serveur web Ubuntu, UFW suffit généralement. Sur des infrastructures d’entreprise ou architectures multi-couches, combinez UFW avec des groupes de sécurité cloud, WAF, IDS/IPS et une solution de logs centralisée.
Installation et premiers contrôles UFW
UFW est souvent préinstallé sur Ubuntu. Vérifiez sa présence avec sudo ufw status. Si “command not found” apparaît, installez-le.
Installation sur Ubuntu et Debian
Mettez à jour votre liste de paquets : sudo apt update. Installez UFW : sudo apt install ufw -y. Vérifiez son état : sudo systemctl status ufw. UFW peut rester inactif tant que les règles ne sont pas appliquées, c’est normal.
Prudence : sur un VPS distant, assurez-vous d’autoriser le port SSH avant d’activer UFW, sinon vous risquez de perdre l’accès au serveur. Si vous utilisez un VPS Hostragons, notez votre accès panel et options console avant toute configuration initiale serveur VPS.
Afficher l’état
Pour un état détaillé, utilisez sudo ufw status verbose. Pour voir la liste numérotée des règles : sudo ufw status numbered. Cela facilite la suppression d’une règle : repérez son numéro, puis sudo ufw delete 3 par exemple.
Démarrage sécurisé : règles par défaut
La méthode la plus sûre pour un nouveau serveur Linux est : refuser les connexions entrantes par défaut, autoriser les sorties, ouvrir uniquement les ports nécessaires. Ce principe s’aligne sur le principe du moindre privilège.
Commandes essentielles :
sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow OpenSSHousudo ufw allow 22/tcpsudo ufw enablesudo ufw status verbose
Attention au port SSH : si vous en utilisez un autre (ex. 2222), autorisez-le (sudo ufw allow 2222/tcp) avant d’activer UFW. Changer le port par défaut (22) ne suffit pas à sécuriser SSH, mais cela réduit les scans automatiques. L’essentiel est de désactiver l’accès par mot de passe et utiliser une clé SSH.
Sécuriser l’accès SSH
SSH est la porte d’entrée administrative de votre serveur, donc la configuration UFW doit être irréprochable sur ce point. Si SSH est ouvert à tous, les robots Internet tenteront votre accès en quelques minutes.
Autoriser le port SSH
Si vous restez sur le port standard : sudo ufw allow 22/tcp. Si un profil OpenSSH est disponible : sudo ufw allow OpenSSH. Pour un port personnalisé (ex. 2222) : sudo ufw allow 2222/tcp.
Restreindre SSH à une IP
La méthode la plus sûre : ouvrir SSH uniquement à l’IP du gestionnaire. Par exemple, pour l’IP 203.0.113.10 : sudo ufw allow from 203.0.113.10 to any port 22 proto tcp. SSH n’est alors plus exposé à Internet.
Ajoutez une règle par IP si vous avez plusieurs administrateurs. Attention avec les IP dynamiques : en cas de changement, vous pourriez perdre l’accès. Pour cela, privilégiez la gestion via VPN, bastion host ou accès console en urgence.
Limiter les tentatives bruteforce SSH
UFW propose la commande limit pour freiner les connexions répétées : sudo ufw limit 22/tcp. Cette règle limite les essais excessifs, mais ne remplace pas un outil comme fail2ban. En production, combinez UFW limit, fail2ban, clés SSH et politiques de mot de passe strictes.
Ouvrir les ports web : HTTP et HTTPS
Pour publier un site web, il faut ouvrir les ports 80/tcp (HTTP) et 443/tcp (HTTPS). Aujourd’hui, HTTPS est la norme pour la sécurité navigateur, le SEO et la confiance utilisateur. Un site sans SSL perd en crédibilité et peut voir son taux de conversion chuter certificats SSL.
Règles pour Nginx ou Apache
HTTP : sudo ufw allow 80/tcp. HTTPS : sudo ufw allow 443/tcp. Il est recommandé de les écrire séparément pour une meilleure lisibilité.
UFW propose aussi des profils d’application. Pour Nginx, listez-les avec sudo ufw app list. Le profil “Nginx Full” autorise HTTP et HTTPS (sudo ufw allow Nginx Full). Pour Apache, utilisez “Apache Full”.
Est-ce suffisant d’ouvrir uniquement HTTPS ?
En théorie, votre site peut fonctionner uniquement en HTTPS. Mais pour renouveler un certificat Let’s Encrypt ou gérer la redirection HTTP vers HTTPS, il faut souvent garder le port 80 ouvert. Gérez les deux ports et redirigez tout le trafic HTTP en HTTPS (301) côté application.
Ports spécifiques, bases de données et panels d’administration
Ouvrir un port est facile, le vrai savoir-faire est de savoir lesquels ne pas ouvrir. Les ports MySQL (3306), PostgreSQL (5432), Redis (6379), Elasticsearch (9200) posent de gros risques s’ils sont accessibles publiquement. Ces services doivent idéalement écouter sur localhost ou réseau privé.
Autoriser un port à une IP spécifique
Si seul votre serveur applicatif doit accéder à la base de données, utilisez une règle IP dédiée : sudo ufw allow from 198.51.100.25 to any port 5432 proto tcp. Cela limite l’accès PostgreSQL à l’IP indiquée.
Évitez d’utiliser sudo ufw allow 5432/tcp sur une base de production, cela expose inutilement la base. Pour les bases de données, panels et services internes, pensez toujours à limiter par IP source.
Attention avec cPanel, Plesk et panels de gestion
Les panels d’hébergement utilisent de nombreux ports. Avant d’activer UFW, vérifiez la liste officielle pour Plesk, cPanel ou tout autre panel, sinon vous risquez de bloquer email, DNS, FTP ou l’accès au panel. Sur un hébergement managé, le fournisseur gère généralement cette complexité Hébergement Web.
Suppression, modification et ordre des règles
La gestion des règles UFW est simple, mais il est vital de documenter les changements en production. Affichez d’abord les règles numérotées : sudo ufw status numbered. Identifiez le numéro et supprimez la règle : sudo ufw delete 5.
Il est aussi possible de supprimer une règle par son expression (sudo ufw delete allow 8080/tcp), mais pour les règles IP complexes, la suppression par numéro est plus sûre.
L’ordre des règles est crucial, surtout quand vous combinez allow et deny. Pour refuser une IP avant une règle générale, utilisez insert : sudo ufw insert 1 deny from 203.0.113.55. Pratique pour bloquer rapidement un IP suspect ou abusif.
Surveillance du trafic avec les logs UFW
Le pare-feu ne sert pas qu’à ouvrir/fermer des ports, il aide aussi à analyser le comportement réseau. Pour activer les logs : sudo ufw logging on. Le niveau peut être réglé sur low, medium, high ou full. Pour commencer, low suffit généralement.
Consultez les logs dans /var/log/ufw.log (sudo tail -f /var/log/ufw.log). Vous y verrez les connexions refusées, IP source, ports ciblés et protocoles. Si vous voyez des dizaines d’essais sur le port 22 en peu de temps, renforcez la sécurité SSH.
Maintenir les logs en niveau élevé peut consommer beaucoup d’espace disque. Pour les serveurs à fort trafic, pensez à la rotation des logs, à la centralisation et aux alertes. En entreprise, l’important n’est pas juste de stocker les logs mais de les surveiller intelligemment.
Paramétrage IPv6 avec UFW
En 2026, l’IPv6 est devenu standard dans de nombreux datacenters. Pourtant, certains admins ne gèrent que les règles IPv4 et exposent leur serveur. Si votre serveur possède une adresse IPv6, vérifiez qu’UFW la prend en charge.
Dans /etc/default/ufw, la ligne IPV6=yes doit être présente. Après modification, redémarrez UFW : sudo ufw disable puis sudo ufw enable. Si vous voyez “v6” dans ufw status, l’IPv6 est géré.
Si vous n’utilisez pas IPv6, ne le désactivez pas sans vérifier besoins applicatifs et fournisseur. Une mauvaise configuration peut laisser un service accessible sur IPv6 alors qu’il est fermé sur IPv4, une faille courante mais souvent ignorée.
Comportement particulier d’UFW avec Docker
Docker modifie directement les règles iptables lorsqu’il publie les ports des containers. Cela peut surprendre : un port fermé dans UFW peut devenir accessible suite à un docker run -p 8080:80, qui publie le port 80 du container sur le port 8080 du host.
Sur un serveur Docker, vérifiez :
- Les ports exposés via
docker ps. - Supprimez les définitions
-pinutiles. - Publiez les services uniquement sur
127.0.0.1si possible. - Contrôlez à la fois les règles UFW et les groupes de sécurité cloud.
- En production, utilisez un reverse proxy pour exposer les services de façon maîtrisée.
La sécurité en architecture container n’est pas qu’une affaire de commandes UFW. Planifiez aussi la sécurité réseau Docker, la gestion des images, des secrets et des mises à jour. Pour les applications à fort trafic, choisissez un serveur adapté pour la sécurité et la performance Serveur dédié.
Checklist sécurité UFW à appliquer
Voici une checklist pratique pour un serveur Linux fraîchement installé. Avant de lancer un projet web, API, e-commerce ou portail client, vérifiez ces points pour limiter les interruptions et risques :
- Mettez à jour le serveur :
sudo apt update && sudo apt upgrade -y. - Testez l’accès SSH et ouvrez une seconde session en cas de problème.
- Refusez le trafic entrant par défaut :
sudo ufw default deny incoming. - Autorisez le trafic sortant par défaut :
sudo ufw default allow outgoing. - Autorisez le port SSH ou limitez-le par IP.
- Ouvrez seulement les ports 80 et 443 pour le serveur web.
- N’ouvrez jamais les ports de base de données sur Internet.
- Activez UFW :
sudo ufw enable. - Vérifiez les règles :
sudo ufw status verbose,sudo ufw status numbered. - Activez la journalisation et surveillez le trafic suspect dans les 24h.
- Contrôlez les règles IPv6.
- Testez les effets des ports si vous utilisez Docker ou des panels.
Exemple concret : configuration UFW pour un serveur WordPress
Supposons un WordPress unique sur Ubuntu, avec Nginx, PHP-FPM et MySQL (écoute sur localhost), site en HTTPS et accès SSH restreint à une IP admin. Voici la configuration UFW :
sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow from 203.0.113.10 to any port 22 proto tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw logging onsudo ufw enablesudo ufw status verbose
Dans cette configuration, SSH n’est pas ouvert à tous, seuls les ports web sont accessibles, la base de données reste privée. Côté WordPress, ajoutez des plugins de sécurité, un mot de passe admin fort, thèmes/extensions à jour, backups réguliers et SSL pour une base robuste. La gestion du nom de domaine et des enregistrements DNS est aussi cruciale pour l’accessibilité Vérification de domaine.
Erreurs fréquentes et solutions
Perte d’accès SSH après activation UFW
Souvent causé par l’activation d’UFW sans autoriser le port SSH. Si vous avez accès console via le panel fournisseur, reconnectez-vous et ajoutez sudo ufw allow 22/tcp (ou le port utilisé). Sinon, contactez le support. Toujours autoriser SSH avant d’activer UFW.
Le site web ne s’affiche pas
Si Nginx ou Apache tourne mais que les ports 80/443 sont fermés, le site est inaccessible. Vérifiez sudo ufw status verbose. Contrôlez aussi le port d’écoute du serveur (ss -tulpn) et les enregistrements DNS Gestion DNS.
Les services mail ne fonctionnent pas
Les serveurs mail utilisent plusieurs ports (SMTP, IMAP, POP3 et variantes sécurisées : 25, 465, 587, 993, 995...). Selon votre solution, il n’est pas toujours nécessaire d’ouvrir ces ports sur votre serveur hébergement de messagerie professionnelle.
Une règle ajoutée n’a pas d’effet
Protocole incorrect, mauvais port, interaction Docker, groupe de sécurité cloud ou application qui écoute sur un autre port possible. UFW gère le filtrage réseau ; si l’application ne tourne pas, le port ouvert ne suffit pas. Contrôlez à la fois le pare-feu, l’état du service et les règles réseau du fournisseur.
Meilleures pratiques UFW pour 2026
La sécurité serveur ne se limite pas à fermer quelques ports. En 2026, une bonne configuration UFW doit respecter ces principes :
- Moindre privilège : n’ouvrez que les ports strictement nécessaires.
- Sécurité d’authentification : accès SSH uniquement par clé.
- Restriction IP : mettez les ports admin derrière une IP fixe ou un VPN.
- Observabilité : surveillez régulièrement les logs UFW et système.
- Plan de secours : gardez un accès console ou une procédure récupération en cas de mauvaise règle.
- Sécurité multi-couche : combinez UFW avec WAF, SSL, mises à jour, backups et sécurité applicative.
- Documentation : consignez chaque règle et sa justification dans l’équipe.
Un pare-feu bien configuré complète une infrastructure d’hébergement performante et fiable. Avec la croissance de votre projet, pensez à gérer l’utilisation des ressources, backups, CDN, SSL et monitoring en plus des règles de ports Packs d'hébergement.
FAQ : questions fréquentes
Activer UFW rend-il mon serveur totalement sécurisé ?
Non. UFW réduit la surface d’attaque en fermant les ports inutiles, mais ne suffit pas seul. Combinez-le avec mises à jour, clés SSH, mots de passe forts, SSL, backups et sécurité applicative.
Ouvrir les ports 80 et 443 est-il suffisant ?
Pour un site web, 80 et 443 sont essentiels. Mais il faut aussi ouvrir le port SSH (22 ou personnalisé) de façon sécurisée. Les ports de bases de données et panels doivent être limités par IP.
Changer le port SSH augmente-t-il la sécurité ?
Changer le port SSH réduit les scans automatiques, mais ce n’est pas une vraie mesure de sécurité. Privilégiez les clés SSH, désactivez le mot de passe, limitez par IP et utilisez UFW limit ou fail2ban.
Les règles UFW contrôlent-elles les containers Docker ?
Pas toujours comme attendu. Docker modifie directement iptables lors de la publication des ports. Vérifiez docker ps, les ports exposés et les règles UFW ensemble si vous utilisez Docker.
Dois-je vérifier la configuration IPv6 avec UFW ?
Oui. Si votre serveur possède une adresse IPv6, assurez-vous qu’UFW gère aussi ce trafic. Contrôlez IPV6=yes dans /etc/default/ufw et la présence de règles v6 dans l’état UFW.
En résumé, avec UFW sur Linux, la gestion du pare-feu est rapide, lisible et efficace. En appliquant les bonnes règles de départ, en sécurisant SSH, en ouvrant les ports web de façon maîtrisée et en surveillant les logs, vous réduisez considérablement les risques. Pour tout nouveau projet, pensez à une infrastructure d’hébergement sécurisée, SSL et une maintenance régulière pour assurer la pérennité. Pour choisir la solution adaptée, découvrez les offres Hostragons et faites évoluer votre configuration sécurité selon vos objectifs de croissance.