Re: [HS] iptable comment insérer une règle?

2008-10-25 Par sujet Gaëtan PERRIER
Merci, je vais étudier celà à tête reposé.

Gaëtan

Le Fri, 24 Oct 2008 20:05:19 +0200
Franck Joncourt [EMAIL PROTECTED] a écrit:

 mouss wrote:
  Gaëtan PERRIER a écrit :
  C'est ce que je fais par défaut mais là je voulais ajouter dynamiquement
  des règles en fonction de l'apparition de connections vpn par ex. mais
  finalement je me dis que ce n'est peut-être pas problématique de les
  ajouter en premier avec un iptables -I ?
 
  
  
  La méthode usuelle est de créer une chaîne et d'insérer les règles
  dynamiques dans cette chaîne.
  
  si l'anglais ne te fait pas peur, tu peux jeter un coup d'oeil sur:
  
  http://dave.thehorners.com/tech-talk/unix-linux-bsd-osx-etc/76-information-about-the-linuxunix-os-and-friends/86-iptables-a-real-mans-firewall
  
 
 Voila ce que cela donne chez moi :p!
 
 [code]
 # ifup eth3
 Chargement du fichier : fw_config.sh
 dthfw v0.2
 Chargement du fichier : fw_modules.sh
 Chargement du fichier : fw_proc.sh
 Chargement du fichier : fw_rules.sh
 Chargement du fichier : eth3.sh
 [+] Loading iptables rules for eth3 interface ... Done.
 
 # iptables -L -v | grep eth3
 0 0 eth3_in_new  all  --  eth3   any anywhere
 anywhere
17  3006 eth3_out_new  all  --  anyeth3anywhere
 anywhere
 Chain eth3_in_new (1 references)
 Chain eth3_out_new (1 references)
 
 # ifdown eth3
 Chargement du fichier : fw_config.sh
 dthfw v0.2
 Chargement du fichier : fw_modules.sh
 Chargement du fichier : fw_proc.sh
 Chargement du fichier : fw_rules.sh
 Chargement du fichier : eth3.sh
 [+] Unloading rules for eth3 interface ... Done.
 
 # iptables -L -v | grep eth3
 
 [/code]
 
 Avec un simple script bash présent dans:
 
  - /etc/network/if-pre-up.d/
  - /etc/network/if-post-down.d
 
 Un petit exemple:
 [code]
 #!/bin/bash
 
 DTHFW=dthfw
 
 if [ $MODE = start ]; then
 MODE=load
 else
 MODE=unload
 fi
 
 invoke-rc.d $DTHFW $MODE $IFACE
 
 exit 0
 [/code]
 
 Ensuite, c'est le script firewall qui prend le relais et fait les
 vérifications d'usage:
- firewall démarré,
- recherche des règles associées à l'interface ...
 
 Aujourd'hui j'ai un fichier de règles par interface.
 
 Chaque fichier est renseigné de la même façon:
 
 [code]
 #!/bin/sh
 
 METHOD=$1
 IFACE=$2
 
 IPTABLES='/sbin/iptables'
 
 IN_CHAIN=$IFACE'_in_new'
 OUT_CHAIN=$IFACE'_out_new'
 
 =
 # Unload iptables rules for this specific interface
 #
 # This function removes all specific rules linked to this interface.
 # Therefore, the user defined chains are unlinked from the dynamic
 # chain, then flushed and by the end removed
 #
 # syntax : unload
 #
 # return : nothing
 unload ()
 {
 $IPTABLES -D dyn_in_new -i $IFACE -j $IN_CHAIN
 $IPTABLES -F $IN_CHAIN
 $IPTABLES -X $IN_CHAIN
 
 $IPTABLES -D dyn_out_new -o $IFACE -j $OUT_CHAIN
 $IPTABLES -F $OUT_CHAIN
 $IPTABLES -X $OUT_CHAIN
 }
 
 #
 =
 # Load iptables rules for this specific interface
 #
 # This function adds all specific rules linked to this interface.
 # Therefore, the user defined chains are created and linked to the
 # dynamic chains, then the ruleset is applied
 #
 # syntax : load
 #
 # return : nothing
 load ()
 {
 ...
 }
 [/code]
 
 On remarquera les chaines utilisateurs dyn_in_new et dyn_out_new dans
 lesquelles sont ajoutées une chaine utilisateur par interface.
 
 L'avantage est grand, car:
   - Le firewall n'est jamais redémarré à moins d'une modification de la
 politique par défaut.
   - Chaque ruleset associé à une interface peut-être chargé/déchargé de
 façon simple.
   - Une mise à jour de mon ruleset pour mon interface de test peut
 échouer sans impacter tout le firewall et verrouiller ainsi tous les accès.
   - Toutes les interfaces bénéficient de la politique par défaut bien
 qu'ajouter plus tard.
 
 -- 
 Franck Joncourt
 http://debian.org - http://smhteam.info/wiki/
 Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE
 
 

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [HS] iptable comment insérer une règle?

2008-10-24 Par sujet Marc Blanc
On Thu, 23 Oct 2008 21:24:06 +0200
Gaëtan PERRIER [EMAIL PROTECTED] wrote:

 
 Oui mais le problème c'est qu'avec cette commande ce n'est pas évident
 d'insérer juste avant la dernière règle, non?

Faire un script est le plus simple, ensuite l'exécuter au boot :
http://www.linux-france.org/prj/inetdoc/guides/iptables-tutorial/

-- 
M.B

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [HS] iptable comment insérer une règle?

2008-10-24 Par sujet Franck Joncourt
mouss wrote:
 Gaëtan PERRIER a écrit :
 C'est ce que je fais par défaut mais là je voulais ajouter dynamiquement des
 règles en fonction de l'apparition de connections vpn par ex. mais finalement
 je me dis que ce n'est peut-être pas problématique de les ajouter en premier
 avec un iptables -I ?

 
 
 La méthode usuelle est de créer une chaîne et d'insérer les règles
 dynamiques dans cette chaîne.
 
 si l'anglais ne te fait pas peur, tu peux jeter un coup d'oeil sur:
 
 http://dave.thehorners.com/tech-talk/unix-linux-bsd-osx-etc/76-information-about-the-linuxunix-os-and-friends/86-iptables-a-real-mans-firewall
 

Voila ce que cela donne chez moi :p!

[code]
# ifup eth3
Chargement du fichier : fw_config.sh
dthfw v0.2
Chargement du fichier : fw_modules.sh
Chargement du fichier : fw_proc.sh
Chargement du fichier : fw_rules.sh
Chargement du fichier : eth3.sh
[+] Loading iptables rules for eth3 interface ... Done.

# iptables -L -v | grep eth3
0 0 eth3_in_new  all  --  eth3   any anywhere
anywhere
   17  3006 eth3_out_new  all  --  anyeth3anywhere
anywhere
Chain eth3_in_new (1 references)
Chain eth3_out_new (1 references)

# ifdown eth3
Chargement du fichier : fw_config.sh
dthfw v0.2
Chargement du fichier : fw_modules.sh
Chargement du fichier : fw_proc.sh
Chargement du fichier : fw_rules.sh
Chargement du fichier : eth3.sh
[+] Unloading rules for eth3 interface ... Done.

# iptables -L -v | grep eth3

[/code]

Avec un simple script bash présent dans:

 - /etc/network/if-pre-up.d/
 - /etc/network/if-post-down.d

Un petit exemple:
[code]
#!/bin/bash

DTHFW=dthfw

if [ $MODE = start ]; then
MODE=load
else
MODE=unload
fi

invoke-rc.d $DTHFW $MODE $IFACE

exit 0
[/code]

Ensuite, c'est le script firewall qui prend le relais et fait les
vérifications d'usage:
   - firewall démarré,
   - recherche des règles associées à l'interface ...

Aujourd'hui j'ai un fichier de règles par interface.

Chaque fichier est renseigné de la même façon:

[code]
#!/bin/sh

METHOD=$1
IFACE=$2

IPTABLES='/sbin/iptables'

IN_CHAIN=$IFACE'_in_new'
OUT_CHAIN=$IFACE'_out_new'

=
# Unload iptables rules for this specific interface
#
# This function removes all specific rules linked to this interface.
# Therefore, the user defined chains are unlinked from the dynamic
# chain, then flushed and by the end removed
#
# syntax : unload
#
# return : nothing
unload ()
{
$IPTABLES -D dyn_in_new -i $IFACE -j $IN_CHAIN
$IPTABLES -F $IN_CHAIN
$IPTABLES -X $IN_CHAIN

$IPTABLES -D dyn_out_new -o $IFACE -j $OUT_CHAIN
$IPTABLES -F $OUT_CHAIN
$IPTABLES -X $OUT_CHAIN
}

#
=
# Load iptables rules for this specific interface
#
# This function adds all specific rules linked to this interface.
# Therefore, the user defined chains are created and linked to the
# dynamic chains, then the ruleset is applied
#
# syntax : load
#
# return : nothing
load ()
{
...
}
[/code]

On remarquera les chaines utilisateurs dyn_in_new et dyn_out_new dans
lesquelles sont ajoutées une chaine utilisateur par interface.

L'avantage est grand, car:
  - Le firewall n'est jamais redémarré à moins d'une modification de la
politique par défaut.
  - Chaque ruleset associé à une interface peut-être chargé/déchargé de
façon simple.
  - Une mise à jour de mon ruleset pour mon interface de test peut
échouer sans impacter tout le firewall et verrouiller ainsi tous les accès.
  - Toutes les interfaces bénéficient de la politique par défaut bien
qu'ajouter plus tard.

-- 
Franck Joncourt
http://debian.org - http://smhteam.info/wiki/
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE



signature.asc
Description: OpenPGP digital signature


Re: [HS] iptable comment insérer une règle?

2008-10-23 Par sujet .:: Alfred Sawaya ::.
iptables -I

et le man.

Gaëtan PERRIER a écrit :
 Bonjour,
 
 Est-il possible d'insérer une règle avec iptable?
 
 Gaëtan
 


-- 


 --
|
.:: Alfred Sawaya ::.
|
  --

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [HS] iptable comment insérer une règle?

2008-10-23 Par sujet Gaëtan PERRIER
Oui mais le problème c'est qu'avec cette commande ce n'est pas évident
d'insérer juste avant la dernière règle, non?

Le Thu, 23 Oct 2008 20:34:20 +0200
.:: Alfred Sawaya ::. [EMAIL PROTECTED] a écrit:

 iptables -I
 
 et le man.
 
 Gaëtan PERRIER a écrit :
  Bonjour,
  
  Est-il possible d'insérer une règle avec iptable?
  
  Gaëtan
  
 
 
 -- 
 
 
  --
 |
 .:: Alfred Sawaya ::.
 |
   --
 

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [HS] iptable comment insérer une règle?

2008-10-23 Par sujet Laurent Guignard
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Le mieux c'est d'écrire un script dans lequel tu incorpores tes règles
dans l'ordre que tu désires.
Après, tu peux tester tes règles.
Enfin tu fais en sorte que ce script soit exécuté au boot de la machine.

Je ne me souviens plus de la méthode préconisée pour Debian, mais moi
j'utilise le pre-up dans le fichier /etc/network/interfaces...

Mes 2 cents

Librement


Gaëtan PERRIER a écrit :
 Oui mais le problème c'est qu'avec cette commande ce n'est pas évident
 d'insérer juste avant la dernière règle, non?
 
 Le Thu, 23 Oct 2008 20:34:20 +0200
 .:: Alfred Sawaya ::. [EMAIL PROTECTED] a écrit:
 
 iptables -I

 et le man.

 Gaëtan PERRIER a écrit :
 Bonjour,

 Est-il possible d'insérer une règle avec iptable?

 Gaëtan


 -- 


  --
 |
 .:: Alfred Sawaya ::.
 |
   --

 

- --
Laurent Guignard, Registered as user #301590 with the Linux Counter
Site : http://www.famille-guignard.org
Blog : http://blog.famille-guignard.org
Projet : http://sicontact.sourceforge.net
GULL de Villefranche sur Saône : http://www.cagull.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJANIojcKpXFc/7oYRAmvQAKC2B7wtur0KyxZ/Dysr4R0z2CzwQACfYekJ
cwp1TXIW2mu2ZF9M0t5+4Vc=
=TMwO
-END PGP SIGNATURE-

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [HS] iptable comment insérer une règle?

2008-10-23 Par sujet Franck Joncourt
Salut,

Gaëtan PERRIER wrote:
 Oui mais le problème c'est qu'avec cette commande ce n'est pas évident
 d'insérer juste avant la dernière règle, non?

-I permet de spécifier l'emplacement de la règle dans une chaîne donnée.
Tu peux t-aider de l'argument --line-numbers pour définir l'emplacement
de ta nouvelle règle.

Par contre si tu veux le faire avec un script, regarde du côté des
modules perl libiptables-parse-perl et libiptables-chainmgr-perl.
Les pages de manuelle associées mettent en évidence les différentes
fonctions disponibles.

Ces modules sont à ce jour uniquement présents en Lenny, et en Sid
depuis les dépôts officiels.

-- 
Franck Joncourt
http://debian.org - http://smhteam.info/wiki/
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE



signature.asc
Description: OpenPGP digital signature


Re: [HS] iptable comment insérer une règle?

2008-10-23 Par sujet Gaëtan PERRIER
C'est ce que je fais par défaut mais là je voulais ajouter dynamiquement des
règles en fonction de l'apparition de connections vpn par ex. mais finalement
je me dis que ce n'est peut-être pas problématique de les ajouter en premier
avec un iptables -I ?

Le Thu, 23 Oct 2008 21:36:09 +0200
Laurent Guignard [EMAIL PROTECTED] a écrit:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Le mieux c'est d'écrire un script dans lequel tu incorpores tes règles
 dans l'ordre que tu désires.
 Après, tu peux tester tes règles.
 Enfin tu fais en sorte que ce script soit exécuté au boot de la machine.
 
 Je ne me souviens plus de la méthode préconisée pour Debian, mais moi
 j'utilise le pre-up dans le fichier /etc/network/interfaces...
 
 Mes 2 cents
 
 Librement
 
 
 Gaëtan PERRIER a écrit :
  Oui mais le problème c'est qu'avec cette commande ce n'est pas évident
  d'insérer juste avant la dernière règle, non?
  
  Le Thu, 23 Oct 2008 20:34:20 +0200
  .:: Alfred Sawaya ::. [EMAIL PROTECTED] a écrit:
  
  iptables -I
 
  et le man.
 
  Gaëtan PERRIER a écrit :
  Bonjour,
 
  Est-il possible d'insérer une règle avec iptable?
 
  Gaëtan
 
 
  -- 
 
 
   --
  |
  .:: Alfred Sawaya ::.
  |
--
 
  
 
 - --
 Laurent Guignard, Registered as user #301590 with the Linux Counter
 Site : http://www.famille-guignard.org
 Blog : http://blog.famille-guignard.org
 Projet : http://sicontact.sourceforge.net
 GULL de Villefranche sur Saône : http://www.cagull.org
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.6 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFJANIojcKpXFc/7oYRAmvQAKC2B7wtur0KyxZ/Dysr4R0z2CzwQACfYekJ
 cwp1TXIW2mu2ZF9M0t5+4Vc=
 =TMwO
 -END PGP SIGNATURE-
 
 -- 
 Lisez la FAQ de la liste avant de poser une question :
 http://wiki.debian.org/DebFrFrenchLists
 Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
 Reply-To:
 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: [HS] iptable comment insérer une règle?

2008-10-23 Par sujet mouss
Gaëtan PERRIER a écrit :
 C'est ce que je fais par défaut mais là je voulais ajouter dynamiquement des
 règles en fonction de l'apparition de connections vpn par ex. mais finalement
 je me dis que ce n'est peut-être pas problématique de les ajouter en premier
 avec un iptables -I ?
 


La méthode usuelle est de créer une chaîne et d'insérer les règles
dynamiques dans cette chaîne.

si l'anglais ne te fait pas peur, tu peux jeter un coup d'oeil sur:

http://dave.thehorners.com/tech-talk/unix-linux-bsd-osx-etc/76-information-about-the-linuxunix-os-and-friends/86-iptables-a-real-mans-firewall

-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]