Configurer un pare-feu avec nftables : guide pas à pas

Configurer un pare-feu avec nftables : guide pas à pas

Ce guide vous accompagne dans la mise en place d'un pare-feu basé sur nftables sous Linux. Vous apprendrez à définir une politique par défaut stricte, à ajouter les règles minimales nécessaires, à activer la journalisation pour la détection d'anomalies, puis à tester votre configuration afin de garantir une défense en profondeur. Toutes les actions présentées sont à réaliser uniquement sur des systèmes que vous administrez ou pour lesquels vous disposez d'une autorisation écrite.

Introduction

Le pare-feu constitue la première ligne de protection réseau. nftables remplace les anciennes solutions iptables et offre une syntaxe moderne, plus lisible et plus performante. En suivant ce processus pas à pas, vous renforcerez la sécurité de votre serveur tout en conservant une configuration claire et maintenable.

Pré-requis et cadre légal

  • Un système Linux récent (kernel 3.13+).
  • Le paquet nftables installé (apt install nftables ou yum install nftables).
  • Des droits root ou sudo.
  • Une autorisation explicite pour appliquer ces mesures sur le serveur cible.
« La meilleure défense consiste à limiter le trafic aux seules communications nécessaires. » – Principe du moindre privilège

Définir une politique par défaut

La politique par défaut (ou policy) détermine le traitement des paquets qui ne correspondent à aucune règle explicite. En adoptant une approche deny‑all, vous vous assurez que seul le trafic explicitement autorisé pourra circuler.

nft add table ip filter
nft add chain ip filter INPUT { type filter hook input priority 0 \; policy drop \; }
nft add chain ip filter FORWARD { type filter hook forward priority 0 \; policy drop \; }
nft add chain ip filter OUTPUT { type filter hook output priority 0 \; policy drop \; }

Le tableau suivant résume la configuration initiale :

ChaînePolitique
INPUTdrop
FORWARDdrop
OUTPUTdrop

Principe du moindre privilège

En partant d'une politique restrictive, vous ajoutez uniquement les flux indispensables au bon fonctionnement du serveur (services, mises à jour, monitoring, etc.). Cette méthode minimise la surface d'attaque et facilite les audits de configuration.

Règles minimales de filtrage

Voici les règles essentielles à mettre en place après la politique par défaut.

Autoriser le trafic légitime

  • Loopback – indispensable pour les communications internes.
  • SSH – accès administrateur sécurisé (port 22 par défaut).
  • DNS – résolutions externes (port 53 UDP/TCP).
  • HTTP/HTTPS – services web (ports 80 et 443).
  • Mises à jour du système – accès aux dépôts (ports 80/443).
# Loopback
nft add rule ip filter INPUT iif lo accept
nft add rule ip filter OUTPUT oif lo accept

# SSH (limiter aux adresses de confiance si possible)
nft add rule ip filter INPUT tcp dport 22 ct state new,established accept
nft add rule ip filter OUTPUT tcp sport 22 ct state established accept

# DNS
nft add rule ip filter OUTPUT udp dport 53 accept
nft add rule ip filter INPUT udp sport 53 accept

# HTTP/HTTPS
nft add rule ip filter INPUT tcp dport {80,443} ct state new,established accept
nft add rule ip filter OUTPUT tcp sport {80,443} ct state established accept

# Connexions sortantes autorisées (exemple de mise à jour)
nft add rule ip filter OUTPUT tcp dport {80,443} ct state new,established accept
nft add rule ip filter INPUT tcp sport {80,443} ct state established accept

Ces règles utilisent le suivi d'état (ct state) afin de n'autoriser que les connexions établies en retour, renforçant ainsi la détection d'éventuels flux inattendus.

>_ Ressource pratique

Vous voulez appliquer tout ça sur un vrai serveur, sans y passer des semaines ? Le Cyber Starter Pack rassemble les checklists, les commandes prêtes à l'emploi et la méthode pas à pas.

⚡ Cyber Starter Pack — 9,99 $

Journalisation des connexions

La journalisation permet de détecter les tentatives de connexion non autorisées et d'alimenter les systèmes de supervision ou de SIEM.

# Log des paquets rejetés en entrée
nft add rule ip filter INPUT counter log prefix "nftables INPUT drop: " drop

# Log des paquets rejetés en sortie
nft add rule ip filter OUTPUT counter log prefix "nftables OUTPUT drop: " drop

Le préfixe facilite le filtrage dans les logs système (/var/log/kern.log ou journalctl -k). Pensez à ajuster le niveau de verbosité selon la capacité de stockage et les exigences de conformité.

Tests et validation

Après avoir chargé la configuration, il est crucial de vérifier son bon fonctionnement avant de la rendre permanente.

  1. Enregistrez la configuration dans un fichier : nft list ruleset > /etc/nftables.conf.
  2. Appliquez temporairement : nft -f /etc/nftables.conf.
  3. Utilisez nmap ou nc depuis une machine externe pour scanner les ports autorisés et vérifier que les ports non listés restent fermés.
  4. Vérifiez les logs : journalctl -k | grep "nftables" pour vous assurer que les tentatives bloquées sont bien enregistrées.
  5. En cas de problème, restaurez la configuration précédente avec nft flush ruleset puis rechargez une version fonctionnelle.

Intégrer le pare-feu dans une stratégie de défense en profondeur

Le pare-feu n'est qu'un composant d'une architecture sécurisée. Pour renforcer la défense en profondeur, associez-le à d'autres mesures :

  • Gestion des accès – comptes à moindre privilège, authentification forte.
  • Chiffrement – TLS pour les services exposés, stockage chiffré des données sensibles.
  • Supervision – collecte centralisée des logs, alertes en temps réel.
  • Sauvegarde régulière – sauvegardes chiffrées et testées.
  • Audit de conformité – vérification périodique du respect des standards (ISO 27001, RGPD, etc.).

En combinant ces couches, chaque vecteur d'attaque potentiel est réduit, ce qui limite les impacts d'une éventuelle compromission.

Conclusion

Configurer nftables avec une politique par défaut restrictive, des règles minimales précises, une journalisation systématique et des tests rigoureux constitue une base solide pour la protection de vos serveurs Linux. Cette approche s’inscrit dans une stratégie globale de défense en profondeur, indispensable pour répondre aux exigences de conformité et aux menaces actuelles.

Pour aller plus loin

Pour structurer votre apprentissage et approfondir chaque étape, consultez le guide pas à pas Cyber Starter Pack, qui vous propose des exercices pratiques et des fiches de référence adaptées aux débutants motivés.

>_ À propos de l'auteur

Trésor — KadoHackLabs

Cybersécurité · IA locale · Automatisation

Je documente la cybersécurité offensive, l'IA locale et l'automatisation. Tous mes outils et guides sont open-source sur GitHub — et pour passer vraiment à la pratique, j'ai condensé la méthode dans un pack d'apprentissage pas à pas.


Ressources open-source

  • RedTeaming_CheatSheet
    Aide-mémoire de pentest : toutes les commandes essentielles.
  • AdversarySim-AI
    Assistant IA purple team avec Sliver C2 et LLM locaux (Ollama).
  • aisec
    Suite d'outils de sécurité pilotés par IA, experts par classe, local-first.
  • guide-wireshark
    Guide complet en français sur l'analyse de paquets, de l'OSI aux CTF.

Profil complet : github.com/kadohack12  ·  Boutique : whop.com/KadoHackLabs

Commentaires

Posts les plus consultés de ce blog

Vers l'AGI en 2027-2028 ? Où en est vraiment l'intelligence artificielle générale mi-2026

Guide complet de Nmap pour le pentest : commandes essentielles et détection de vulnérabilités