Pour les étudiants en BTS CIEL ou SIO, le pare-feu est indispensable pour sécuriser un serveur.
Cette fiche couvre :
- règles d’entrée / sortie
- ouverture des services (SSH, HTTP)
- blocage du ping (ICMP)
- lien avec fail2ban

Configuration UFW (simple et rapide)
# =========================================================
# INSTALLATION
# =========================================================
apt install ufw -y
# =========================================================
# POLITIQUE PAR DEFAUT
# =========================================================
ufw default deny incoming
ufw default allow outgoing
# =========================================================
# OUVERTURE DES SERVICES
# =========================================================
# SSH
ufw allow 22/tcp
# HTTP
ufw allow 80/tcp
# HTTPS
ufw allow 443/tcp
# =========================================================
# BLOQUER LE PING (ICMP)
# =========================================================
nano /etc/ufw/before.rules
# Ajouter dans la section icmp :
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
# =========================================================
# ACTIVER UFW
# =========================================================
ufw enable
# Vérification
ufw status verbose
Explication UFW
- deny incoming → bloque tout par défaut
- allow outgoing → autorise les sorties
- règles spécifiques → ouverture contrôlée
Configuration nftables (niveau avancé)
# =========================================================
# INSTALLATION
# =========================================================
apt install nftables -y
# =========================================================
# CONFIGURATION
# =========================================================
nano /etc/nftables.conf
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
# Autoriser loopback
iif lo accept
# Connexions établies
ct state established,related accept
# SSH
tcp dport 22 accept
# HTTP / HTTPS
tcp dport {80, 443} accept
# ICMP (ping) bloqué
ip protocol icmp icmp type echo-request drop
}
chain forward {
type filter hook forward priority 0;
policy drop;
}
chain output {
type filter hook output priority 0;
policy accept;
}
}
# =========================================================
# ACTIVER
# =========================================================
systemctl enable nftables
systemctl restart nftables
# Vérifier
nft list ruleset
Explication nftables
- policy drop → tout bloqué par défaut
- accept loopback → communication interne
- established → connexions déjà ouvertes
- règles spécifiques → autorisation fine
Lien avec fail2ban
Fail2ban ajoute automatiquement des règles firewall pour bloquer les IP malveillantes.
Avec nftables ou iptables :
- fail2ban injecte des règles dynamiques
- bannissement temporaire
Exemple :
fail2ban-client status sshd
Cas pratiques
Autoriser uniquement SSH depuis un réseau
ufw allow from 192.168.1.0/24 to any port 22
Bloquer une IP
ufw deny from 192.168.1.50
Tester un port
nc -zv 192.168.1.10 22
Bonnes pratiques
- toujours définir une politique par défaut restrictive
- ouvrir uniquement les ports nécessaires
- tester après chaque règle
- documenter les règles
- utiliser fail2ban en complément
- éviter de se bloquer en SSH
Récapitulatif des fichiers importants
| Fichier | Rôle |
|---|---|
| /etc/ufw/before.rules | règles ICMP |
| /etc/nftables.conf | configuration nftables |
| ufw status | état firewall |
| nft list ruleset | règles actives |
Conclusion
Un pare-feu permet :
- de contrôler les accès
- de protéger les services
- de réduire la surface d’attaque
La combinaison :
- règles strictes
- fail2ban
- supervision
constitue une base solide de sécurité.
