Introduction
iptables est l'outil historique de gestion du pare-feu netfilter sur Linux. Il permet de filtrer le trafic réseau entrant, sortant et transitant. En 2026, même avec nftables, comprendre iptables reste indispensable pour la maintenance des systèmes existants et les certifications. Ce tutoriel vous apprend les commandes de base pour créer un pare-feu fonctionnel et sécurisé.
Prérequis
- Un serveur Linux (Ubuntu/Debian ou CentOS)
- Accès root ou sudo
- Connexion SSH active
- Connaissances basiques de la ligne de commande
Vérifier les règles actuelles
sudo iptables -L -v -nCette commande affiche toutes les chaînes et règles actives avec statistiques. Elle permet de comprendre l'état initial du pare-feu avant toute modification.
Étape 1 : Préparer un pare-feu propre
Avant de créer de nouvelles règles, il est recommandé de vider les règles existantes pour éviter les conflits.
Vider les règles existantes
sudo iptables -F
sudo iptables -X
sudo iptables -ZCes commandes suppriment toutes les règles, les chaînes personnalisées et remettent les compteurs à zéro. Toujours exécuter cette étape en premier sur un nouveau serveur.
Définir les politiques par défaut
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPTOn refuse tout le trafic entrant et transitant par défaut. Seules les connexions explicitement autorisées passeront. La sortie reste ouverte pour permettre les mises à jour.
Étape 2 : Autoriser les connexions essentielles
Un serveur a besoin d'accepter le trafic SSH et parfois HTTP/HTTPS. Nous allons créer des règles précises.
Autoriser SSH et HTTP
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPTCes règles acceptent les connexions TCP sur les ports 22 (SSH), 80 et 443 (web). Toujours placer les règles ACCEPT avant la politique DROP.
Autoriser le loopback et les connexions établies
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTLe loopback est indispensable pour le bon fonctionnement du système. La règle conntrack permet aux connexions déjà établies de continuer sans blocage.
Bonnes pratiques
- Toujours tester les règles via une session SSH parallèle avant de les rendre persistantes
- Utiliser des commentaires avec -m comment
- Sauvegarder les règles après validation
- Limiter les ports exposés au minimum
- Documenter chaque règle ajoutée
Erreurs courantes à éviter
- Bloquer le port SSH et perdre l'accès au serveur
- Oublier de sauvegarder les règles après reboot
- Créer des règles contradictoires sans ordre logique
- Ne pas activer le module conntrack pour les connexions existantes
Pour aller plus loin
Découvrez nos formations complètes sur la sécurité Linux et les pare-feu modernes : https://learni-group.com/formations