Filtrage réseau avec netfilter/iptables

Philippe Latu

inetdoc.net
Enseignant
IUT / UPSSITECH / STRI - Université Toulouse 3

Résumé

Ce support de travaux pratiques est une introduction au filtrage réseau. Il reprend la topologie Hub & Spoke des autres supports de la série. Les questions débutent par l'identification des outils et passent à l'application des règles de filtrage avec et sans suivi de communication (stateful vs stateless inspection). On introduit aussi les fonctions de traduction d'adresses (NAT).


1. Copyright et Licence

Copyright (c) 2000,2024 Philippe Latu.
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.3 or any later version
published by the Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
in the section entitled "GNU Free Documentation License".
Copyright (c) 2000,2024 Philippe Latu.
Permission est accordée de copier, distribuer et/ou modifier ce document selon
les termes de la Licence de Documentation Libre GNU (GNU Free Documentation
License), version 1.3 ou toute version ultérieure publiée par la Free Software
Foundation ; sans Sections Invariables ; sans Texte de Première de Couverture,
et sans Texte de Quatrième de Couverture. Une copie de la présente Licence est
incluse dans la section intitulée « Licence de Documentation Libre GNU ».

Méta-information

Cet article est écrit avec DocBook XML sur un système Debian GNU/Linux. Il est disponible en version imprimable au format PDF : interco.netfilter.qa.pdf.

Toutes les commandes utilisées dans ce document ne sont pas spécifiques à une version particulière des systèmes GNU/Linux. C'est la distribution Debian GNU/Linux qui est utilisée pour les tests présentés. Voici une liste des paquets contenant les commandes :

  • procps - utilitaires pour le système de fichiers /proc

  • iproute2 - outils de contrôle du trafic et du réseau

  • ifupdown - outils de haut niveau pour configurer les interfaces réseau

  • iputils-ping - outils pour tester l'accessibilité de noeuds réseaux

  • iputils-tracepath - Tools to trace the network path to a remote host

  • hping3 - Active Network Smashing Tool

  • thc-ipv6 - The Hacker Choice's IPv6 Attack Toolkit

  • iptables - outils d'administration pour le filtrage de paquets et le NAT

  • iptstate - top-like interface to your netfilter connection-tracking table

  • conntrack - programme pour modifier les tables conntrack

Conventions typographiques

Tous les exemples d'exécution des commandes sont précédés d'une invite utilisateur ou prompt spécifique au niveau des droits utilisateurs nécessaires sur le système.

  • Toute commande précédée de l'invite $ ne nécessite aucun privilège particulier et peut être utilisée au niveau utilisateur simple.

  • Toute commande précédée de l'invite # nécessite les privilèges du super utilisateur.

Le recours aux commandes grep et fmt sert à optimiser la quantité et l'espace occupés dans les copies d'écran données en réponse aux questions. Tous les “tubes“ utilisés pour les copies d'écran peuvent être supprimés de façon à afficher toutes les informations sur un espace qui occupe toute la largeur de la console.