Les pare-feux

Présentation de Netfilter

Netfilter travaille sur des paquets réseaux (couche 3) ce qui signifie que ce sont sur des paquets que s'effectueront les tests de filtrage.

La couche réseau Linux présente plusieurs points d'accès (hook).

Concrètement, lorsqu'un paquet réseau atteint un de ces points d'accès, il est passé à Netfilter par l'intermédiaire de sa fonction de rappel (callback). Il est alors examiné pour prendre une décision concernant son traitement futur.

Netfilter se comporte comme un automate qui compare le paquet successivement à plusieurs règles. Et selon le résultat du test, le paquet est traité ou transmis au test suivant.

Remarque

Pour la couche liaison (niveau 2), on se tournera vers ebtables (Ethernet Bridge Tables).

DéfinitionUn hook

Dans le cas de Netfilter, il s'agit 5 endroits du système de gestion de la pile IP sur lesquels le framework peut agir.

Lorsque qu'un paquet arrive, le système d'exploitation arrête les tâches en cours, et exécute un morceau de code particulier. Une fois que ce code est fini, le système continue son travail.

Hook

Chaîne

Description

NF_IP_PRE_ROUTING

PREROUTING

A ce stade, le paquet est "brut", c'est à dire qu'il n'a subit aucune modification par rapport à ce que l'interface réseau a reçu.

NF_IP_LOCAL_IN

INPUT

Le paquet est prêt à être envoyé aux couches applicatives, c'est à dire aux serveurs et aux clients qui tournent sur la machine.

NF_IP_FORWARD

FORWARD

"Forward"est assez particulier.

Ce "hook" voit passer des paquets IP qui vont transiter d'une interface réseau à une autre, sans passer par la couche applicative afin de permettre à Linux de se transformer en passerelle.

NF_IP_LOCAL_OUT

OUPUT

Ce "hook" est l'équivalent du "NF_IP_LOCAL_IN", sauf qu'il est exécuté après que les couches applicatives aient traités, ou générés, un paquet IP.

NF_IP_POSTROUTING

POSTROUTING

C'est l'équivalent du "NF_IP_PRE_ROUTING" pour les paquets IP sortants de la couche IP. A ce stade, les paquets sont prêt à être envoyés sur l'interface réseau.

Exemple

netfilter

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)