🛡️ Installer et configurer UFW sur un VPS
Ce guide vous apprendra à installer et configurer UFW (Uncomplicated Firewall), un pare-feu simple mais efficace pour Linux. UFW facilite la gestion des règles de pare-feu sur votre serveur VPS.
📋 Prérequis
- Un serveur VPS avec accès root ou sudo
- Une connexion SSH active
- Ubuntu/Debian (les commandes sont adaptées pour ces distributions)
📥 Installation d'UFW
Installation sur Ubuntu/Debian
sudo apt update sudo apt install ufw -y
Vérification de l'installation
# Vérifier le statut d'UFW sudo ufw status
Si UFW n'est pas activé, vous verrez le message : Status: inactive
⚙️ Configuration de base
Important: Avant d'activer UFW, assurez-vous d'autoriser le port SSH (22), sinon vous serez bloqué hors de votre serveur.
Définir les règles par défaut
# Tout bloquer en entrée, autoriser en sortie sudo ufw default deny incoming sudo ufw default allow outgoing
Autoriser les connexions essentielles
# Autoriser SSH (PORT 22) - TRÈS IMPORTANT ! sudo ufw allow 22/tcp # Autoriser HTTP et HTTPS (si vous avez un serveur web) sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Activer UFW
# Activer le pare-feu sudo ufw enable
Confirmez avec y lorsque demandé.
🔧 Règles avancées
Autoriser un port spécifique
# Autoriser un port TCP sudo ufw allow 8080/tcp # Autoriser un port UDP sudo ufw allow 53/udp # Autoriser un port pour un protocole spécifique sudo ufw allow 3306/tcp # MySQL sudo ufw allow 5432/tcp # PostgreSQL
Autoriser une IP spécifique
# Autoriser toutes les connexions depuis une IP sudo ufw allow from 192.168.1.100 # Autoriser un port spécifique pour une IP sudo ufw allow from 192.168.1.100 to any port 22 # Autoriser une plage d'adresses IP sudo ufw allow from 10.0.0.0/8
Bloquer une IP ou un port
# Bloquer une IP sudo ufw deny from 192.168.1.100 # Bloquer un port sudo ufw deny 3306/tcp
📊 Gestion des règles
Lister toutes les règles
# Statut simple sudo ufw status # Statut détaillé avec numéros sudo ufw status numbered # Statut très verbeux sudo ufw status verbose
Supprimer une règle
# Supprimer par numéro (trouvé avec status numbered) sudo ufw delete 3 # Supprimer par règle sudo ufw delete allow 8080/tcp
Réinitialiser toutes les règles
sudo ufw --force reset
Attention: Cette commande supprime toutes les règles et désactive UFW. Utilisez-la avec précaution !
🎯 Exemples de configuration
Configuration pour un serveur web
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
Configuration pour un serveur de base de données
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow from 10.0.0.0/8 to any port 3306 sudo ufw enable
Configuration pour un serveur de jeu (ex: Minecraft)
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 25565/tcp # Port Minecraft sudo ufw enable
📝 Vérification et monitoring
Voir les logs
# Voir les logs en temps réel sudo tail -f /var/log/ufw.log # Voir les dernières entrées sudo tail -n 50 /var/log/ufw.log
Vérifier le statut détaillé
sudo ufw status verbose
Cette commande affiche :
- Le statut du pare-feu (actif/inactif)
- Les règles par défaut
- Toutes les règles actives
- Les interfaces réseau
🔄 Désactiver UFW (si nécessaire)
# Désactiver temporairement sudo ufw disable # Réactiver sudo ufw enable
✅ Bonnes pratiques
-
Toujours autoriser SSH avant d'activer : Assurez-vous que le port SSH (22) est autorisé avant d'activer le firewall.
-
Principe du moindre privilège : N'autorisez que les ports et IPs nécessaires pour vos services.
-
Testez vos règles : Avant de vous déconnecter, testez que tout fonctionne correctement.
-
Surveillez les logs : Consultez régulièrement les logs pour détecter des tentatives d'intrusion.
-
Utilisez fail2ban : Combinez UFW avec fail2ban pour une protection renforcée contre les attaques par force brute.
🆘 Dépannage
Je suis bloqué hors du serveur
Si vous êtes bloqué hors du serveur après avoir activé le firewall :
- Contactez le support Infrawire avec vos identifiants
- Utilisez la console VNC/KVM si disponible depuis votre panneau de contrôle
- Connectez-vous directement et désactivez UFW :
sudo ufw disable
Les règles ne fonctionnent pas
# Vérifiez que UFW est bien activé sudo ufw status # Vérifiez l'ordre des règles sudo ufw status numbered # Rechargez les règles sudo ufw reload
UFW interfère avec Docker
Si vous utilisez Docker, vous devrez configurer Docker pour ne pas interférer avec les règles UFW :
# Éditer la configuration Docker sudo nano /etc/docker/daemon.json # Ajouter cette configuration { "iptables": false } # Redémarrer Docker sudo systemctl restart docker
📚 Ressources supplémentaires
❓ Questions fréquentes
Q : Puis-je utiliser UFW avec d'autres firewalls ?
R : Non, vous ne devriez utiliser qu'un seul firewall à la fois pour éviter les conflits.
Q : UFW fonctionne-t-il avec Docker ?
R : Oui, mais vous devrez configurer Docker pour ne pas interférer avec les règles UFW (voir section Dépannage).
Q : Comment autoriser plusieurs ports à la fois ?
R : Vous pouvez utiliser une boucle ou créer un script bash pour automatiser l'ajout de règles.
Q : Puis-je utiliser UFW sur CentOS/RHEL ?
R : Oui, mais l'installation peut être différente. Consultez la documentation de votre distribution.
Bonne configuration ! 🚀