Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Le filtrage de paquets

Il y a de nombreuses raisons de faire un tel filtrage, tant en IPv4 qu'en IPv6, la plus souvent pour protéger les systèmes des agressions extérieures (pare-feu), mais pas seulement.

Pour cette étude, comme d'habitude, une maquette virtuelle fera l'affaire. Reprenons celle utilisée pour l'exposé sur DHCP: Maquette virtuelle La station qui fait office de routeur/DHCP/DNS va en plus devoir assurer la protection du LAN en vert, autant en IPv4 qu'en IPv6

Position du problème

Cette station doit:

  1. assurer le routage IPv4 avec un masquage d'adresses, nous avions vu pourquoi dans le chapitre sur l'ajout d'un routeur en IPv4,
  2. assurer la liaison avec la délégation du bloc IPv6 2a01:e0a:875:b1d2::/64, comme vu dans le chapitre sur Les préfixes secondaires en IPv6,
  3. assurer qu'il soit protégé des agressions de l'extérieur, LAN orange compris, sur ses services DHCP et DNS,
  4. être tout de même capable d'assurer les dialogues DNS pour la maintenance de son cache,
  5. assurer au moins un minimum de sécurité pour les clients IPv6 du LAN vert

Normalement, Netfilter doit permettre de répondre à toutes ces exigences.

Netfilter dans la pile IP

Les poignées de Netfilter En tout état de cause, dans l'explication qui suit, quelles que soient l'origine des paquets qui entrent dans la pile de protocoles IP quelle que soit l'interface1) (enp1s0, enp7s0 et même l'interface «lo»2), ils vont le faire par le même point et ceux qui doivent en sortir vont le faire par le même autre point.  Netfilter se présente comme une série de 5 “hooks” (points d'accrochage), sur lesquels des modules de traitement des paquets vont se greffer pour permettre le traitement plus ou moins complexe à réaliser. Ces points sont:

  1. NF_IP_PRE_ROUTING;
  2. NF_IP_LOCAL_IN;
  3. NF_IP_FORWARD;
  4. NF_IP_LOCAL_OUT;
  5. NF_IP_POSTROUTING;

Lorsqu'un paquet entre:

  • soit il entre pour accéder à un process local, par exemple pour mettre à jour le cache DNS, ou pour interroger ce même cache, ou informer du voisinage réseau IPv6,
  • soit il entre pour être routé dans l'autre réseau.

En se souvenant toujours que que les décisions à prendre suivront le même ordre, que ce soit enp1s0 en entrée et enp7s0 en sortie ou l'inverse.

Les poignées de Netfilter peuvent se présenter également ainsi: Les «hooks» de Netfilter Bien entendu, tout ceci est schématisé à l'extrême, dans le but de mettre en évidence les points où Netfilter est en mesure d'agir sur les paquets.

Les compétences de Netfilter

A travers ces cinq points d'insertion, Netfilter va être capable :

  • D'effectuer des filtrages de paquets, principalement pour assurer des fonctions de Firewall. On pourra par exemple interdire à tous les paquets s'adressant au port 23 (Telnet) de passer, mais pas ceux venant de la station d'administration du LAN vert, Telnet n'étant manipulable que par l'administrateur,
  • D'effectuer des opérations de NAT (Network Address Translation) Ces fonctions sont particulièrement utiles lorsque l'on veut faire communiquer tout ou partie d'un réseau privé, monté avec des adresses IP privées (192.168.x.x par exemple) avec l'Internet, comme nous l'avons déjà un peu mis en œuvre.
  • D'effectuer des opérations de marquage des paquets, pour leur appliquer un traitement spécial. Ces fonctionnalités sont particulièrement intéressantes sur une passerelle de réseau d'entreprise,  un peu moins pour notre cas de réseau domestique.

Pour réaliser ces opérations, Netfilter est en mesure d'écrire des chaînes de règles dans des tables. Il y a dans Netfilter trois tables qui correspondent aux trois principales fonctions vues plus haut:

1)
Il faut bien comprendre cette subtilité: Le traitement se fait en entrée, en traversée ou en sortie, aussi bien dans un sens que dans l'autre.
2)
ce qui peut arriver si deux process distincts mais locaux tous les deux doivent communiquer entre eux par un socket réseau
Le cœur du système: Dernière modification le: 28/03/2025 à 15:46 par prof