Un pare-feu est la première ligne de défense de votre serveur. UFW (Uncomplicated Firewall) rend la configuration des iptables simple, même pour les débutants. Chez Theory7, nous recommandons UFW pour tous les serveurs VPS en raison de sa syntaxe conviviale et de sa fiabilité. Dans ce guide, vous apprendrez tout sur la configuration de UFW.

Que fait un pare-feu ?

Un pare-feu contrôle tout le trafic réseau entrant et sortant de votre serveur. Vous pouvez définir des règles pour :

  • Ouvrir des ports spécifiques pour des services
  • Bloquer le trafic indésirable
  • Autoriser uniquement certaines adresses IP
  • Appliquer une limitation de débit

Sans pare-feu, tout le monde peut essayer de se connecter à n'importe quel service sur votre serveur.

Installer UFW

Sur la plupart des systèmes Debian et Ubuntu, UFW est déjà installé. Sinon :

sudo apt update
sudo apt install ufw

Vérifiez si UFW est installé :

sudo ufw version

Configuration de base

Définir les politiques par défaut

Commencez par définir les politiques par défaut. Cela détermine ce qui se passe avec le trafic qui n'est pas explicitement autorisé ou bloqué :

# Bloquer tout le trafic entrant
sudo ufw default deny incoming

# Autoriser tout le trafic sortant
sudo ufw default allow outgoing

C'est la base la plus sûre : rien ne rentre à moins que vous ne l'autorisiez explicitement.

Ouvrir les ports essentiels

Ouvrez les ports dont vous avez besoin avant d'activer UFW :

# Accès SSH (critique - n'oubliez pas cela !)
sudo ufw allow ssh

# Ou avec un port spécifique
sudo ufw allow 22/tcp

# Trafic web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Activer UFW

Après avoir défini les règles de base :

sudo ufw enable

Vous recevrez un avertissement que les connexions SSH existantes peuvent être interrompues. Si vous avez autorisé SSH, ce n'est pas un problème.

Commandes UFW avancées

Ouvrir et fermer des ports

# Ouvrir un port spécifique
sudo ufw allow 8080/tcp

# Ouvrir une plage de ports
sudo ufw allow 6000:6007/tcp

# Ouvrir un port UDP
sudo ufw allow 53/udp

# Fermer un port
sudo ufw deny 3306/tcp

Utiliser des noms de service

UFW connaît des services courants :

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ftp

Voir les services disponibles :

less /etc/services

Règles spécifiques à l'IP

Autorisez uniquement des IP spécifiques :

# Autoriser une IP spécifique
sudo ufw allow from 192.168.1.100

# Autoriser une IP sur un port spécifique
sudo ufw allow from 192.168.1.100 to any port 22

# Autoriser une plage d'IP
sudo ufw allow from 192.168.1.0/24

# Bloquer une IP spécifique
sudo ufw deny from 203.0.113.100

Limitation de débit

Protégez-vous contre les attaques par force brute :

sudo ufw limit ssh

Cela limite le nombre de connexions par unité de temps.

Statut et gestion de UFW

Voir le statut

# Statut de base
sudo ufw status

# Statut détaillé avec numéros de règle
sudo ufw status numbered

# Sortie détaillée
sudo ufw status verbose

Supprimer des règles

# Par numéro de règle
sudo ufw status numbered
sudo ufw delete 3

# Par spécification de règle
sudo ufw delete allow 80/tcp

Désactiver UFW

# Désactiver temporairement
sudo ufw disable

# Réinitialiser aux paramètres par défaut (supprime toutes les règles)
sudo ufw reset

Profils d'application

UFW prend en charge les profils d'application pour des configurations plus complexes :

# Voir les profils disponibles
sudo ufw app list

# Informations sur le profil
sudo ufw app info "OpenSSH"

# Autoriser le profil
sudo ufw allow "OpenSSH"

Journalisation UFW

Activez la journalisation pour surveiller le trafic suspect :

# Définir le niveau de journalisation
sudo ufw logging on
sudo ufw logging medium

Niveaux de journalisation : off, low, medium, high, full

Voir les journaux :

sudo tail -f /var/log/ufw.log

Configuration d'exemple pour un serveur web

Une configuration complète pour un serveur web typique :

# Réinitialiser les règles existantes
sudo ufw reset

# Politiques par défaut
sudo ufw default deny incoming
sudo ufw default allow outgoing

# SSH (avec port personnalisé)
sudo ufw limit 2222/tcp

# Trafic web
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# DirectAdmin
sudo ufw allow 2222/tcp

# Mail (optionnel)
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp

# Activer
sudo ufw enable

Dépannage

Exclusion de SSH

Si vous vous excluez, utilisez l'accès console de votre fournisseur d'hébergement pour désactiver UFW.

Règle ne fonctionne pas

Vérifiez l'ordre des règles. UFW traite les règles de haut en bas.

Service accessible malgré deny

Vérifiez qu'il n'y a pas de règle allow au-dessus de la deny.

Articles connexes

Besoin d'aide ?

Nous sommes là pour vous aider ! Vous rencontrez un problème ou avez des questions ? Notre équipe de support est heureuse de vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.