Comment configurer le pare-feu sous Linux avec IPtables

Linux iptable

Bien que parfois je touche encore Windows par moi-même et dans beaucoup d'autres, ils me forcent (marditoh rodoreh) quand je dois faire des choses loin de mes ordinateurs, pour moi, parler de Windows est comme quelque chose qui est laissé loin derrière dans le temps. Lorsque je l'ai utilisé comme système principal (je n'en avais pas d'autre), j'ai essayé de le protéger avec des logiciels comme l'antivirus de Kaspersky et le pare-feu occasionnel, parmi de nombreux autres outils de sécurité. Sous Linux, nous n'avons jamais été aussi exposés que sous Windows, mais il existe également des logiciels qui nous aident à être plus calmes, tels que IPtables, un pare-feu ou un pare-feu.

Le pare-feu est un système de sécurité chargé de contrôler le trafic réseau entrant et sortant d'un système d'exploitation. L'un des plus répandus sous Linux est le susmentionné IPtables, au point que, probablement et sans que vous le sachiez, il a déjà été installé dans votre système d'exploitation depuis que vous l'avez publié. Ce que nous allons essayer de faire dans cet article est d'expliquer comment configurer le pare-feu sous linux avec les tables IP.

IPtables sous Linux, ce que vous devez savoir

Configuration d'un pare-feu peut être compliqué, et plus encore dans un système d'exploitation comme Linux dans lequel le meilleur est obtenu au toucher d'un terminal. Avant de commencer, il est conseillé de connaître un peu les problèmes de réseau et de sécurité, ou du moins de comprendre que, lorsque nous sommes connectés, nous communiquons avec d'autres équipements, et ces appareils ou leurs propriétaires peuvent avoir de bonnes ou de mauvaises intentions. Pour cette raison, selon l'utilisation que nous faisons de notre PC, il vaut la peine de contrôler tout ce qui sort et tout ce qui y entre.

De plus, et pour ce qui pourrait arriver, si nous avons un autre pare-feu sur notre système Linux et que nous allons commencer à peaufiner les choses dans IPtables, cela vaut la peine de faire une copie de sauvegarde de notre configuration actuelle de pare-feu. Avec tout cela clair, nous commençons à parler pleinement de la configuration d'IPtables.

  1. La première chose que nous devons faire est d'installer le paquet. La plupart des distributions Linux l'ont installé par défaut, mais ce n'est pas toujours le cas. Pour savoir si IPtables est installé dans notre système d'exploitation, nous ouvrons un terminal et écrivons iptables -v. Dans mon cas et au moment d'écrire cet article, mon terminal me renvoie iptable v1.8.8. S'il n'est pas installé, il peut être installé avec :

Ubuntu/Debian ou dérivés :

sudo apt installer iptables

Fedora/Redhat ou dérivés :

sudo miam installer iptables

Arch Linux et dérivés

sudo pacman -Siptables

Après l'installation, il sera activé avec :

sudo systemctl activer iptables sudo systemctl démarrer iptables

Et vous pouvez voir son statut avec :

statut sudo systemctl iptables
  1. Avec le pare-feu déjà installé, vous devez configurer ses règles. Les règles IPtables sont divisées en tableaux (dont nous parlerons plus en détail plus loin dans cet article) : filter, nat et mangle, auxquels il faut ajouter raw et security. La table filter est utilisée pour contrôler le trafic entrant et sortant, la table nat est utilisée pour faire du NAT (Network Address Translation) et la table mangle est utilisée pour modifier le paquet IP. Pour configurer les règles de la table de filtrage, les commandes suivantes sont utilisées :
  • iptables -A INPUT -j ACCEPT (autoriser tout le trafic entrant).
  • iptables -A OUTPUT -j ACCEPT (autoriser tout le trafic sortant).
  • iptables -A FORWARD -j ACCEPT (autoriser tout le trafic de routage). Cependant, cette configuration autorise tout le trafic et n'est pas recommandée pour un système de production. Il est important de spécifier les règles de pare-feu en fonction des besoins spécifiques du système. Par exemple, si vous souhaitez bloquer le trafic entrant sur le port 22 (SSH), vous pouvez utiliser la commande :
iptables -A INPUT -p tcp --dport 22 -j DROP
  1. Une autre chose importante est de sauvegarder les paramètres, afin de ne pas les perdre lors du redémarrage du système. Sur Ubuntu et Debian, la commande "iptables-save" est utilisée pour enregistrer les configurations actuelles dans un fichier. Sur Red Hat et Fedora, la commande "service iptables save" permet de sauvegarder les configurations. Si vous ne savez pas laquelle utiliser, les commandes Ubuntu/Debian ont tendance à fonctionner sur plus de distributions.

Charger les configurations après un redémarrage

Pour charger les paramètres enregistrés, les mêmes commandes utilisées pour les enregistrer sont utilisées, mais avec l'action "restaurer" au lieu de "enregistrer". Sur Ubuntu et Debian, la commande "iptables-restore" est utilisée pour charger les configurations enregistrées à partir d'un fichier. Sur Red Hat et Fedora, la commande "service iptables restore" est utilisée pour charger les configurations enregistrées. Encore une fois, si vous avez des doutes sur la commande à utiliser, les commandes Ubuntu/Debian fonctionnent généralement mieux.

Il est important de noter que si des modifications sont apportées aux paramètres du pare-feu, elles doivent être enregistrées et rechargées pour que les modifications prennent effet. C'est un moyen d'écraser le fichier de configuration avec les nouvelles données, et si ce n'est pas fait de cette façon, les modifications ne seront pas enregistrées.

Tableaux dans IPtables

Il y a des types 5 de dessiner dans IPTables et chacune a des règles différentes appliquées :

  • une fonction filtre : Il s'agit de la table principale et par défaut lors de l'utilisation d'IPTables. Cela signifie que si aucune table spécifique n'est mentionnée lors de l'application des règles, les règles seront appliquées à la table de filtrage. Comme son nom l'indique, le rôle de la table de filtrage est de décider s'il faut autoriser les paquets à atteindre leur destination ou refuser leur requête.
  • nat (Network Address Translation) : Comme son nom l'indique, cette table permet aux utilisateurs de déterminer la traduction des adresses réseau. Le rôle de cette table est de déterminer si et comment modifier l'adresse du paquet source et destination.
  • mangle: Cette table permet de modifier les en-têtes IP des paquets. Par exemple, le TTL peut être ajusté pour allonger ou raccourcir les sauts de réseau que le paquet peut prendre en charge. De la même manière, d'autres en-têtes IP peuvent également être modifiés selon vos préférences.
  • brut: L'utilisation principale de cette table est de suivre les connexions car elle fournit un mécanisme de marquage des paquets pour afficher les paquets dans le cadre d'une session en cours.
  • sécurité: À l'aide de la table de sécurité, les utilisateurs peuvent appliquer des indicateurs de contexte de sécurité internes SELinux aux paquets réseau.

Les deux derniers tableaux sont peu utilisés, au point que la plupart des documentations ne parlent que de filter, nat et mangle.

Dans le fichier d'aide, nous pouvons trouver des exemples sur la façon de gérer les IPtables. Pour le voir, nous allons ouvrir un terminal et taper iptables -h.

Bien qu'iptables soit l'une des meilleures options disponibles pour Linux, si vous préférez quelque chose de plus simple avec une interface graphique, vous pouvez jeter un œil à Firewalld.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.