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

Oui, j’ai eu ça aussi dernièrement mais ce sont des “warning” et je ne m’en suis pas trop préoccupé.

[quote=“loreleil.747”]Re,

Bonsoir à toi ricardo, :wink:

Ma foi, j’avais effectivement un souci à la base, mes fiches techniques que j’utilise pour mes ré-installations étaient obsolètes, tout au moins celles concernant mon_parefeu.

Cela est rétablit. Cependant j’obtiens une autre alerte.

root@debian-pc2:/home/loreleil# update-rc.d mon_parefeu start 14 S . stop 08 0 6 . update-rc.d: using dependency based boot sequencing update-rc.d: warning: mon_parefeu start runlevel arguments (S) do not match LSB Default-Start values (2 3 4 5) update-rc.d: warning: mon_parefeu stop runlevel arguments (0 6) do not match LSB Default-Stop values (0 1 6) root@debian-pc2:/home/loreleil# C’est tu de quoi il s’agit … ?
Merci.[/quote]
Rq: (Sais tu), j’ai mis du temps à percuter…
Dans update-rc.d mon_parefeu start 14 S . stop 08 0 6 .tu démarres le script au démarrage (S) quoi qu’il arrive. Notamment, le parefeu est actif en mode single ce qui est inutile. Ce message peut stopper si tu fais

Tu seras dans les standards et le parefeu sera actif dans le runlvel usuel (2).

Ce que tu trouves “stupide” a été modifié à l’instigation de Pascal.

EDIT :
Rassure-moi, il était bien écrit "stupide" car je lis maintenant “inutile” :119
Je voudrais seulement être sûr de ne pas avoir eu la berlue :017

Ah ? Peux-tu expliquer en quoi c’est inutile ?
Pour moi afin d’assurer une protection optimale les règles iptables doivent être mises en place avant l’activation du réseau qui a lieu en runlevel S.


:018 je me permet une petite réaction, excusez moi du fait que ne n’apporte rien de constructif à ce thread.

[code]
LOL! :005 :005 :005 si par lisible tu veux dire en anglais, bha oui, c’est triste faut lire un minimum d’anglais. et pour le vocabulaire technique, bha… c’est pareil que sous windoze sauf que là c’est en français…perso, je vois des multitudes de docs tres techniques, et parfois c’est la profonde technicité de ses docs qui me rebute, c’est vrais, mais des docs y en a à la pelle.

Par exemple essaye de trouver une doc qui t’explique comment, sous un serveur 2003 X64 SR2, on fait pour forcer un malheureux serveur dchp à fonctionner sur une interface plutôt qu’une autre… imagine toi avec un serveur avec deux cartes réseaux…

Y a pas de docs sous windows ou très peu par ce que le système est prévu pour fonctionner avec des “nuls”(pour reprendre le terme) , et donc il est censé s’autoparametrer au maximum…donc pas besoins de docs qui noierais le pauvre installateur et qui lui permettrait de voir a quelle point son système est scabreux. En contrepartie le “Pro” s’ennerve sur se foutu système parce que justement ce système est profondément inflexible et borné.
et puis pourquoi iraient ils faire des documentations accessible a tous alors qu’ils vendent a prix d’or des formation pour rentrer dans leurs sectes numérique…

PS= Sous windoze, la réponse est désactive tout tes interfaces sauf celle sur laquelle tu souhaite installer ton service dhcp…installe le service, puis réactive tes interfaces…[/code]

Rien à voir du tout mais …

[quote]"L’action est plus efficace que la polémique, mais plus rare."
Ricardo (1936-…) [/quote]

Ricardo, tu es réellement né en 36 ?

(si oui, je pense que je vais bien me marrer au prochain qui me sortira “Nan mais Internet, l’informatique, tout ça… je suis trop vieux/vieille pour ces c…” oO )

Au passage, chapeau bas et merci pour le tuto car j’avoue que s’il y a bien une chose qui me laissait c** jusqu’ici, c’est bien iptables :slightly_smiling:

La réponse est oui mais ta question te paraitra stupide quand tu auras à ton tour 76 ans. Même si on joue moins bien au volley, les neurones peuvent continuer à fonctionner non?

PS: Je répond à sa place, pépé fait sa promenade quotidienne :slightly_smiling:

Ah mais je n’ai jamais sous-entendu le contraire hein ? C’est juste que de nos jours des personnes de 76ans s’intéressant d’aussi près et aussi profondément à l’informatique sont quand même vachement plus rares qu’elles ne le seront lorsque c’est nous qui les auront les 76 balais, faut bien reconnaitre :smiley:

[quote=“fran.b”]La réponse est oui mais ta question te paraitra stupide quand tu auras à ton tour 76 ans. Même si on joue moins bien au volley, les neurones peuvent continuer à fonctionner non?

PS: Je répond à sa place, pépé fait sa promenade quotidienne :slightly_smiling:[/quote]
Je ne sais pas s’il était raisonnable d’employer le pluriel :unamused:
François a raison en disant que tout n’est pas foutu à mon âge, à condition de prendre son temps.
Où il faut 5 mn de réflexion à un jeune de 20/30 ans, il faudra me 1 heure.
Quant à jouer au volley, c’est vraiment de l’histoire ancienne et idem pour le judo.
Bon, ce n’est pas tout, mais il me faut aller ramasser les feuilles mortes :013
À ce soir :006

Ah mais il n’y avait aucune raillerie dans mon propos hein ? Je précise que ca me rendrait même plutôt admiratif :slightly_smiling:

Je l’avait bien entendu de cette oreille :006

Bien le bonjour chez vous … :006

Avec un temps de retard merci … ricardo, fran.b, PascalHambourg, … :wink:

Je viens de terminer l’installation et configuration de qui est fonctionnel à présent.

quote=“fran.b” j’ai mis du temps à percuter…[/quote] C’est tout à ton honneur… merci. :wink:

Ceci dit, dans mon cas de figure je ne peux que m’en référer à vous, n’ayant pas les connaissances requises pour traiter ce sujet. … pour l’heure … :12

Malgré les divergences sur ces warnings, j’ai stopper ces alertes.

root@Debian-pc-1:/home/loreleil# update-rc.d mon_parefeu start 14 2 3 4 5 . stop 08 0 1 6 . update-rc.d: using dependency based boot sequencing
En résumer update-rc.d: utilise la séquence de démarrage basé sur les dépendances.

Ce qui m’a amené à retrouver dans mes petits papiers un cas similaire sous lenny 5.0.8 auquel je suis passé outre dans la mesure ou j’étais encore en phase labo de ma machine.

Donc, pour se même pc …

… le message suivant apparaissait :

[code]root@Debian:/home/loreleil# iptables-save

Generated by iptables-save v1.4.2 on Mon Jan 31 14:03:58 2011[/code]

root@Debian:/home/loreleil# update-rc.d mon_parefeu start 39 S . stop 36 0 6 . update-rc.d: warning: /etc/init.d/mon_parefeu missing LSB information update-rc.d: see <http://wiki.debian.org/LSBInitScripts> System startup links for /etc/init.d/mon_parefeu already exist. root@Debian:/home/loreleil#

Ce qui m’envoie à “LSBize un script d’initialisation” … wiki.debian.org/LSBInitScripts … ma foi je ne sais utilisé ces informations … à mon grand regret … :blush:

Voilà, si cela permet à contribuer un temps soit peu …

Merci à vous … :wink:

Dans ton script, tu avais bien ajouté les tags suivants :

[code]#!/bin/sh

BEGIN INIT INFO

Provides: iptables

Required-Start:

Should-Start:

Required-Stop:

Should-Stop:

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-description: iptables

Description: Firewall

END INIT INFO

chargement/déchargement d’iptables

[/code]

:question:

Re,

Dans ce cas actuel, oui !

Et pour l’install du Generated by iptables-save v1.4.2 on Mon Jan 31 14:03:58 2011

il me semble également, je passe vérifier.

Re,

Concernant l’installation sous lenny 5.0.8 j’avais encore ce tuto.

[quote]Voici une sorte de ‘tuto’ destiné à l’installation primaire d’un pare-feu (ou parefeu) sous Debian.
Ce qui suit n’a pas pour objectif de renseigner les utilisateurs accomplis, qui n’y apprendront rien de plus que ce qu’ils savent mais est plutôt dirigé vers les débutants, avec un maximum d’explications.
Préambule :
En principe, le paquet ‘iptables’ est installé d’origine sous Debian mais si ce n’était pas le cas, rien de plus simple à faire :

apt-get install iptables
Dans ce ‘tuto’, la majeure partie des commandes se feront à partir de la console (petite télé noire qui sert, entre-autres, à entrer ces commandes).
Ces commandes seront entrées sous la forme :
login@nom_machine:~$ sudo la_commande_à_taper
mais par la suite, je n’écrirai que la commande proprement dite, il vous appartiendra donc de la faire précéder par ‘sudo’.
Il est préférable d’utiliser ‘sudo’ plutôt que de taper en tant que ‘root’, pour des raisons de sécurité mais il est possible que certaines commandes ne soient pas prises en compte de cette façon. Il vous faudra alors taper en tant que ‘root’ ( su et mot de passe = # au lieu de $ )
Si vous n’avez pas installé ‘sudo’, faites une recherche sur le forum d’aide ou posez la question.

(1) Installation :

A l’origine, le pare-feu est installé mais il est ouvert à toutes les communications, c’est en quelque sorte, une ‘passoire’ et de ce fait, il ne rempli pas ses objectifs.
Dans un premier temps, il va nous falloir installer un ‘script’ qui sera le “donneur d’ordre”
Créez le fichier ‘mon_parefeu’ :
touch /etc/init.d/mon_parefeu
Rendez ce fichier (pour l’instant, vide) exécutable avec :
chmod +x /etc/init.d/mon_parefeu
Ouvrez kedit (ou tout autre traitement de texte) à partir de la console pour être ‘root’ :
kedit
Dans kedit, ouvrez le fichier /etc/init.d/mon_parefeu
Collez-y le code ci-dessous :


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


Sauvegardez et fermez kedit
Retournez à la console pour réinitialiser le pare-feu à blanc avec :
/etc/init.d/mon_parefeu clean

(2) Configuration :

Tapez les séquences suivantes (les lignes en gras et une à la fois, suivi de ‘Entrée’)

“Pour un hôte (station ou serveur) non routeur”:

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
[edit: précisions par fran.b suite à débat]
Si on veut un serveur FTP
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
Si on souhaite utiliser SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Si on souhaite installer un serveur Web
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Si on veut rendre CUPS accessible
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
Si on souhaite utiliser Jabber
iptables -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT

“Pour une machine faisant office de routeur avec NAT” :

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -A INPUT -i ethx -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
[edit: précisions par fran.b suite à débat]
Si on veut un serveur FTP
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
Si on souhaite utiliser SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Si on souhaite installer un serveur Web
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Si on veut rendre CUPS accessible
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
Si on souhaite utiliser Jabber
iptables -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
iptables -A FORWARD -i ethy -o ethx -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ethy -j ACCEPT
iptables -t nat -A POSTROUTING -o ethy -j MASQUERADE


ethx correspond à l’interface du LAN
et
ethy correspond à l’interface relié à la truc-box

Sauvegardez le pare-feu une première fois (simulation d’un signal d’arrêt) avec :
/etc/init.d/mon_parefeu stop
Activez ‘mon_parefeu’ avec :
update-rc.d mon_parefeu start 35 S . stop 35 0 6 .

(3) Modifications

Nous allons aborder maintenant la façon de modifier notre pare-feu
– Ajouter une règle :

  • on connaît le nom du port à autoriser, taper :
    iptables -A INPUT -p tcp -m tcp --dport www -J ACCEPT (où ‘www’ est le nom du serveur http)
  • on connaît le numéro du port, taper :
    iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT (où ‘80’ est le N° de ce même http)
    Pour connaître le numéro d’un grand nombre de port, tapez :
    less /etc/services

Pour les explications des différentes options, vous pourrez avantageusement consulter :
man iptables
ou
iptables --help

– Enlever une règle :
taper ce qui suit pour connaître le numéro de ligne de cette règle
iptables -L --line-numbers
puis taper
iptables -D INPUT (ou FORWARD) N° (où ‘N°’ doit être le chiffre ou nombre en tête de la ligne à supprimer)

Vous pourrez modifier l’exemple présenté plus haut à votre convenance (ajouter ou retirer ce que vous voudrez).
Toutefois, il convient de ne pas supprimer les deux lignes suivantes :

-A INPUT -i lo -j ACCEPT ((Ce sont les communications IP entre processus locaux s’exécutant sur la machine et c’est critique)).
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ((ça permet le retour vers la machine des infos demandées auprès des sites web. En l’absence de cette règle, la navigation deviendrait difficile. C’est relativement important )).

Après chaque modification, il vous faudra sauvegarder de nouveau votre pare-feu avec :
/etc/init.d/mon_parefeu stop
ou attendre un redémarrage qui fera la même chose automatiquement.
Si vous voulez revenir à l’état que vous aviez au présent démarrage, vous tapez :
/etc/init.d/mon_parefeu start
Si vous voulez revenir à un pare-feu vierge, vous tapez :
/etc/init.d/mon_parefeu clean

Ce qui précède concerne la partie ‘Filter’ d’un pare-feu. Ça assure un minimum de protection mais c’est loin d’être exhaustif.
Je laisse à d’autres, plus ‘pointus’ que moi, le soin d’expliquer les parties plus complexes, telles que Raw, Mangle et Nat.
J’espère que ce ‘tuto’, encore une fois réservé aux débutants, vous aura permis de mieux appréhender le pare-feu sous Debian.
L’aide de tous les amis de ce forum et particulièrement celle du Papa de Lillo, a été indispensable à sa rédaction. Merci à eux !

[/quote]
:017

Oui, mis il a été modifié récemment pour s’y voir rajouter ce que je te mets plus haut.
Retourne-y voir.

Re,

J’avais bien compris ricardo, cela à était fait depuis ici :

[quote=“loreleil”]Ma foi, j’avais effectivement un souci à la base, mes fiches techniques que j’utilise pour mes ré-installations étaient obsolètes, tout au moins celles concernant mon_parefeu.

Cela est rétablit. Cependant j’obtiens une autre alerte.[/quote]

digression-installation-parefeu-iptables-pour-les-nuls-t26303-300.html#p319788

et l’autre oreille?? Elle n’entend plus :smiley:

Les deux entendent parfaitement depuis que je me suis fait faire des prothèses :unamused:
Ben oui, il faut bien y venir à ces ptits inconvénients.

Bon travail :038

Je voulais simplement savoir (à titre informatif), si ces trois commandes exécutées auraient l’effet d’annuler toutes les modifications :

iptables -F
iptables -X
rm -rf /etc/init.d/parefeu