Insérer une règle dans IPtables

I. Présentation

Dans ce court tutoriel nous allons voir comment insérer une règle IPtables dans un ensemble de règles déjà présentes. Cela permet d'éviter de tout supprimer puis de tout réécrire ce qui peut poser des difficultés sur les environnements en production.

II. Procédure

Il existe sous IPtables une option qui permet de faire cela, on doit dans un premier temps lister nos règles pour y afficher un numéro ce qui nous permettra d'être plus précis lors de l'insertion de notre règle. On va pour cela utiliser la commande suivante :

iptables -L --line-number

On aura alors l'affichage des règle pour les tables INPUT, OUTPUT et FORWARD :

Suppresion règle iptables
Toutes les autres règles sont présentes dans les tables avec un numéro

Pour avoir les tables PRE et POSTROUTING, il faut utiliser la commande suivante :

iptables -L -t nat --line-number

Nous savons maintenant où ajouter notre règle, par exemple si nous souhaitons la positionner entre les règles 3 et 4 de la table INPUT, on utilise la commande suivante avec l'option "-I" :

iptables -I INPUT 4 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

On utilise donc l'option "-I" pour insérer où l'on précise la table "INPUT" puis la ligne "4".

Note : Si on spécifie la ligne numéro 4, notre règle ira en ligne numéro 4 et l'ancienne règle numéro 4 deviendra la ligne numéro 5 et ainsi de suite.

 

 

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d’IT-Connect.fr et d’Information-security.fr.
Auditeur sécurité chez Amossys.

    mickael a publié 477 articles sur IT-Connect.See all posts by mickael

    2 réactions sur “Insérer une règle dans IPtables

    • 12/05/2014 à 12:02
      Permalink

      Salut,
      Merci pour l’option -I, je ne la connaissais pas.

      Par contre sur un serveur en « prod » ça reste quand même dangereux, le mode « test » pour les scripts ou « iptables-apply » sont à privilégier!!!
      Une erreur de commande et c’est le drame…
      Le mode test => 30 secondes pour tester puis reviens à la config initiale.
      iptables-apply => avec un timeout si on ne répond pas avant la fin du timeout reviens à la config initiale.

      Bien sure une autre bonne pratique serait d’avoir toujours cette règle en premier => iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
      Qui éviterait de se faire couper l’herbe sous les pieds….après un changement …..;-)

      Badmaniak.

      Répondre
      • 12/05/2014 à 12:10
        Permalink

        Bonjour,

        Très intéressant le iptables-apply je ne connaissait pas. Effectivement il faut être sûr de son coup pour utiliser cette manière de faire, il faut être prudent avec ce genre de commande car on a vite fait de se tromper. Merci pour les infos =)

        Mickael.

        Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *