Site icon Guides ✓ Magazine, Astuces, Tutoriels & Revues

Iptables: comment configurer le pare-feu dans les systèmes d’exploitation Linux

Iptables: comment configurer le pare-feu dans les systèmes d’exploitation Linux

Iptables: comment configurer le pare-feu dans les systèmes d’exploitation Linux

Un bref guide des bases d’iptables, le pare-feu intégré à Linux et utilisable dans la grande majorité des périphériques matériels basés sur le noyau penguin.

Diverses distributions Linux intègrent un composant appelé Netfilter qui s’occupe de gérer les paquets de données en transit. Il étend les capacités natives du noyau Linux en termes de routage de paquets et vous permet de créer des configurations de routeur et de pare-feu même très complexes.

Configurer Netfilter est couramment utilisé iptables qui vous permet de définir les règles pour les filtres réseau et la redirection NAT (lire le trafic de transfert vers des hôtes et des ports spécifiques; voir aussi Redirection de port, ce que c’est et quelle est la différence avec le déclenchement de port).

Les règles de pare-feu d’iptables peuvent être définies n’importe où: sur n’importe quelle distribution Linux, pour autoriser ou bloquer certains types de transferts de données, sur un serveur cloud et sur la plupart des périphériques matériels. Pensez simplement à pratiquement tous les routeurs utilisés dans l’entreprise, au bureau ou à la maison sont basés sur des noyaux Linux: les fabricants fabriquent des versions extrêmement légères des distributions que beaucoup d’entre nous connaissent et les adaptent pour réguler le fonctionnement des routeurs matériels et pare-feu.

Grâce à l’interface Web de l’appareil, vous avez généralement accès à un nombre limité de fonctionnalités lors de l’établissement d’une session SSH, vous pourrez personnaliser le comportement d’iptables en profondeur.

Découvrez comment fonctionne iptables c’est donc indispensable car tôt ou tard vous vous retrouverez dans la position de devoir en régler un politique pour autoriser ou refuser certains types de communications, entrantes et sortantes.

Imaginez connecter un serveur cloud Linux directement à Internet: pour des raisons de sécurité, il est essentiel de minimiser le nombre de ports ouverts qui peuvent également être atteints par des tiers sur l’IP publique (lire l’interface WAN).

Depuis Linux, la commande nmap -v suivi de l’adresse IP publique du serveur cloud, vous permettra de déterminer quels ports sont exposés publiquement: voir aussi Nmap, qu’est-ce que c’est et comment ça marche Le roi des scanners de port.

Comme vous pouvez le voir sur la figure, dans l’exemple, trois ports sont ouverts sur l’adresse IP publique: TCP 22 (SSH); TCP 80 (HTTP); TCP 3306 (MySQL).

Avec iptables les ports que vous souhaitez rendre inutilisables sur l’interface WAN peuvent être fermés, ce qui améliore considérablement la sécurité du réseau.

Dans nos articles pfSense, comment l’utiliser pour configurer un pare-feu sur le cloud et configurer un serveur OpenVPN avec pfSense, nous avons présenté une distribution logicielle basée sur BSD qui fait partie des meilleurs pare-feu avec autant de fonctionnalités intégrées.

Quiconque travaille avec un périphérique basé sur le noyau Linux directement connecté à Internet et incapable d’utiliser des solutions avancées telles que pfSense peut toujours obtenir les résultats souhaités en maîtrisant l’utilisation d’iptables.

Taper la commande sudo iptables -L sur le périphérique Linux localement ou à distance après avoir établi une connexion SSH, vous pouvez vérifier les règles NAT / pare-feu qui peuvent être en place.

Les règles imposées par iptables étant immédiatement appliquées, lors de l’utilisation d’une session à distance via SSH il est indispensable de ne pas faire de grosses erreurs, afin de ne pas risquer d’être bloqué hors de la machine, avec l’impossibilité d’y accéder à nouveau à distance.

Les deux exemples de règles suivants indiquent un iptables d’accepter les connexions uniquement depuis l’IP publique indiquée vers le port sur lequel le démon SSHd pour la gestion des demandes de connexion à l’aide du protocole SSH:

iptables -I INPUT -p tcp -s ADRESSE IP –dport 22 -j ACCEPTER

Dans ce cas, on a supposé que le port sur lequel le serveur SSHd écoute est le port standard (TCP 22). En supposant que vous ayez une adresse IP publique de type statique, insérez-la à la place de ADRESSE IP iptables n’acceptera que les demandes de connexion de cette IP tout en rejetant les autres.

Supposons que vous ayez un serveur dédié ou cloud directement connecté à Internet: après avoir assuré l’accès via SSH, vous pouvez bloquer les connexions sur tous les autres ports de communication en émettant les commandes suivantes:
iptables -P INPUT DROP
iptables -P DROP FORWARD

Comme vous pouvez le voir, en effectuant une analyse à partir d’un terminal client connecté par une adresse IP publique différente, aucun port ne semble ouvert:

Avec une politique comme iptables -A INPUT -p tcp –dport 80 -j ACCEPTER vous pouvez lui faire accepter tout le trafic entrant sur le port 80.

De cette façon, comme vous pouvez le voir, à partir d’adresses IP publiques tierces, vous ne verrez que le port 80 (HTTP):

En répétant l’analyse avec le périphérique client connecté au routeur avec une adresse IP statique utilisée pour l’administration du serveur à distance, le port 22 (SSH) sera également ouvert:

Dans les exemples, nous avons utilisé les utilitaires réseau PingTools pour Android, mais il existe des dizaines d’utilitaires similaires.

Si le trafic est autorisé ou bloqué en fonction de l’adresse IP du client utilisée, nous vous suggérons de vous équiper d’au moins deux adresses IP statiques fournies par les différents opérateurs de télécommunications. De cette manière, vous ne courrez pas le risque d’être définitivement expulsé du serveur distant en cas de changement, par exemple, de cette adresse statique (par exemple suite à une modification contractuelle).

Il est également important d’ajouter les règles suivantes qui vous permettent d’accepter la gestion du trafic sur l’interface de bouclage et de laisser entrer tout le trafic demandé manuellement (sinon vous ne pourrez même pas mettre à jour ou installer les progiciels):

iptables -A INPUT -i lo -j ACCEPTER
iptables -A INPUT -m state –state ESTABLISHED, RELATED -j ACCEPT

Il est bon de souligner que l’utilisation de l’option -LES sans spécifier de numérotation, la nouvelle règle sera placée au-dessus de celles déjà présentes (donc avec la priorité la plus élevée); utilisant le nouveau politique sera ajouté à la file d’attente.

Utiliser la syntaxe iptables -D les règles peuvent éventuellement être annulées.

En quelques étapes simples, vous obtenez un pare-feu logiciel qui permet le transit de toutes les données sortantes mais filtre tout le trafic entrant autorisant les adresses IP des clients tiers, uniquement la connexion sur le port 80 (vous pouvez alors éventuellement également ouvrir le port 443, HTTPS) tandis qu’à partir de l’adresse IP statique utilisée à des fins administratives, la connexion via le shell SSH est également possible.

Par exemple, dans l’article Comment bloquer l’utilisation de serveurs DNS alternatifs au sein du réseau local, nous avons vu comment utiliser iptables pour empêcher l’utilisation de serveurs DNS autres que ceux définis sur le routeur.

Découvrez également plus d’articles dans nos catégories Internet, productivité ou encore Ordinateurs et internet.

Merci pour votre visite on espère que notre article Iptables: comment configurer le pare-feu dans les systèmes d’exploitation Linux
vous aide, pour nous aider, on vous invite à partager l’article sur Facebook, twitter et e-mail avec les hashtag ☑️ #Iptables #comment #configurer #parefeu #dans #les #systèmes #dexploitation #Linux ☑️!

Quitter la version mobile