Règles de pare-feu avancées (IPTables)
Maîtrisez IPTables pour créer des règles de pare-feu complexes et à états, mettre en œuvre la traduction d’adresses réseau (NAT) et protéger votre serveur contre les attaques sophistiquées.
Règles de pare-feu avancées (IPTables) est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Approfondir IPTables
IPTables est le puissant pare-feu intégré de Linux. Même si nous en avons vu les bases, il offre des fonctionnalités avancées pour un contrôle précis.
Cette leçon vous permet d'utiliser des règles complexes, le filtrage avec suivi d'état et la traduction d'adresses réseau (NAT) afin de sécuriser et de gérer réellement le réseau de votre serveur.
Se rappeler des tables et des chaînes
IPTables organise les règles en tables, chacune ayant un objectif précis. Les tables contiennent des chaînes, c'est-à-dire des listes de règles évaluées dans l'ordre.
- table
filter: table par défaut, utilisée pour filtrer (bloquer ou autoriser) les paquets. Elle contient les chaînesINPUT,OUTPUTetFORWARD. - table
nat: utilisée pour la traduction d'adresses réseau (NAT). Elle contient les chaînesPREROUTING,POSTROUTINGetOUTPUT. - D'autres tables, comme
mangleetraw, servent à la modification spécialisée des paquets.
Le pare-feu avec suivi d'état dévoilé
Un pare-feu avec suivi d'état suit l'état des connexions réseau. Au lieu de vérifier chaque paquet individuellement, il mémorise si un paquet appartient à une connexion existante et établie.
Principaux états de connexion :
NEW: premier paquet d'une nouvelle connexion.ESTABLISHED: paquets appartenant à une connexion existante et active.RELATED: paquets démarrant une nouvelle connexion liée à une connexion existante (par exemple, un transfert de données FTP).
Mettre en œuvre des règles avec suivi d'état
Les règles avec suivi d'état simplifient considérablement la gestion du pare-feu. Vous pouvez autoriser tout le trafic appartenant à des connexions établies, ce qui signifie qu'il vous suffit de définir des règles pour l'initiation des connexions NEW.
Cette règle autorise tous les paquets entrants qui font partie d'une connexion déjà établie ou associée :
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTÉlaborer une logique de règles complexes
IPTables vous permet de combiner différents modules et options de correspondance afin de créer des règles très précises. Cela aide à affiner l'accès pour différents services et sources.
Exemple : autoriser SSH (port 22) depuis un sous-réseau précis (192.168.1.0/24) uniquement pour les nouvelles connexions.
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -m state --state NEW -j ACCEPTDécouvrir la traduction d'adresses réseau
La traduction d'adresses réseau (NAT) modifie les informations d'adresse réseau dans l'en-tête IP des paquets pendant leur transit. Elle est essentielle pour :
- Permettre à plusieurs appareils d'un réseau privé de partager une seule adresse IP publique (par exemple, avec les routeurs domestiques).
- Effectuer une redirection de port, en dirigeant les requêtes externes vers des serveurs internes.
Il existe deux principaux types : NAT source (SNAT) et NAT destination (DNAT).
SNAT pour les connexions sortantes
Le NAT source (SNAT) modifie l'adresse IP source des paquets. Il est couramment utilisé lorsque des serveurs internes doivent accéder à Internet via un serveur passerelle possédant une adresse IP publique.
La mascarade est une forme particulière de SNAT dans laquelle l'adresse IP de l'interface sortante est automatiquement utilisée comme adresse IP source. Elle est utile avec les adresses IP dynamiques.
Exemple : autoriser le réseau interne 192.168.0.0/24 à accéder à Internet via eth0.
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADEDNAT pour les services entrants
Le NAT de destination (DNAT) modifie l’adresse IP de destination des paquets. C’est idéal pour la redirection de ports, qui permet d’exposer sur Internet, via l’adresse IP publique de votre serveur passerelle, un service exécuté sur un serveur interne.
Exemple : rediriger les requêtes web entrantes (port 80) sur eth0 vers un serveur web interne à l’adresse 192.168.1.100.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80Se défendre contre la force brute
IPTables peut aider à se protéger contre des attaques courantes, comme les tentatives de connexion par force brute (par exemple avec SSH), en limitant le débit auquel les nouvelles connexions sont acceptées depuis une adresse IP source.
Le module limit permet de définir un débit et une limite de rafale. N’oubliez pas de supprimer les connexions suivantes une fois la limite atteinte.
Exemple : limiter les nouvelles connexions SSH à 3 par minute, avec une rafale initiale de 3 connexions, puis supprimer les autres.
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/minute --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROPLogique des règles IPTables
Imaginez un serveur qui joue le rôle de passerelle. Il possède une interface publique eth0 et une interface interne eth1 (connectée à 192.168.1.0/24).
Quelle commande IPTables permettrait de rendre accessible depuis Internet, sur le port 80, un serveur web interne à l’adresse 192.168.1.50 ?
Récapitulatif : maîtriser IPTables
Félicitations ! Vous avez exploré des concepts avancés d’IPTables :
- Pare-feu à états avec les états
ESTABLISHED,RELATEDetNEW. - Création de règles complexes en combinant plusieurs critères de correspondance.
- Mise en œuvre de la traduction d’adresses réseau (NAT) pour le trafic sortant (SNAT/Masquerade) et entrant (DNAT/Port Forwarding).
- Utilisation du module
limitpour une protection de base contre les attaques.
Ces compétences sont essentielles pour créer des environnements de serveurs Linux robustes et sécurisés. N’oubliez pas d’enregistrer vos règles IPTables après toute modification, car elles ne sont pas persistantes par défaut !
Questions Fréquemment Posées
La leçon « Règles de pare-feu avancées (IPTables) » est-elle gratuite ?
Oui — le texte complet de « Règles de pare-feu avancées (IPTables) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Règles de pare-feu avancées (IPTables) » ?
Maîtrisez IPTables pour créer des règles de pare-feu complexes et à états, mettre en œuvre la traduction d’adresses réseau (NAT) et protéger votre serveur contre les attaques sophistiquées. Tu pratiques Linux Server Deployment & SSH Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Linux Server Deployment & SSH Mastery ?
Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Règles de pare-feu avancées (IPTables) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Linux Server Deployment & SSH Mastery ?
Oui. Chaque leçon Linux Server Deployment & SSH Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Audit de sécurité du serveur
- Règles de pare-feu avancées (IPTables)
- Détection et prévention des intrusions
- Journalisation centralisée et intégration SIEM