InfrawireLogo InfrawireDocumentation
Appeler

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

Bash
sudo apt update sudo apt install ufw -y

Vérification de l'installation

Bash
# 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

Bash
# Tout bloquer en entrée, autoriser en sortie sudo ufw default deny incoming sudo ufw default allow outgoing

Autoriser les connexions essentielles

Bash
1# Autoriser SSH (PORT 22) - TRÈS IMPORTANT ! 2sudo ufw allow 22/tcp 3 4# Autoriser HTTP et HTTPS (si vous avez un serveur web) 5sudo ufw allow 80/tcp 6sudo ufw allow 443/tcp

Activer UFW

Bash
# Activer le pare-feu sudo ufw enable

Confirmez avec y lorsque demandé.

🔧 Règles avancées

Autoriser un port spécifique

Bash
1# Autoriser un port TCP 2sudo ufw allow 8080/tcp 3 4# Autoriser un port UDP 5sudo ufw allow 53/udp 6 7# Autoriser un port pour un protocole spécifique 8sudo ufw allow 3306/tcp # MySQL 9sudo ufw allow 5432/tcp # PostgreSQL

Autoriser une IP spécifique

Bash
1# Autoriser toutes les connexions depuis une IP 2sudo ufw allow from 192.168.1.100 3 4# Autoriser un port spécifique pour une IP 5sudo ufw allow from 192.168.1.100 to any port 22 6 7# Autoriser une plage d'adresses IP 8sudo ufw allow from 10.0.0.0/8

Bloquer une IP ou un port

Bash
1# Bloquer une IP 2sudo ufw deny from 192.168.1.100 3 4# Bloquer un port 5sudo ufw deny 3306/tcp

📊 Gestion des règles

Lister toutes les règles

Bash
1# Statut simple 2sudo ufw status 3 4# Statut détaillé avec numéros 5sudo ufw status numbered 6 7# Statut très verbeux 8sudo ufw status verbose

Supprimer une règle

Bash
1# Supprimer par numéro (trouvé avec status numbered) 2sudo ufw delete 3 3 4# Supprimer par règle 5sudo ufw delete allow 8080/tcp

Réinitialiser toutes les règles

Bash
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

Bash
1sudo ufw default deny incoming 2sudo ufw default allow outgoing 3sudo ufw allow ssh 4sudo ufw allow 80/tcp 5sudo ufw allow 443/tcp 6sudo ufw enable

Configuration pour un serveur de base de données

Bash
1sudo ufw default deny incoming 2sudo ufw default allow outgoing 3sudo ufw allow ssh 4sudo ufw allow from 10.0.0.0/8 to any port 3306 5sudo ufw enable

Configuration pour un serveur de jeu (ex: Minecraft)

Bash
1sudo ufw default deny incoming 2sudo ufw default allow outgoing 3sudo ufw allow ssh 4sudo ufw allow 25565/tcp # Port Minecraft 5sudo ufw enable

📝 Vérification et monitoring

Voir les logs

Bash
1# Voir les logs en temps réel 2sudo tail -f /var/log/ufw.log 3 4# Voir les dernières entrées 5sudo tail -n 50 /var/log/ufw.log

Vérifier le statut détaillé

Bash
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)

Bash
1# Désactiver temporairement 2sudo ufw disable 3 4# Réactiver 5sudo ufw enable

✅ Bonnes pratiques

  1. Toujours autoriser SSH avant d'activer : Assurez-vous que le port SSH (22) est autorisé avant d'activer le firewall.

  2. Principe du moindre privilège : N'autorisez que les ports et IPs nécessaires pour vos services.

  3. Testez vos règles : Avant de vous déconnecter, testez que tout fonctionne correctement.

  4. Surveillez les logs : Consultez régulièrement les logs pour détecter des tentatives d'intrusion.

  5. 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 :

  1. Contactez le support Infrawire avec vos identifiants
  2. Utilisez la console VNC/KVM si disponible depuis votre panneau de contrôle
  3. Connectez-vous directement et désactivez UFW : sudo ufw disable

Les règles ne fonctionnent pas

Bash
1# Vérifiez que UFW est bien activé 2sudo ufw status 3 4# Vérifiez l'ordre des règles 5sudo ufw status numbered 6 7# Rechargez les règles 8sudo 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 :

Bash
1# Éditer la configuration Docker 2sudo nano /etc/docker/daemon.json 3 4# Ajouter cette configuration 5{ 6 "iptables": false 7} 8 9# Redémarrer Docker 10sudo 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 ! 🚀