Skip to main content

TP : Sécurisation réseau et filtrage avec Iptables

Niveau : Moyen⏳ Temps conseillé : 30 min
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 :

  1. La politique par défaut doit être restrictive : tout le trafic entrant et transféré non explicitement autorisé doit être rejeté.
  2. Les services légitimes (Web, SSH) doivent être filtrés avec précision (isolation de l'administration SSH à un bastion de confiance).
  3. 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​

  1. Initialisation et politique par défaut :

    • Réinitialisez les tables existantes (filter et nat).
    • Définissez une politique par défaut à DROP pour les chaînes INPUT et FORWARD, et à ACCEPT pour OUTPUT.
  2. 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).
  3. 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).
  4. 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/24 d'accéder à Internet via l'interface externe eth0.
    • Configurez une règle DNAT pour rediriger les connexions arrivant sur le port 8080 de l'interface externe (eth0) vers le port 80 d'un serveur applicatif interne (10.0.0.10:80).
  5. 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.

💡 Solution détaillée​