TP : Sécurisation réseau et filtrage avec Iptables
Compétences évaluées :
Définition d'une politique de sécurité par défaut (Default DROP)Filtrage stateful avec le module conntrack (ESTABLISHED, RELATED)Autorisation ciblée de flux d'administration (SSH) et web (HTTP)Translation d'adresses (NAT Masquerade / SNAT) et redirection de ports (DNAT)Troubleshooting et persistance des règles de pare-feu
🎯 Contexte du scénario
Vous êtes en charge de la sécurisation réseau d'un serveur Linux faisant office de passerelle et de serveur d'hébergement.
Pour répondre aux exigences de sécurité de l'infrastructure :
- La politique par défaut doit être restrictive : tout le trafic entrant et transféré non explicitement autorisé doit être rejeté.
- Les services légitimes (Web, SSH) doivent être filtrés avec précision (isolation de l'administration SSH à un bastion de confiance).
- Le serveur doit assurer la connectivité des communications déjà établies et permettre la translation d'adresses (NAT) ainsi que la redirection d'un port externe vers un service local interne.
📝 Travail à réaliser
-
Initialisation et politique par défaut :
- Réinitialisez les tables existantes (
filteretnat). - Définissez une politique par défaut à
DROPpour les chaînesINPUTetFORWARD, et àACCEPTpourOUTPUT.
- Réinitialisez les tables existantes (
-
Flux internes et suivi de connexions (Stateful Firewall) :
- Autorisez l'intégralité du trafic sur l'interface de boucle locale (
lo). - Autorisez les paquets entrants appartenant à des connexions déjà établies ou apparentées (
ESTABLISHED,RELATED).
- Autorisez l'intégralité du trafic sur l'interface de boucle locale (
-
Filtrage des services d'entrée :
- Autorisez le trafic web HTTP (port TCP
80) depuis n'importe quelle source. - Autorisez l'accès d'administration SSH (port TCP
22) uniquement depuis l'adresse IP du bastion d'administration (192.168.1.50).
- Autorisez le trafic web HTTP (port TCP
-
Translation d'adresses (NAT) et redirection de ports (Port Forwarding / Port Loopback) :
- Activez le masquage IP (NAT Masquerade / SNAT) pour permettre aux machines du sous-réseau privé
10.0.0.0/24d'accéder à Internet via l'interface externeeth0. - Configurez une règle DNAT pour rediriger les connexions arrivant sur le port
8080de l'interface externe (eth0) vers le port80d'un serveur applicatif interne (10.0.0.10:80).
- Activez le masquage IP (NAT Masquerade / SNAT) pour permettre aux machines du sous-réseau privé
-
Contrôle et validation :
- Affichez la liste détaillée et numérotée des règles actives avec leurs compteurs de paquets/octets.
💡 Indice
- Pour le suivi d'état des connexions, utilisez l'extension moderne
-m conntrack --ctstate ESTABLISHED,RELATED. - N'oubliez pas d'activer le routage IPv4 (
net.ipv4.ip_forward = 1) dans le noyau si vous transférez des paquets via la table NAT.