Linux / Outil

Générateur de règles de pare-feu Linux : nftables, ufw et firewalld

Cochez les services de votre serveur et choisissez qui peut les joindre : l'outil écrit les règles prêtes à coller pour nftables, ufw ou firewalld, avec SSH limité contre la force brute, ICMP correct pour IPv6 et la mise en garde indispensable si Docker tourne sur la machine.

Linux Outil Intermédiaire Publié le 21 octobre 2026 5 min de lecture
Mur de briques peint en rouge et orange
Photo : Tools For Motivation sur Unsplash

En clair

Un pare-feu est le gardien à l'entrée d'un immeuble : par défaut il ne laisse entrer personne, et vous lui donnez une liste précise (« le facteur peut entrer par la porte 443 », « les voisins du réseau local peuvent sonner à la porte 445 »). nftables, ufw et firewalld sont trois gardiens différents qui comprennent la même liste écrite dans trois langues. L'outil écrit cette liste pour vous dans la langue de votre distribution.

Lequel choisir ?

Outil Distributions Principe
nftables Toutes ; outil par défaut de Debian Un fichier /etc/nftables.conf lu au démarrage. Le plus précis, le plus lisible une fois habitué.
ufw Ubuntu, Debian (à installer) Des commandes courtes qui écrivent des règles nftables pour vous. Idéal pour un serveur simple.
firewalld Fedora, RHEL, AlmaLinux, Rocky, openSUSE Des zones et des services nommés, modifiés à chaud avec firewall-cmd.

N'en utilisez qu'un seul à la fois : deux gestionnaires actifs se marchent dessus et le résultat devient imprévisible.

Appliquer sans se couper l'accès

  1. Ouvrez deux sessions SSH : l'une sert à appliquer, l'autre reste ouverte en secours.
  2. Vérifiez que la règle SSH figure bien dans ce que vous allez appliquer, avec le bon port.
  3. Appliquez, puis ouvrez une troisième connexion depuis votre poste. Si elle aboutit, tout va bien ; sinon, corrigez depuis la session de secours.
  4. Sur un VPS, repérez avant de commencer la console web de l'hébergeur : elle donne accès à la machine même quand le réseau est fermé.

Docker contourne ufw et firewalld

Quand un conteneur publie un port (ports: "8080:80"), Docker ajoute ses propres règles qui sont examinées avant celles d'ufw et de firewalld. Le port est donc joignable même si le pare-feu ne l'ouvre pas. Deux parades simples : publier le port sur une adresse précise ("192.168.1.10:8080:80") ou sur 127.0.0.1 derrière un proxy inverse, ou ne rien publier du tout et passer par un réseau Docker interne. Le générateur docker-compose applique déjà ce principe.

Vérifier ce qui est réellement ouvert

Depuis le serveur, listez les ports en écoute ; depuis une autre machine, vérifiez ce qui répond vraiment :

sudo ss -tulpn                      # ports en écoute et programmes associés
sudo nft list ruleset               # toutes les règles actives (nftables, ufw, firewalld, Docker)
nmap -Pn 192.168.1.10               # depuis un autre poste : ports joignables

Un port en écoute mais absent du résultat de nmap est bien filtré. Un port visible dans nmap mais que vous n'avez pas ouvert vient souvent d'un conteneur Docker.

Pour aller plus loin : Sécuriser l'accès SSH complète le pare-feu par l'authentification par clé, et Comprendre les pare-feu explique les notions d'état, de politique par défaut et de filtrage.

À lire aussi