Configuration et utilisation de iptables sous Linux

iptables est une interface permettant de configurer netfilter qui n’est autre que l’outil de gestion du pare-feu (firewall) intégré aux systèmes Linux.

Fonctionnement

iptables fonctionne selon un système de tables, ces tables sont composées de chaînes.
Tout paquet entrant est analysé afin de déterminer notamment sa source et sa destination.
Elle est composée de trois sortes de chaîne :

Permet d’analyser les paquets entrants. Si le paquet est adressé au poste, il est confronté au filtre INPUT.

Permet d’analyser et d’autoriser les trames à passer d’une interface à une autre, seulement dans le cadre d’une interface réseau servant de passerelle.

Permet d’analyser les paquets sortants. Si le paquet sort du poste, il passera par la chaîne OUTPUT.

À cette table, peuvent être affectées des politiques (policy) : DROP, LOG, ACCEPT et REJECT.


Exécution des règles

Il existe plusieurs méthodes pour activer vos règles de firewall ou le rendre actif même après un reboot : la création manuelle des règles, l’écriture dans un fichier executable, le stockage dans un fichier appelé par un script, …

Voici les 2 méthodes les plus courantes pour les activer et les conserver après reboot:

1ère méthode

Créez votre fichier de script (vous trouverez un exemple de script iptables entier dans le paragraphe suivant) puis faites en un exécutable de démarrage :

2ème méthode

Exécutez les commandes iptables directement depuis le prompt puis rendez-les “persistantes” (toujours actives après reboot) :

Il prend les arguments save pour sauvegarder les règles, flush pour vider toutes les règles et reload pour les recharger depuis les fichiers précités.


Exemple de script autonome

Voici un exemple de script à rendre exécutable et à charger au démarrage :


Tester l’ouverture d’un port

Afin de tester le bon fonctionnement d’une application ou l’implémentation d’une règle de filtrage de type firewall vous avez la possibilité d’utiliser l’outil “Telnet” intégré à une majorité de systèmes d’exploitation.

L’utilisation se fait depuis une invite de commande ( Microsoft : PowerShell ou via un terminal en environnement Unix/Linux).

Voici un exemple de contrôle de la bonne ouverture du port 80 sur le site www.jaguar-network.com

Le port est ouvert, l’application est connectée et attend que vous y passiez une commande.
Si le port est fermé, le logiciel n’arrive pas à lancer la connexion et les messages suivants peuvent être rencontrés :

Configuration et utilisation de iptables sous Linux