Pare-feu (iptables / nftables)
Un pare-feu filtre le trafic réseau selon des règles (adresse source/destination, port, protocole, état de connexion…) pour n’autoriser que ce qui est nécessaire. Sous Linux, le filtrage se fait au niveau noyau via le sous-système Netfilter.
iptables
Section intitulée « iptables »Historiquement l’outil de référence pour piloter Netfilter. Les règles sont organisées en tables (filter, nat, mangle) contenant des chaînes :
INPUT: trafic entrant destiné à la machine locale.OUTPUT: trafic sortant depuis la machine locale.FORWARD: trafic traversant la machine (cas d’un routeur).
Exemple de règle : n’autoriser que le SSH et le HTTPS en entrée, tout bloquer par défaut.
iptables -P INPUT DROPiptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -A INPUT -p tcp --dport 443 -j ACCEPTnftables
Section intitulée « nftables »Successeur d’iptables (noyau ≥ 3.13, outil nft), qui remplace les quatre outils historiques (iptables, ip6tables, arptables, ebtables) par une syntaxe unique, des règles plus lisibles et de meilleures performances (une seule passe d’évaluation par paquet).
nft add table inet filternft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }nft add rule inet filter input ct state established,related acceptnft add rule inet filter input tcp dport { 22, 443 } acceptSur les distributions récentes (Debian 11+, Ubuntu 20.04+…), nftables est le moteur par défaut ; iptables y est souvent une couche de compatibilité (iptables-nft) traduite vers nftables en coulisses.
Principes à retenir
Section intitulée « Principes à retenir »- Politique par défaut restrictive (deny by default) : on bloque tout, puis on autorise explicitement ce qui est nécessaire — jamais l’inverse.
- Stateful vs stateless : un pare-feu à états (
ESTABLISHED,RELATED) autorise automatiquement les réponses à une connexion déjà initiée, sans avoir à écrire une règle symétrique. - Ordre des règles : la première règle qui correspond s’applique — une règle trop large placée trop tôt peut rendre les suivantes inutiles.