iptables est l’outil historique et extrêmement puissant permettant de configurer le pare-feu intégré au noyau Linux (via le framework netfilter). Contrairement à firewalld ou ufw, qui sont des interfaces simplifiées, iptables vous permet de manipuler directement les paquets de données avec une précision chirurgicale.
C’est le socle technique sur lequel reposent presque tous les autres outils de sécurité Linux.
1. le fonctionnement : tables, chaînes et règles
Pour maîtriser iptables, il faut comprendre sa hiérarchie :
- les tables : la plus commune est la table
filter(pour autoriser/bloquer le trafic). - les chaînes :
- INPUT : pour les paquets arrivant au serveur.
- OUTPUT : pour les paquets sortant du serveur.
- FORWARD : pour les paquets qui ne font que passer par le serveur (routage).
- les cibles (targets) : l’action à effectuer (
ACCEPT,DROPouREJECT).
2. les commandes essentielles
| action | commande | description |
| lister | sudo iptables -L -v -n | affiche toutes les règles avec les compteurs de données. |
| vider | sudo iptables -F | attention : efface toutes les règles actuelles (flush). |
| bloquer | sudo iptables -A INPUT -s [IP] -j DROP | bloque tout le trafic venant d’une IP spécifique. |
| autoriser | sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT | ouvre le port 80 pour le trafic web. |
| supprimer | sudo iptables -D INPUT 1 | supprime la première règle de la chaîne INPUT. |
3. exemples concrets pour sécuriser un serveur
autoriser le trafic de “boucle locale” (indispensable)
Le serveur doit pouvoir se parler à lui-même pour que les services internes fonctionnent :
maintenir les connexions déjà établies
Pour éviter que le pare-feu ne coupe une session SSH en cours lors de l’application des règles :
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
fermer tout par défaut (la stratégie “Whitelist”)
Une fois que vous avez autorisé vos ports (22 pour SSH, 80/443 pour le LMS), vous bloquez tout le reste :
4. comparaison : iptables vs firewalld
| aspect | iptables | firewalld |
| vitesse | très rapide (directement dans le noyau). | légèrement plus lent (couche supplémentaire). |
| flexibilité | totale, permet des règles très complexes. | organisée par zones, plus rigide. |
| persistance | les règles disparaissent au reboot sans iptables-save. | persistance native avec l’option --permanent. |
| complexité | syntaxe ardue et punitive (risque de se bloquer dehors). | plus verbeux mais plus sécurisant. |
5. le piège de la persistance
Par défaut, iptables oublie tout au redémarrage du serveur. Pour rendre vos règles définitives, vous devez utiliser un outil supplémentaire :
« Revenir à l'index du glossaire
sudo apt-get install iptables-persistentPuis :sudo netfilter-persistent save




