15/11/2024

Commandes et SystèmeNetfilter

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.

 

 

 

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

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

  • 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
    • 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 e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.