Aller au contenu
nftablesPare-feuLinuxTuto · 2026 · 1 min de lecture
Niveau · IntermédiaireDurée · 20 min

Un pare-feu nftables minimal pour un serveur

Tout refuser en entrée, puis n’accepter que le nécessaire : les connexions déjà établies, la boucle locale et quelques ports. Une vingtaine de lignes, lisibles.

Prérequis

  • Un serveur Linux avec nftables
  • Un accès console : une règle de trop, et SSH se ferme

01Le jeu de règles

La politique par défaut de la chaîne d’entrée est drop. On accepte ensuite les réponses aux connexions sortantes (established, related), la boucle locale, le strict minimum d’ICMPv6 dont IPv6 a besoin, puis les ports voulus.

Exemple · /etc/nftables.conf
flush ruleset

table inet firewall {
    chain inbound_ipv4 {
        icmp type echo-request limit rate 5/second accept
    }

    chain inbound_ipv6 {
        icmpv6 type { nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert } accept
    }

    chain inbound {
        type filter hook input priority 0; policy drop;
        ct state vmap { established : accept, related : accept, invalid : drop }
        iifname lo accept
        meta protocol vmap { ip : jump inbound_ipv4, ip6 : jump inbound_ipv6 }
        tcp dport { 22, 80, 443 } accept
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }
}

02Charger et vérifier

Sur Debian, le service nftables charge /etc/nftables.conf à chaque démarrage.

Exemple · Shell
nft -f /etc/nftables.conf
nft list ruleset
systemctl enable nftables

À retenir

  • Politique drop, puis des exceptions explicites.
  • established/related d’abord : les réponses reviennent.
  • Un accès console avant de toucher au pare-feu.

Sources officielles

Dorian FINKEL

Ingénieur Réseaux, Systèmes & Cloud — alternant chez Hermès.

Ouvert aux échanges techniques
Ressources
© 2026 Dorian FINKEL. Tous droits réservés. Mis à jour le
Conçu et développé par Dorian Finkel. React, Vite, Tailwind CSS. Haut de page