ufw
À quoi il sert
ufw (Uncomplicated Firewall) simplifie l'écriture d'un pare-feu d'hôte : on raisonne en règles du type « autoriser le port 8000 en TCP depuis ce réseau » (ufw allow from 172.16.8.0/22 to any port 8000 proto tcp), et ufw les traduit en règles iptables, donc nftables via iptables-nft sur Ubuntu 24.04. Il gère les politiques par défaut (ufw default deny incoming), IPv4 et IPv6 ensemble, une limitation des tentatives de connexion (ufw limit), des commentaires, et la journalisation des paquets refusés.
Quand le choisir
Sur un serveur Ubuntu, où il est installé par défaut mais inactif : c'est le moyen le plus court d'obtenir une politique en refus par défaut, lisible par toute l'équipe. Pour une politique plus fine (ensembles dynamiques, filtrage en sortie détaillé), ou sur Debian, on écrit directement un fichier nftables ; sur Red Hat, firewalld tient ce rôle. Dans tous les cas, un seul outil de pare-feu par machine.
Points d'attention
- Avant
ufw enableà distance, autorisez SSH depuis la bonne plage et programmez un retour arrière (systemd-run --on-active=5min --unit=retour-pare-feu /usr/sbin/ufw disable), puis testez par une nouvelle session. - La première règle qui correspond l'emporte : un refus ponctuel s'ajoute avec
ufw insert 1 ..., etufw status numberedmontre l'ordre. - Sans
proto tcp, une règle ouvre TCP et UDP.ufw allow 22ouvre SSH au monde entier : précisez toujours la source. ufw statusne montre pas tout :/etc/ufw/before.rulesaccepte la boucle locale, les connexions établies et plusieurs types ICMP. C'est là qu'on ajoute ce que la commande ne sait pas exprimer, puisufw reload.- Docker publie ses ports par une règle DNAT qui passe par la chaîne
FORWARD, pas parINPUT: un port publié reste joignable malgré undeny. Publiez sur127.0.0.1ou filtrez dansDOCKER-USER. ufw logging low(le défaut) suffit en production ; les lignes[UFW BLOCK]arrivent dans/var/log/ufw.logpar rsyslog.
Par où commencer
La leçon Le pare-feu de l'hôte du cours Linux : administration système, qui met en place ufw sur les serveurs applicatifs de Signalements et montre ce qu'il écrit réellement dans le noyau. Puis les pages de manuel ufw(8) et ufw-framework(8), et la page du projet sur Launchpad.