📡 Réseaux & Télécoms PDF Gratuit

IPTables - Maîtriser le pare-feu Linux

Contenus explorés en détail

Ce cours approfondit les iptables, l'outil standard de filtrage de paquets sous Linux. Vous apprendrez à configurer des règles pour sécuriser un réseau, gérer le trafic entrant/sortant et comprendre les chaînes (INPUT, OUTPUT, FORWARD). Les concepts clés incluent les tables (filter, nat, mangle), les cibles (ACCEPT, DROP, REJECT) et les mécanismes de journalisation (LOG).

  • Maîtriser la syntaxe des règles iptables et leur priorité
  • Implémenter des politiques de sécurité réseau adaptatives
  • Diagnostiquer des problèmes de filtrage avec des outils comme tcpdump

Public concerné par ce PDF

Destiné aux administrateurs systèmes Linux, ingénieurs réseau et étudiants en cybersécurité. Prérequis : connaissances de base en ligne de commande et architecture TCP/IP. Les professionnels en transition vers DevOps y trouveront aussi des compétences clés pour sécuriser des conteneurs ou clouds.

Exemples pratiques et applications réelles

Un cas typique : bloquer les attaques DDoS en limitant les connexions SYN avec iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 30 -j DROP. Autre scénario : rediriger du trafic web vers un proxy transparent avec la table NAT. Les utilisateurs avancés créeront des règles dynamiques intégrées à des scripts bash pour réagir aux menaces en temps réel.

Secteurs d'application professionnelle

  • Hébergement web : Isolation des clients sur un serveur mutualisé via des règles par utilisateur. Exemple : restreindre l'accès SSH à certaines IP.
  • IoT industriel : Protection des équipements critiques en whitelistant uniquement les protocoles nécessaires (Modbus/TCP).
  • Télécoms : Optimisation du trafic avec QoS via la table mangle pour prioriser la VoIP.
Nouveauté 2025 : L'intégration croissante d'iptables avec eBPF pour une inspection plus fine des paquets sans compromettre les performances.

Guide des termes importants

  • Netfilter : Framework noyau Linux traitant les paquets, dont iptables est l'interface utilisateur.
  • Chaîne : Point de décision pour les paquets (ex: INPUT pour le trafic destiné à la machine locale).
  • SNAT/DNAT : Traduction d'adresses source/destination pour le routage ou le masquerading.
  • Conntrack : Module de suivi des connexions permettant un filtrage stateful.
  • User-defined Chain : Ensemble de règles personnalisables pour organiser des politiques complexes.

Réponses aux questions fréquentes

Comment sauvegarder/restaurer des règles iptables ?
Utilisez iptables-save > fichier.rules pour l'export et iptables-restore < fichier.rules pour la restauration. Persister les règles au reboot avec le paquet iptables-persistent (Debian) ou en intégrant la restauration dans /etc/rc.local.

Quelle différence entre DROP et REJECT ?
DROP supprime silencieusement le paquet tandis que REJECT envoie un message d'erreur (comme un ICMP port unreachable). REJECT est plus "gentil" pour les utilisateurs légitimes mais peut aider les attaquants à cartographier le réseau.

Comment bloquer un pays entier ?
Utilisez des ensembles IP comme ipset avec des plages d'IP par pays : iptables -A INPUT -m set --match-set pays_malveillant src -j DROP. Des listes géolocalisées sont disponibles via des outils comme ip2location.

iptables est-il obsolète avec nftables ?
Non, bien que nftables soit le successeur officiel, iptables reste largement utilisé. Une couche de compatibilité permet même de traduire les règles via iptables-nft.

Comment debugger une règle qui ne fonctionne pas ?
Ajoutez temporairement une règle LOG en haut de la chaîne : iptables -I INPUT 1 -j LOG --log-prefix "DEBUG INPUT" puis consultez /var/log/syslog. Vérifiez aussi l'ordre des règles avec iptables -L -v -n.

Exercices appliqués et études de cas

Projet 1 : Pare-feu pour serveur web
1. Bloquer tout le trafic entrant sauf HTTP/HTTPS/SSH
2. Limiter les connexions SSH à 3 tentatives/min
3. Autoriser le ping mais limiter les requêtes ICMP à 5/sec
4. Journaliser les tentatives d'accès aux ports non ouverts

Projet 2 : Routeur sécurisé pour petite entreprise
1. Configurer le NAT masquerading pour le partage de connexion
2. Isoler les services internes (comptabilité) du réseau guest
3. Prioriser le trafic Teams/Slack sur le WiFi
4. Mettre en place une honeypot sur un port inutilisé