configurer UFW VPS LinuxVPS Linux··9 min de lecture·Par l'équipe OmegaCloud

Comment configurer un pare-feu UFW sur un VPS Linux

Illustration de l'article OmegaCloud : configurer UFW VPS Linux

Pour configurer UFW sur VPS Linux, il suffit de quelques commandes simples et de comprendre les principes de base du pare-feu. UFW (Uncomplicated Firewall) est l'interface de gestion de netfilter la plus accessible pour les administrateurs système sous Debian, Ubuntu et dérivés. Ce tutoriel vous guide pas à pas dans la configuration d'UFW sur votre serveur, avec des exemples concrets et des règles adaptées aux VPS Linux OmegaCloud.

UFW simplifie la gestion des règles iptables en proposant une syntaxe claire et des profils d'application prédéfinis. Il est particulièrement adapté aux VPS où vous devez sécuriser SSH, HTTP/HTTPS et d'autres services critiques sans risquer de vous verrouiller hors du serveur. Contrairement à iptables ou nftables, UFW masque la complexité des chaînes et tables tout en conservant la puissance du pare-feu kernel Linux.

Sur un OmegaCloud VPS SSD SAS avec accès root SSH, l'installation et la configuration d'UFW prennent moins de cinq minutes. Les datacenters premium incluent déjà une protection anti-DDoS volumétrique au niveau infrastructure, mais UFW reste indispensable pour filtrer les connexions entrantes au niveau applicatif et réduire la surface d'attaque de votre système.



Installation et activation d'UFW sur VPS Linux

Sur Ubuntu et Debian récents, UFW est généralement préinstallé. Pour les distributions Rocky Linux ou AlmaLinux disponibles sur OmegaCloud, vous devrez installer EPEL puis ufw via dnf. Voici la procédure selon votre distribution :

# Debian / Ubuntu
sudo apt update
sudo apt install ufw -y

# Rocky / AlmaLinux
sudo dnf install epel-release -y
sudo dnf install ufw -y

Avant d'activer UFW, vous devez impérativement autoriser SSH pour ne pas perdre l'accès à votre serveur. Par défaut, UFW bloque tout le trafic entrant et autorise tout le trafic sortant. Si vous activez le pare-feu sans règle SSH, vous serez verrouillé et devrez utiliser la console KVM du panel OmegaCloud pour récupérer l'accès.

# Autoriser SSH (port 22 par défaut)
sudo ufw allow 22/tcp

# Vérifier les règles avant activation
sudo ufw show added

# Activer UFW
sudo ufw enable

# Vérifier le statut
sudo ufw status verbose

La commande ufw status verbose affiche la politique par défaut (deny incoming, allow outgoing) et la liste des règles actives. Si vous utilisez un port SSH personnalisé (recommandé pour réduire les tentatives de brute-force), remplacez 22 par votre port customisé. Par exemple, si SSH écoute sur le port 2222 :

sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp

UFW se lance automatiquement au démarrage via systemd. Pour vérifier que le service est actif et persistent :

sudo systemctl status ufw
sudo systemctl enable ufw

Terminal Linux avec commandes UFW affichées sur fond sombre, lignes de code en vert phosphorescent typiques d'un shell SSH, reflet subtil sur écran mat dans une salle serveur faiblement éclairée en bleu


Configurer UFW VPS Linux : règles essentielles pour serveurs web et applications

Une fois SSH sécurisé, vous devez ouvrir les ports nécessaires à vos services. Pour un serveur web classique hébergé sur VPS Linux, les ports HTTP (80) et HTTPS (443) sont indispensables. UFW propose des profils d'application qui regroupent plusieurs ports :

# Autoriser HTTP et HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Ou utiliser le profil application
sudo ufw allow 'Nginx Full'
sudo ufw allow 'Apache Full'

Les profils d'application sont définis dans /etc/ufw/applications.d/. Vous pouvez lister les profils disponibles avec sudo ufw app list. Pour voir les ports couverts par un profil :

sudo ufw app info 'Nginx Full'

Si vous hébergez une base de données MySQL/MariaDB, PostgreSQL ou Redis, n'ouvrez jamais ces ports publiquement sauf si vous avez une architecture multi-serveurs. Dans ce cas, limitez l'accès à des adresses IP spécifiques :

# Autoriser MySQL uniquement depuis IP applicative
sudo ufw allow from 203.0.113.42 to any port 3306 proto tcp

# Autoriser PostgreSQL depuis sous-réseau privé
sudo ufw allow from 10.0.1.0/24 to any port 5432 proto tcp

Pour les services de monitoring (Prometheus, Grafana, Netdata), l'accès doit également être restreint. Vous pouvez limiter par IP ou par sous-réseau, voire configurer un VPN WireGuard pour isoler complètement l'accès administratif. Sur les VPS OmegaCloud avec réseau intra-datacenter, vous pouvez utiliser les adresses privées pour interconnecter vos serveurs sans exposer les services critiques.

Exemple de configuration UFW pour un stack LEMP (Linux, Nginx, MySQL, PHP-FPM) :

# SSH sur port custom
sudo ufw allow 2222/tcp

# Web public
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# MySQL local uniquement (pas de règle UFW nécessaire si bind-address=127.0.0.1)
# Monitoring depuis IP bureau
sudo ufw allow from 198.51.100.10 to any port 9100 proto tcp

# Activer logging
sudo ufw logging on

Le logging UFW enregistre les connexions bloquées dans /var/log/ufw.log. Cela permet de détecter les tentatives d'intrusion et d'ajuster vos règles. Attention, un logging trop verbeux peut générer des volumes importants sur un VPS sous attaque ; les datacenters OmegaCloud gèrent déjà la mitigation DDoS volumétrique en amont, réduisant la charge sur votre firewall applicatif.


Datacenter moderne avec rangées de serveurs à LED bleues et violettes, câbles de fibre optique organisés, allées éclairées par des bandes LED au sol, architecture réseau visible, ambiance high-tech professionnelle sans personnage


Règles avancées UFW : limitation de connexions et sécurisation SSH

UFW intègre un mécanisme de rate limiting pour limiter les connexions répétées depuis une même IP. C'est particulièrement utile pour protéger SSH contre les attaques par force brute. La règle limit bloque temporairement une IP qui tente plus de 6 connexions en 30 secondes :

# Remplacer allow par limit pour SSH
sudo ufw delete allow 2222/tcp
sudo ufw limit 2222/tcp

Cette protection basique est un complément à fail2ban, qui offre des fonctionnalités plus avancées (bannissement persistant, notifications, règles par service). Pour une sécurité maximale, combinez UFW limit avec fail2ban et l'authentification SSH par clé uniquement (désactiver PasswordAuthentication dans sshd_config).

Vous pouvez aussi créer des règles complexes avec commentaires pour documenter votre configuration :

# Autoriser SMTP sortant pour envoi d'emails
sudo ufw allow out 587/tcp comment 'SMTP submission sortant'

# Bloquer un sous-réseau spécifique
sudo ufw deny from 192.0.2.0/24 comment 'Blocage réseau suspect'

# Autoriser ICMP (ping) entrant
sudo ufw allow in proto icmp comment 'Ping diagnostique'

Pour visualiser les règles avec leurs numéros (utile pour suppression) :

sudo ufw status numbered

Supprimer une règle par numéro ou par spécification :

# Par numéro
sudo ufw delete 3

# Par spécification exacte
sudo ufw delete allow 80/tcp

Sur un environnement de production avec plusieurs VPS interconnectés, vous pouvez configurer UFW pour autoriser uniquement le trafic entre serveurs OmegaCloud via leurs IPs privées. Cela isole vos bases de données et services backend du réseau public :

# Sur serveur DB : autoriser MySQL uniquement depuis serveurs web
sudo ufw allow from 10.0.2.10 to any port 3306 proto tcp
sudo ufw allow from 10.0.2.11 to any port 3306 proto tcp

Pour des architectures microservices avec Docker ou Kubernetes, UFW peut entrer en conflit avec les règles iptables générées automatiquement par Docker. Dans ce cas, il est recommandé de laisser Docker gérer son propre réseau overlay et de configurer UFW uniquement sur l'hôte pour les services exposés directement (SSH, monitoring). La documentation officielle Ubuntu explique ces cas d'usage sur help.ubuntu.com/community/UFW.



Maintenance et dépannage UFW sur serveur VPS

Une fois configuré, UFW nécessite peu de maintenance. Cependant, lors de déploiements ou changements de services, vous devrez ajuster les règles. Voici les commandes de diagnostic essentielles :

# État détaillé avec numérotation
sudo ufw status numbered

# Réinitialisation complète (supprime toutes les règles)
sudo ufw reset

# Désactivation temporaire (pour test)
sudo ufw disable

# Réactivation
sudo ufw enable

# Vérifier la configuration brute iptables
sudo iptables -L -v -n

Si vous vous verrouillez hors du serveur, le panel OmegaCloud offre une console KVM accessible en un clic depuis le dashboard. Connectez-vous via la console virtuelle, désactivez UFW avec sudo ufw disable, puis reconfigurez les règles SSH correctement avant de réactiver.

Pour auditer les connexions bloquées, analysez le fichier de log :

sudo grep UFW /var/log/syslog | tail -50
# Ou selon la distribution
sudo tail -f /var/log/ufw.log

Les entrées typiques affichent [UFW BLOCK] avec l'IP source, le port destination et le protocole. Cela permet d'identifier les scans de ports et tentatives d'exploitation. Sur un VPS exposé publiquement, vous verrez des milliers de tentatives par jour ; c'est normal et attendu. L'anti-DDoS OmegaCloud filtre les attaques volumétriques en amont, UFW gère le filtrage applicatif des connexions légitimes mais non autorisées.

Pour automatiser la configuration UFW lors du provisioning de VPS, vous pouvez scripter l'ensemble des commandes dans un script bash exécuté au premier boot via cloud-init ou l'API OmegaCloud. Exemple de script de base :

#!/bin/bash
# Configuration UFW automatique pour VPS web

ufw --force reset
ufw default deny incoming
ufw default allow outgoing

# SSH personnalisé
ufw limit 2222/tcp

# Web
ufw allow 80/tcp
ufw allow 443/tcp

# Monitoring depuis IP fixe
ufw allow from 203.0.113.50 to any port 9100 proto tcp

ufw --force enable
ufw status verbose

Sauvegardez ce script dans votre repository Git et déployez-le via CI/CD lors de la création de nouveaux environnements. Les intégrations OmegaCloud permettent d'automatiser le provisionning avec des webhooks ou GitHub Actions, en appelant l'API pour créer le VPS puis exécuter le script de configuration firewall.



Conclusion

Configurer UFW sur VPS Linux est une étape indispensable pour sécuriser votre infrastructure cloud. En autorisant uniquement les ports nécessaires, en limitant SSH avec rate limiting et en combinant UFW avec fail2ban et l'authentification par clé, vous réduisez drastiquement la surface d'attaque. Sur les VPS OmegaCloud, la protection DDoS intégrée au datacenter complète efficacement votre firewall applicatif pour une défense en profondeur robuste et transparente.



FAQ

Comment réinitialiser UFW sans perdre l'accès SSH au VPS ?

Utilisez la console KVM du panel OmegaCloud pour accéder au serveur même si SSH est bloqué. Tapez sudo ufw disable, reconfigurez les règles SSH avec sudo ufw allow 22/tcp ou votre port custom, puis réactivez UFW. Vous pouvez aussi ajouter une règle de secours avant toute modification : sudo ufw allow from VOTRE_IP to any port 22.

UFW bloque-t-il automatiquement les attaques DDoS sur mon VPS ?

Non, UFW filtre uniquement les connexions au niveau applicatif selon vos règles. Les attaques DDoS volumétriques (flood UDP/SYN) sont atténuées par l'infrastructure anti-DDoS du datacenter OmegaCloud en amont de votre serveur. UFW complète cette protection en limitant les connexions répétées (rate limiting) et en bloquant les ports non essentiels.

Peut-on utiliser UFW avec Docker sur un VPS Linux ?

Oui, mais avec précaution. Docker manipule directement iptables et peut contourner les règles UFW. Pour éviter les conflits, configurez UFW uniquement pour les services hôte (SSH, monitoring) et laissez Docker gérer le réseau de ses conteneurs. Alternativement, désactivez la manipulation iptables de Docker dans daemon.json avec "iptables": false, mais cela nécessite une gestion manuelle du réseau conteneur.

Prêt à mettre en pratique ce que vous venez de lire ?

Découvrir nos offres

Articles liés

Prêt à vous lancer ?

à partir de 6,99 € HT/mois

Découvrir nos offres

Hébergements

Navigation