Les commandes Guide du débutant des iptables (pare-feu Linux)

Les commandes Guide du débutant des iptables (pare-feu Linux)

Si vous utilisez des ordinateurs pendant quelque temps, vous devez être familier avec le mot "Pare-feu". Nous savons que les choses semblent complexes de la surface, mais à travers ce tutoriel, nous allons expliquer la base de Iptable et l'utilisation de commandes de base afin que même si vous êtes un étudiant en réseautage ou que vous souhaitez plonger en profondeur dans les réseaux, vous pouvez bénéficier de ce guide.

Qu'est-ce que les iptables?

La façon dont le Pare-feu fonctionne est assez simple. Il crée une barrière entre les réseaux de confiance et non fiables afin que votre système puisse être à l'abri des paquets malveillants.

Mais comment nous allons décider ce qui est sûr et ce qui n'est pas? Par défaut, vous obtenez un privilège pour établir des règles pour votre pare-feu, mais pour une surveillance plus détaillée des forfaits entrants et sortants, Iptables sont ce dont vous avez le plus besoin.

Iptables Peut être utilisé pour l'informatique personnelle ou peut également être appliqué à l'ensemble du réseau. En utilisant Iptables, Nous définirons un ensemble de règles par lesquelles nous pouvons surveiller, autoriser ou bloquer les paquets réseau entrants ou sortants.

Plutôt que de simplement nous concentrer sur toute la partie théorie, nous allons seulement discuter de ce qui compte dans le monde pratique. Alors commençons par comprendre les concepts de base de Iptables.

Comprendre le concept d'iptables

En discutant Iptables, Nous devons comprendre 3 termes: les tables, Chaînes, et Règles. Comme ce sont les parties importantes, nous allons discuter de chacun d'eux.

Alors commençons par les tables.

Tables en iptables

Il existe 5 types de les tables en iptables et chacun a des règles différentes appliquées. Alors commençons par la table la plus courante "Filer".

  1. Table de filtre - C'est la table par défaut et principale lors de l'utilisation Iptables. Cela signifie que chaque fois que vous ne mentionnez aucun tableau spécifique lors de l'application de règles, ils seront appliqués à la table de filtre. Comme son nom l'indique, le rôle de la table de filtre est de décider si les packages doivent être autorisés à atteindre leur destination ou à refuser leur demande.
  2. NAT (traduction d'adresse réseau) - Comme son nom l'indique, ce tableau permet aux utilisateurs de déterminer la traduction des adresses réseau. Le rôle de ce tableau est de déterminer s'il faut modifier et comment modifier la source et la destination de l'adresse du paquet.
  3. Table de mange - Ce tableau nous permet de modifier les en-têtes IP des paquets. Par exemple, vous pouvez ajuster TTL Pour allonger ou court-circuiter des sauts de réseau que le paquet peut maintenir. De même, d'autres en-têtes IP peuvent également être modifiés en fonction de votre préférence.
  4. Table brute - L'utilisation principale de ce tableau est de suivre les connexions car elle fournit un mécanisme pour marquer les paquets pour afficher les paquets dans le cadre d'une session en cours.
  5. Table de sécurité - À l'aide de la table de sécurité, les utilisateurs peuvent appliquer interne Selinux Marques de contexte de sécurité sur les paquets réseau.

Pour la plupart des cas d'utilisation, les 2 derniers types (BRUT et Sécurité) de la table n'a pas grand-chose à faire et seules les 3 premières options sont comptées comme des tables principales.

Maintenant, parlons de Chaînes.

Chaînes en iptables

Ils se comportent à des points de la route du réseau où nous pouvons appliquer des règles. En iptables, nous 5 types de Chaînes Et nous discuterons de chacun d'eux. Gardez à l'esprit que chaque type de chaîne n'est pas disponible pour chaque type de table.

  1. Pré-roulement - Cette chaîne est appliquée à tout paquet entrant une fois qu'il est entré dans la pile de réseau et cette chaîne est traitée avant même toute décision de routage prise concernant la destination finale du paquet.
  2. Chaîne d'entrée - C'est le point où un paquet entre dans la pile réseau.
  3. Chaîne vers l'avant - C'est le point où le paquet a été transmis par votre système.
  4. Chaîne de sortie - La chaîne de sortie est appliquée au paquet lorsqu'elle est originaire de votre système et s'éteint.
  5. Post-routage - Il s'agit de l'opposé complet de la chaîne pré-routage et est appliqué à des paquets transmis ou sortants une fois la décision de routage prise.

Maintenant, la seule chose à discuter est règles, Et c'est le plus facile des 3 dont nous avons discuté ici. Alors, terminons ce qui reste sur la partie théorique.

Règles en iptables

Règles ne sont que l'ensemble ou les commandes individuelles par lesquelles les utilisateurs manipulent le trafic réseau. Une fois que chaque chaîne entrera en action, le paquet sera vérifié par rapport aux règles définies.

Si une règle ne satisfait pas à la condition, elle sera sautée à la suivante et si elle satisfait la condition, la règle suivante sera spécifiée par la valeur de la cible.

Chaque règle a deux composantes: le composant correspondant et le composant cible.

  1. Composant correspondant - Ce sont des conditions différentes pour définir les règles qui peuvent être appariées par le protocole, l'adresse IP, l'adresse du port, les interfaces et les en-têtes.
  2. Composant cible - Ceci est une action qui sera déclenchée une fois que les conditions seront remplies.

C'était la partie d'explication et maintenant nous couvrirons les commandes de base liées à Iptables en linux.

Installation du pare-feu iptables dans Linux

Dans les distributions linux modernes telles que la pop!_Os, Iptables Livré préinstallé mais si votre système n'a pas le package iptables, vous pouvez facilement l'installer par des instructions données:

Pour installer des iptables sur les distributions Linux basées sur RHEL telles que Rocky Linux, Almalinux et CentOS Stream, utilisez la commande DNF suivante.

$ sudo dnf install iptables-services 

Important: Si vous utilisez Firewalld, vous devrez le désactiver avant de passer à l'installation. Pour arrêter complètement le pare-feu, vous devrez utiliser les commandes suivantes:

$ sudo systemctl stop firewalld $ sudo systemctl désactiver le feu filef 

Pour installer iptables sur les distributions Linux basées à Debian, utilisez la commande APT suivante.

$ sudo apt install iptables 

Une fois que vous avez installé Iptables, Vous pouvez activer le pare-feu par des commandes données:

$ sudo systemctl activer iptables $ sudo systemctl start iptables 

Pour surveiller l'état de la Iptable Service, vous pouvez utiliser la commande donnée:

$ sudo systemctl status iptables 
Vérifier l'état des iptables

Apprendre les bases de la commande iptables dans Linux

Une fois que nous avons terminé avec l'installation, nous pouvons procéder à la syntaxe de Iptables ce qui vous permettra de modifier les valeurs par défaut et de vous permettre de configurer selon vos besoins.

La syntaxe de base de Iptables est comme suit:

# iptables -t type de table -options Points de chaîne Condition ou composant correspondant Action 

Comprenons l'explication de la commande ci-dessus:

Tableau

La première partie est -t où nous pouvons choisir parmi les 5 options de table disponibles et si vous supprimez le -t partie de la commande, il utilisera filtre table car c'est le type de table par défaut.

Options de chaîne

La deuxième partie est pour le chaîne. Ici, vous pouvez choisir parmi différentes options de point de chaîne et ces options sont données ci-dessous:

  • -UN - Ajoute une nouvelle règle à la chaîne à la fin de la chaîne.
  • -C - Vérifie la règle si elle satisfait aux besoins de la chaîne.
  • -D - Permet aux utilisateurs de supprimer une règle existante de la chaîne.
  • -F - Cela supprimera chaque règle définie par l'utilisateur.
  • -je - Permet aux utilisateurs d'ajouter une nouvelle règle à la position spécifiée.
  • -N - Crée une chaîne entièrement nouvelle.
  • -V - Lorsqu'il est utilisé avec l'option de liste, apporte des informations détaillées.
  • -X - Supprime la chaîne.

Composant correspondant

Les options de correspondance sont la condition de vérification des besoins de la chaîne. Vous pouvez choisir parmi diverses options et certaines d'entre elles sont données ci-dessous:

Protocoles -p source ip -s destination ip -d in interface -i out interface -o 

Pour TCP, Ils sont les suivants:

-sport -dport --TCP-FLAGS 

Composant d'action

Maintenant, si nous considérons la partie d'action, les options disponibles dépendent du type de table tel que Nat, Et la table Mangle a plus d'options par rapport aux autres. En utilisant l'action, vous pouvez également cibler un tableau ou une chaîne spécifique.

L'action la plus utilisée est Jump (-j) ce qui nous donnera plusieurs options telles que:

  • ACCEPTER - Il est utilisé pour accepter les paquets et la traversée finale.
  • GOUTTE - Il est utilisé pour laisser tomber les paquets et la traversée finale.
  • REJETER - Ceci est assez similaire à Drop mais il envoie des paquets rejetés à la source.
  • RETOUR - Cela arrêtera la traversée du paquet dans la sous-chaîne et enverra le paquet spécifique à la chaîne supérieure sans effet.

Une fois que nous aurons terminé avec la syntaxe, nous vous montrerons comment vous pouvez utiliser Iptables y compris la configuration de base.

Lister le jeu actuel des règles iptables

Si vous voulez vérifier ce qui passe par votre Pare-feu Par défaut, répertorier un ensemble actuel de règles est un moyen idéal. Pour répertorier les règles appliquées, utilisez la commande donnée:

$ sudo iptables -l 
Listing des règles iptables

Autoriser / refuser le trafic réseau sur des ports spécifiques

Dans cette section, nous vous montrerons comment vous pouvez autoriser ou refuser le trafic réseau pour des ports spécifiques. Nous vous montrerons des ports bien connus car nous voulons être aussi utiles que possible.
Si vous voulez autoriser Https trafic réseau, nous devrons autoriser le port non 443 en utilisant la commande donnée:

$ sudo iptables -a entrée -p tcp --dport 443 -j accepter 

De même, vous pouvez également désactiver Http Trafic Web par commande donnée:

$ sudo iptables -a entrée -p tcp --dport 80 -j rejet 

Explication des options de commande utilisées:

  • -p est utilisé pour vérifier le protocole spécifié et dans notre cas, c'est TCP.
  • --dport est utilisé pour spécifier le port de destination.
  • -J est utilisé pour prendre des mesures (accepter ou tomber).

Contrôler le trafic avec l'adresse IP

Oui, vous pouvez également contrôler le trafic réseau à partir d'une adresse IP. Pas seulement un ou deux mais également contrôler la gamme d'adresses IP et nous vous montrerons comment.

Pour permettre une adresse IP spécifique, utilisez la structure de commande donnée:

$ sudo iptables -a entrée -s 69.63.176.13 -J accepter 

De même, pour supprimer des paquets à partir d'une IP spécifique, vous devez utiliser la structure de commande donnée:

$ sudo iptables -a entrée -s 192.168.0.27 -J Drop 

Si vous le souhaitez, vous pouvez également contrôler la plage d'adresses IP en utilisant la structure de commande donnée:

$ sudo iptables -a gamme d'entrée -m - Src-Range 192.168.0.1-192.168.0.255 -J Rejet 

Supprimer la règle définie par l'utilisateur

Parfois, nous pouvons finir par faire des erreurs tout en créant des règles et la meilleure façon de surmonter ces erreurs est de les supprimer. La suppression des règles définies est le processus le plus simple tout au long de ce guide et pour les supprimer, nous devrons d'abord les énumérer.

Pour répertorier les règles définies avec des nombres, utilisez la commande donnée:

$ sudo iptables -l - line-numbers 
Liste des règles iptables

Pour supprimer les règles, nous devrons suivre la structure de commande donnée:

$ sudo iptables -d   

Supposons que je souhaite supprimer la 10e règle de SAISIR J'utiliserai donc la commande donnée:

$ sudo iptables -d entrée 10 

Pour vérifier si nous avons réussi à supprimer la règle, nous devons lister les règles par commande donnée:

$ sudo iptables -l -line-numbers 
Confirmer les règles iptables

Comme vous pouvez le voir, nous avons réussi à supprimer la 10e règle.

Enregistrer les règles iptables définis

Vous vous demandez peut-être pourquoi nous devons enregistrer des règles où ils fonctionnent bien après les avoir appliqués? Le problème est une fois que votre système redémarre, toutes les règles définies qui ne sont pas enregistrées seront supprimées, il est donc crucial pour nous pour nous.

Pour enregistrer les règles dans Rhel-Distros basés:

$ sudo / sbin / service iptables 

Pour enregistrer les règles dans Debian dérivés:

$ sudo / sbin / iptables-save 

Pour en savoir plus sur les règles de pare-feu iptables, consultez notre guide détaillé sur:

  • 25 Règles de pare-feu iptable utiles que chaque administrateur Linux devrait connaître

Tout au long de ce guide, nous avons essayé de simplifier les choses afin que tout le monde puisse en bénéficier. C'était un guide d'explication de base sur Iptables Et si vous avez des questions, n'hésitez pas à demander dans les commentaires.