UFW, ou "Uncomplicated Firewall", est une interface de gestion de pare-feu pour Linux, conçue pour être facile à utiliser. C\'est une surcouche à l\'outil plus complexe mais très puissant
iptables. UFW est le pare-feu par défaut sur Ubuntu et vise à fournir une interface simple pour les configurations de pare-feu les plus courantes sans sacrifier la sécurité.
Pourquoi utiliser UFW ?
- Simplicité : Sa syntaxe est beaucoup plus simple et plus intuitive que celle d\'iptables.
- Sécurité par défaut : Il est conçu pour être sécurisé dès le départ, avec une politique par défaut qui bloque tout le trafic entrant.
- Intégration : Bien intégré dans les distributions comme Ubuntu.
- Flexibilité : Bien que simple, il permet des règles plus complexes si nécessaire.
Prérequis
- Un serveur Linux (ce guide se concentre sur Ubuntu/Debian).
- Accès root ou privilèges sudo.
Configuration de base
Sur Ubuntu, UFW est généralement installé par défaut. Sinon, vous pouvez l\'installer avec sudo apt install ufw.
Étape 1 : Définir les politiques par défaut
C\'est la première chose à faire. Une politique sûre est de tout refuser en entrée et de tout autoriser en sortie.
sudo ufw default deny incoming
sudo ufw default allow outgoing
Cela signifie qu\'aucune connexion ne pourra entrer sur votre serveur, à moins que vous ne l\'autorisiez explicitement.
Étape 2 : Autoriser les connexions SSH
ATTENTION : C\'est l\'étape la plus importante. Si vous activez le pare-feu sans autoriser SSH, vous perdrez l\'accès à votre serveur !
# Autoriser le port SSH standard (22)
sudo ufw allow ssh
# Si vous avez changé votre port SSH (ex: 2222)
# sudo ufw allow 2222/tcp
Étape 3 : Autoriser d\'autres services
N\'ouvrez que les ports dont vous avez besoin.
# Autoriser le trafic web HTTP (port 80)
sudo ufw allow http
# Autoriser le trafic web HTTPS (port 443)
sudo ufw allow https
# Autoriser un port spécifique (ex: pour un serveur de jeu sur le port 25565)
sudo ufw allow 25565/tcp
Étape 4 : Activer UFW
Une fois que vous avez autorisé au moins SSH, vous pouvez activer le pare-feu.
sudo ufw enable
UFW vous avertira que la commande peut perturber les connexions SSH existantes. Tapez `y` et validez.
Gérer UFW au quotidien
Vérifier le statut et les règles
La commande `status` est votre meilleure amie.
# Voir si le pare-feu est actif et lister les règles
sudo ufw status verbose
# Lister les règles avec des numéros, pratique pour les supprimer
sudo ufw status numbered
Supprimer une règle
Vous pouvez supprimer une règle par son numéro (obtenu avec `status numbered`) ou par sa définition.
# Supprimer la règle numéro 3
sudo ufw delete 3
# Ou supprimer par la définition exacte
sudo ufw delete allow http
Règles plus avancées
# Autoriser une adresse IP spécifique à se connecter sur tous les ports
sudo ufw allow from 1.2.3.4
# Autoriser une adresse IP spécifique sur un port spécifique
sudo ufw allow from 1.2.3.4 to any port 22 proto tcp
Désactiver ou réinitialiser UFW
# Désactiver temporairement le pare-feu
sudo ufw disable
# Réinitialiser toutes les règles à leur état par défaut (désactivé)
sudo ufw reset
Avec seulement quelques commandes (`ufw default deny`, `ufw allow ssh`, `ufw enable`), vous avez déjà considérablement augmenté la sécurité de votre serveur.
Attention, par défaut, Docker modifie directement les règles `iptables` et peut contourner les règles UFW. C\'est un problème connu. Si vous utilisez Docker, des configurations supplémentaires sont nécessaires pour vous assurer que vos règles UFW sont respectées.
Conclusion
UFW porte bien son nom : il rend la gestion d\'un pare-feu sous Linux simple et directe. Pour la grande majorité des serveurs web ou applicatifs, UFW offre un excellent équilibre entre la facilité d\'utilisation et une sécurité robuste. C\'est l\'outil idéal pour mettre en place rapidement une première ligne de défense essentielle pour votre serveur.