Comment vérifier si un filtre de paquets réseau est actif sous Linux

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un filtre de paquets réseau est actif sous Linux. Vous explorerez les méthodes traditionnelles utilisant iptables pour lister les règles de pare-feu et examinerez le nouveau cadre (framework) nftables en listant son jeu de règles (ruleset). Enfin, vous vérifierez les paramètres du filtre en inspectant les fichiers pertinents dans le répertoire /proc/sys/net, ce qui vous permettra de comprendre de manière complète comment déterminer l'état du filtrage des paquets réseau sur un système Linux.

Lister les règles iptables avec iptables -L

Dans cette étape, vous apprendrez à afficher les règles de pare-feu actuelles en utilisant la commande iptables. iptables est un utilitaire traditionnel en ligne de commande utilisé pour configurer le pare-feu du noyau Linux.

Les pare-feu sont essentiels pour la sécurité réseau. Ils contrôlent le trafic réseau entrant et sortant en fonction d'un ensemble de règles. Ces règles déterminent si une connexion spécifique doit être autorisée ou bloquée.

Pour lister les règles iptables actuelles, vous utiliserez l'option -L. Cette option indique à iptables de lister les règles dans les chaînes spécifiées.

Ouvrez le terminal si vous ne l'avez pas déjà fait. Tapez la commande suivante et appuyez sur Entrée :

sudo iptables -L

Vous devez utiliser sudo car la visualisation des règles de pare-feu nécessite des privilèges d'administrateur.

Vous verrez une sortie similaire à celle-ci :

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Cette sortie montre les règles pour les trois chaînes par défaut : INPUT, FORWARD et OUTPUT.

  • INPUT : Contrôle le trafic destiné à la machine locale.
  • FORWARD : Contrôle le trafic traversant la machine (utilisé pour le routage).
  • OUTPUT : Contrôle le trafic provenant de la machine locale.

La mention policy ACCEPT signifie que, par défaut, le trafic est autorisé dans ces chaînes si aucune règle spécifique ne correspond à celui-ci.

Si des règles spécifiques étaient configurées, elles seraient listées sous chaque chaîne, montrant des détails tels que la cible (par exemple, ACCEPT, DROP), le protocole (par exemple, tcp, udp), les adresses IP source et de destination, ainsi que les ports.

Pour l'instant, la configuration par défaut est simple, mais vous avez utilisé avec succès iptables pour afficher les règles actuelles.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier nftables avec nft list ruleset

Dans cette étape, vous allez explorer nftables, le successeur d'iptables. Bien qu'iptables soit toujours largement utilisé, nftables offre un cadre (framework) plus flexible et efficace pour le filtrage de paquets et la traduction d'adresses réseau (NAT - Network Address Translation).

nftables utilise l'utilitaire en ligne de commande nft pour gérer les jeux de règles (rulesets). Un jeu de règles est une collection de tables, de chaînes et de règles qui définissent la manière dont le trafic réseau est géré.

Pour afficher le jeu de règles nftables actuel, vous utiliserez la commande list ruleset.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

sudo nft list ruleset

Encore une fois, sudo est requis car la visualisation des règles de pare-feu nécessite des privilèges d'administrateur.

Vous pourriez voir une sortie similaire à celle-ci, ou elle pourrait être vide si aucune règle nftables n'est configurée :

table ip filter {
 chain INPUT {
  type filter hook input priority 0; policy accept;
 }

 chain FORWARD {
  type filter hook forward priority 0; policy accept;
 }

 chain OUTPUT {
  type filter hook output priority 0; policy accept;
 }
}

Cette sortie montre un jeu de règles nftables de base avec une table nommée filter pour la famille d'adresses ip. À l'intérieur de cette table, il y a trois chaînes : INPUT, FORWARD et OUTPUT, similaires à celles d'iptables.

  • table ip filter : Définit une table nommée filter pour le trafic IPv4.
  • chain INPUT { ... } : Définit la chaîne d'entrée.
  • type filter hook input priority 0; : Spécifie qu'il s'agit d'une chaîne de filtrage connectée (hooked) au chemin réseau d'entrée avec une priorité de 0.
  • policy accept; : Définit la politique par défaut de cette chaîne pour accepter le trafic.

Si des règles spécifiques étaient définies, elles seraient listées à l'intérieur des blocs de chaîne.

Comparer la sortie de iptables -L et de nft list ruleset peut vous donner une idée de quel système de pare-feu gère activement les règles sur le système, ou si les deux sont présents. Sur les systèmes modernes, nftables devient le standard par défaut.

Vous avez maintenant utilisé avec succès nft pour afficher le jeu de règles nftables actuel.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les paramètres de filtrage dans /proc/sys/net

Dans cette étape, vous allez explorer certains paramètres de filtrage réseau au niveau du noyau en examinant les fichiers dans le répertoire /proc/sys/net. Le système de fichiers /proc est un système de fichiers virtuel qui fournit des informations sur les processus et d'autres informations système. Le répertoire /proc/sys contient des fichiers qui vous permettent de visualiser et de modifier les paramètres du noyau à l'exécution.

Plus précisément, nous allons examiner les paramètres liés au filtrage et au transfert (forwarding) réseau.

Accédez au répertoire approprié en utilisant la commande cd :

cd /proc/sys/net/ipv4/conf/all/

Le répertoire /proc/sys/net/ipv4/conf/all/ contient des fichiers de configuration qui s'appliquent à toutes les interfaces réseau.

Maintenant, affichons le contenu d'un fichier lié au transfert. Utilisez la commande cat pour afficher le contenu du fichier forwarding :

cat forwarding

La sortie sera probablement 0 ou 1 :

0
  • 0 : Indique que le transfert IP est désactivé. Cela signifie que le système ne transférera pas les paquets entre différentes interfaces réseau.
  • 1 : Indique que le transfert IP est activé. Cela est nécessaire pour les routeurs ou les systèmes agissant en tant que passerelles.

Ensuite, examinons un paramètre lié au filtrage des paquets entrants avec une option de route source. Cette option peut parfois être utilisée de manière malveillante. Affichez le contenu du fichier accept_source_route :

cat accept_source_route

La sortie sera probablement 0 :

0
  • 0 : Indique que le système ignorera les paquets avec l'option de route source. C'est une mesure de sécurité courante.
  • 1 : Indique que le système acceptera les paquets avec l'option de route source.

Ces fichiers dans /proc/sys/net offrent une vue de bas niveau de la configuration du noyau pour gérer le trafic réseau. Alors que iptables et nftables gèrent les règles de filtrage, ces paramètres du noyau contrôlent le comportement réseau fondamental comme le transfert et la manière dont certaines options de paquets sont traitées.

Vous avez maintenant examiné avec succès les paramètres de filtrage réseau du noyau en utilisant le système de fichiers /proc.

Cliquez sur Continuer pour terminer le laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si un filtre de paquets réseau est actif sous Linux en examinant la configuration des outils de pare-feu courants. Vous avez commencé par utiliser la commande iptables -L pour lister les règles actuelles configurées avec l'utilitaire traditionnel iptables, en comprenant les chaînes par défaut (INPUT, FORWARD, OUTPUT) et leurs politiques.

Ensuite, vous avez exploré nftables, le remplacement moderne d'iptables, en utilisant la commande nft list ruleset pour afficher sa configuration. Enfin, vous avez appris à vérifier les paramètres de filtrage à un niveau plus bas en vérifiant les paramètres pertinents dans le répertoire /proc/sys/net, qui expose la configuration réseau du noyau.