# Digression Installation parefeu (iptables & ip6tables) "pour les nuls"

**URL:** <https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771>\
**Category:** Support Debian\
**Created:** [Février 19, 2016, 12:17 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771 "2016-02-19T00:17:08Z")\
**Posts on this page:** 20\
**Page:** 6

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:13 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/101 "2016-02-20T17:13:53Z")

</div>

Ca dépend peut être de ce dont les gens ont besoin ?

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 5:13 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/102 "2016-02-20T17:13:54Z")

</div>

Non pas du tout c’est le script du début de thread avec une tentative de ne plus avoir le problème du stop juste après un clean. Il ne définie aucune règle de filtrage. C’est juste parce que ça me gênait de voir une script avec un tel problème et pour faire mumuse avec du sh 😛

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:13 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/103 "2016-02-20T17:13:55Z")

</div>

Non, bien sûr qu’il ne définit aucune règle de filtrage, mais ce que je voulais dire, c’est que le comportement consistant à restaurer le “préclean” au stop n’est pas forcément le comportement que certains peuvent souhaiter, ou le contraire. Ton script est donc une alternative utile, et comme tu le dis, c’est toujours une bonne chose de multiplier les exemples de scripting shell.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/104 "2016-02-20T17:25:25Z")

</div>

problème de pérennité iptables :  
installé un parefeu sur une ETCH non serveur, exactement identique à celui présenté en tête.  
Tt fonctionne parfaitement MAIS … quand je reboute la machine et que je veux vérifier si mon parefeu est effectif en tapant :

`ricardo@etch-hda1:~$ sudo iptables-save
`retour à l’invite 😒  
idem avec

```auto

```

je tape

```auto

```

puis, de nouveau :

```auto

```

là, j’ai le rslt attendu :

`# Generated by iptables-save v1.3.6 on Fri Apr 11 01:22:58 2008
*filter
:INPUT DROP [0:0]
etc, etc..`  
les trois fichiers concernés sont bien présents au départ :  
/etc/config\_parefeu  
/etc/init.d/mon\_parefeu  
/etc/iptables-save

QUESTION : malgré l’absence de réponse à la commande  
iptables-save  
suis-je “couvert” ❓

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/105 "2016-02-20T17:25:25Z")

</div>

A priori, pas au boot (avant d’avoir fait ton restore toi même).  
Tu es sûr que le script mon\_parefeu est bien activé pour s’executer au boot ?  
Que dit ls -l /etc/rc\*.d/mon\_parefeu ?  
Est ce que mon\_parefeu est bien exécutable ?

Ce que tu peux faire, c’est mettre une ligne echo “Mise en place du parefeu” juste aprés la ligne ‘start’), pour regarder vensuite dans les logs si le message apparait.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/106 "2016-02-20T17:25:28Z")

</div>

[quote=“ricardo”]QUESTION : malgré l’absence de réponse à la commande  
iptables-save  
suis-je “couvert” ❓ [/quote]  
Le mieux pour voir les rêgles actuelles de ton parfeu c’est

`# iptables -L` 😉

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/107 "2016-02-20T17:25:29Z")

</div>

[quote=“MisterFreez”][quote=“ricardo”]QUESTION : malgré l’absence de réponse à la commande  
iptables-save  
suis-je “couvert” ❓ [/quote]  
Le mieux pour voir les rêgles actuelles de ton parfeu c’est

```auto

```

Bien sûr, je n’y avais pas pensé. 😒  
SUPER ! 😢

[code]ricardo@etch-hda1:~$ sudo iptables -L  
Chain INPUT (policy ACCEPT)  
target prot opt source destination

Chain FORWARD (policy ACCEPT)  
target prot opt source destination

Chain OUTPUT (policy ACCEPT)  
target prot opt source destination  
ricardo@etch-hda1:~$

[/code]

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/108 "2016-02-20T17:25:30Z")

</div>

[quote=“mattotop”]A priori, pas au boot (avant d’avoir fait ton restore toi même).  
Tu es sûr que le script mon\_parefeu est bien activé pour s’executer au boot ?  
Que dit ls -l /etc/rc\*.d/mon\_parefeu ?  
Est ce que mon\_parefeu est bien exécutable ?

Ce que tu peux faire, c’est mettre une ligne echo “Mise en place du parefeu” juste aprés la ligne ‘start’), pour regarder vensuite dans les logs si le message apparait.[/quote]  
rc\*.d, il ne dit rien mais

`ricardo@etch-hda1:~$ ls -l /etc/init.d/mon_parefeu
-rwxr-xr-x 1 root root 1246 2008-04-09 15:00 /etc/init.d/mon_parefeu`  
le script est bien exécutable et c’est un copié/collé de celui de ce fil :

[code]#!/bin/sh

# chargement/déchargement d’iptables

case “$1” in  
’start’)  
/sbin/iptables-restore \< /etc/config\_parefeu  
RETVAL=$?  
;;  
‘stop’)  
/sbin/iptables-save \> /etc/config\_parefeu  
RETVAL=$?  
;;  
‘clean’)

# clean le parefeu pendant que la machine tourne

# ça peut être une faille de sécurite si on l’exécute lors de l’extinction avant l’arrêt des interfaces

# pensez à refaire un start après sinon la sauvegarde se fera automatiquement à l’extinction

/sbin/iptables -t filter -F  
/sbin/iptables -t nat -F  
/sbin/iptables -t mangle -F  
/sbin/iptables -t raw -F  
/sbin/iptables -t filter -P INPUT ACCEPT  
/sbin/iptables -t filter -P OUTPUT ACCEPT  
/sbin/iptables -t filter -P FORWARD ACCEPT  
/sbin/iptables -t nat -P PREROUTING ACCEPT  
/sbin/iptables -t nat -P POSTROUTING ACCEPT  
/sbin/iptables -t nat -P OUTPUT ACCEPT  
/sbin/iptables -t mangle -P PREROUTING ACCEPT  
/sbin/iptables -t mangle -P OUTPUT ACCEPT  
/sbin/iptables -t mangle -P POSTROUTING ACCEPT  
/sbin/iptables -t mangle -P FORWARD ACCEPT  
/sbin/iptables -t mangle -P INPUT ACCEPT  
/sbin/iptables -t raw -P OUTPUT ACCEPT  
/sbin/iptables -t raw -P PREROUTING ACCEPT  
RETVAL=$?  
;;  
‘restart’)  
$0 stop && $0 start  
RETVAL=$?  
;;  
\*)  
echo "Usage: $0 { start | stop | restart | clean}"  
RETVAL=1  
;;  
esac  
exit $RETVAL [/code]

EDIT :

> [@](#):
>
> Tu es sûr que le script mon\_parefeu est bien activé pour s’executer au boot ?

comment savoir ?

---

<div class="post-metadata">

**Author:** ![sebiseb](https://www.debian-fr.org/user_avatar/www.debian-fr.org/sebiseb/32/4245_2.png) [@sebiseb](https://www.debian-fr.org/u/sebiseb)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/109 "2016-02-20T17:25:30Z")

</div>

Et la réponse à ipatbles -L signifie une bonne configuration/protection ?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/110 "2016-02-20T17:25:30Z")

</div>

> [@](#):
>
> Et la réponse à ipatbles -L signifie une bonne configuration/protection ?

C’est de l’humour ou quoi ? 😆  
config : oui  
protection : tt est à ACCEPT donc = aucune. 😮

---

<div class="post-metadata">

**Author:** ![sebiseb](https://www.debian-fr.org/user_avatar/www.debian-fr.org/sebiseb/32/4245_2.png) [@sebiseb](https://www.debian-fr.org/u/sebiseb)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/111 "2016-02-20T17:25:32Z")

</div>

> [@](#):
>
> [quote=“sebiseb”]Et la réponse à ipatbles -L signifie une bonne configuration/protection ?

C’est de l’humour ou quoi ? [/quote]  
Ben c’est iptables pour les nuls ce fil de discussion, non ?  
Mais j’avoue que j’ai regardé comme ça, sans me poser plus de questions… 😊

[quote=“ricardo”]  
config : oui  
protection : tt est à ACCEPT donc = aucune. 😮[/quote]  
Bon, c’est vrai. C’était une évidence !  
Qu’est que doit renvoyer l’exécution de la commande pour une bonne protection ?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/112 "2016-02-20T17:25:32Z")

</div>

[quote=“sebiseb”]  
Qu’est que doit renvoyer l’exécution de la commande pour une bonne protection ?[/quote]  
Ben au minimu, INPUT doit être à DROP avec des règles qui transforment ce “drop” en ACCEPT pour certains ports seulement.  
FORWARD est aussi à DROP chez moi et seul OUTPUT est à ACCEPT pour tout.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/113 "2016-02-20T17:25:32Z")

</div>

@ MATT :  
ds le script, la ligne

`'start')
/sbin/iptables-restore < /etc/config_parefeu`  
qui est censée ouvrir la parapluie  
est ptet modifiable pour se rapprocher de la commande manuelle, en :

> [@](#):
>
> /sbin/iptables-restore \< /etc/iptables-save

à condition, d’avoir créé auparavant

```auto

```

Car, il me semble, que config\_parefeu est généré par iptables-save, Non ❓

EDIT :  
je me rends compte que je dis une connerie car à la fin du script, le parefeu est remis à blanc.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/114 "2016-02-20T17:25:33Z")

</div>

oublies cette histoire de iptables-save au lieu de config\_parefeu, c’est juste que chez moi, j’ai nommé comme ça mon fichier de sauvegarde.  
Si ls -l /etc/rc\*.d/mon\_parefeu ne donne rien, c’est qu’il n’est pas programmé pour se lancer au boot comme je le soupçonnais.  
Un simple update-rc.d mon\_parefeu default devrait suffire à le faire démarrer au boot, c’est tout.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/115 "2016-02-20T17:25:34Z")

</div>

[quote=“mattotop”]Si ls -l /etc/rc\*.d/mon\_parefeu ne donne rien, c’est qu’il n’est pas programmé pour se lancer au boot comme je le soupçonnais.  
Un simple update-rc.d mon\_parefeu default devrait suffire à le faire démarrer au boot, c’est tout.[/quote]Bizarre, à moi que je n’ai oublié de le faire mais la ligne est écrite ds mes fiches

```auto
update-rc.d mon_parefeu default 19 21
```

et en général, je suis bêtement.  
je refais et je reviens ici en edit pour confirmation.

EDIT :  
Bingo !  
j’avais dû oublier de taper cette ligne. 😒  
À la casse le Ricardo, j’vous dis. ![:smt021](https://www.debian-fr.org/uploads/default/original/1X/30f920917f8a91ee5d73d12dc3974382b1901bea.gif)

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/116 "2016-02-20T17:25:37Z")

</div>

> [@](#):
>
> Qu’est que doit renvoyer l’exécution de la commande pour une bonne protection ?

Regarde le miens :

[code]18:04:49@debian:~$ sudo iptables -L  
Chain INPUT (policy DROP)  
target prot opt source destination  
ACCEPT all – anywhere anywhere  
DROP all – anywhere anywhere state INVALID  
DROP tcp – anywhere anywhere state NEW,RELATED tcp flags:!FIN,SYN,RST,PSH,ACK,URG/SYN  
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED  
REJECT tcp – anywhere anywhere tcp dpt:auth reject-with tcp-reset

Chain FORWARD (policy DROP)  
target prot opt source destination

Chain OUTPUT (policy ACCEPT)  
target prot opt source destination[/code]  
Je refuse tout ce qui rentre ou qui essaie de transiter par mon ordinateur (transiter c’est si mon PC servirais de connexion internet à un réseau).  
J’accepte tout ce qui sort.

J’autorise les entrée uniquement quand c’est une réponse à une connexion sortante ou une connexion en rapport à une connexion sortante. Enfin il y a une rêgle pour être un peu plus strict avec les connexions entrantes.

Si tu veut te configurer ton firewall, n’hésite pas à pomper des rêgles de quelqu’un sur internet ou ici (mais ne pioche pas un peu partout sans savoir, car il faut qu’il y ai une cohérence entre tes rêgles).

---

<div class="post-metadata">

**Author:** ![sebiseb](https://www.debian-fr.org/user_avatar/www.debian-fr.org/sebiseb/32/4245_2.png) [@sebiseb](https://www.debian-fr.org/u/sebiseb)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/117 "2016-02-20T17:25:37Z")

</div>

Merci pour les conseils, je vais m’y atteler sérieusement.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/118 "2016-02-20T17:25:43Z")

</div>

[quote=“MisterFreez”]  
Chain INPUT (policy DROP)  
target prot opt source destination  
ACCEPT all – anywhere anywhere  
DROP all – anywhere anywhere state INVALID  
DROP tcp – anywhere anywhere state NEW,RELATED tcp flags:!FIN,SYN,RST,PSH,ACK,URG/SYN  
ACCEPT all  
– anywhere anywhere state RELATED,ESTABLISHED  
REJECT tcp – anywhere anywhere tcp dpt:auth reject-with tcp-reset

Chain FORWARD (policy DROP)  
target prot opt source destination

Chain OUTPUT (policy ACCEPT)  
target prot opt source destination[/code]  
car il faut qu’il y ai une cohérence entre tes rêgles).[/quote] 😆😆😆  
il me semble qu’en matière de cohérence, tu as un peu faux, non ?  
à quoi servent ces lignes de DROP quand la règle générale les “drope” déjà ?  
Ça ne fait pas dble fonction ❓  
pour le RELATED,ESTABLISHED, je crois qu’il n’y a pas besoin du “all” et que tcp suffit.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/119 "2016-02-20T17:25:44Z")

</div>

> [@](#):
>
> Merci pour les conseils, je vais m’y atteler sérieusement.

AMA, voilà le minimum pour une machine NON serveur (difficile de se passer du 80 qui gère http et www :

`iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT`  
ensuite, si tu n’arrives pas à obtenir qq chose, tu te renseignes du port et tu le rajoutes.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:25 UTC](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771/120 "2016-02-20T17:25:47Z")

</div>

non ricardo: si tu acceptes ce qui entre sur ton port 80, c’est pour laisser des gens venir sur un éventuel serveur web, mais pour un pur client, tu n’as pas besoin d’ouvrir le port 80.  
Par contre, si tu as un service ssh pour l’administration à distance, tu peux plutot ouvrir le port TCP/22, ça peut être utile.

[Page précédente](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771.md?page=5)

[Page suivante](https://www.debian-fr.org/t/digression-installation-parefeu-iptables-ip6tables-pour-les-nuls/771.md?page=7)
