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

Et visiblement, si on fait un joli en-tête, plus besoin de update-rc.d, un simple insserv mon_parefeu devrait suffire :
wiki.debian.org/LSBInitScripts/D … yBasedBoot

Je ne suis pas sûr de tout bien comprendre, mais est-ce que ce genre de chose pourrait suffire? :

[code]### BEGIN INIT INFO

Provides: mon_parefeu

Required-Start: $local_fs

Should-Start:

Required-Stop: $local_fs

Should-Stop:

X-Start-Before: $network

X-Stop-After: $network

Default-Start: S

Default-Stop: 0 6

Short-description: Configure le parefeu

Description: Met en place les règles iptables.

END INIT INFO[/code]

Euh, j’avais oublié de mettre les règles NAT pour ceux voulant faire routeur.
J’ai mis aussi une option “status” pour afficher les règles du parefeu
Là aussi, à corriger : paste.isalo.org/64

[size=150]STOP ![/size]

Vous êtes ici sur un post de digression concernant le tuto de Debian-fr.org dans T&A
Depuis une dizaine de messages, on parle du wiki ou autre chose.
À tous ceux qui ont écrit ces messages hors sujet, je demande de les reprendre dans un autre fil, que je vous laisse le soin d’ouvrir.
Ensuite, copiez ou transférez vos messages.
Dans 2 ou 3 jours, le temps pour vous de le faire, je supprime tous les messages hors sujet.
Pour ceux qui viendraient après cet avertissement, et qui ne seraient pas conforme au sujet, je supprime en direct-live

Salut,

Comment je fais sur mon serveur qui n’a pas de clavier ?

Re,

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

chmod 744 ou 700 :slightly_smiling:

[quote=“ggoodluck47”]Salut,

Comment je fais sur mon serveur qui n’a pas de clavier ?[/quote]
Ce n’est pas impossible, le seul souci est que tu risques de t’interdire l’accès en ssh à ton serveur toi même. Car la méthode utilisée est de tout fermer, puis d’ouvrir que ce que tu veux.
Sauf que après avoir tout fermé : iptables -t filter -P INPUT DROP , ta connection ssh ne serait plus autorisée.
Peut être en tapant ceci avant : iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT, puis ensuite iptables -t filter -P INPUT DROP tu passe à côté du problème, mais rien n’est sûr.

Sinon, utiliser un script qui établirait toutes les règles iptables que tu souhaites, dont l’accès en ssh. Tu l’éxécutes (normalement, il va jusqu’au bout),puis tu relances la connection ssh à ton serveur si elle a été interrompue. Au moins le script à toutes les chances d’aller jusqu’au bout et d’inscrire toutes les règles, tandis que si tu fais ligne par ligne à la main, tu te retrouveras bloqué dès le début.

@ Ricardo : Je suppose que ta demande au dessus me concernait. Je n’avais pas envisagé que c’était hors sujet puisque cela visait à améliorer l’installation du parefeu dont il est question dans T&A. J’ai suivi ton conseil malgré tout et créé un nouveau fil pour éviter toute confusion, désolé du dérangement.

Le Tuto du Wiki (de forum.debian-fr, faut-il le rappeller ?) est un simple copié/collé du T&A, aucun soucis, à moins que ça ne fasse une différence ?
Je ne vois pas ou est le problème…

Maintenant si tu préfères que nous n’améliorons que le Wiki et laissons tomber le T&A il suffit de le dire… :wink:

Je croyais bêtement que c’était collaboratif comme travail…

Je me suis expliqué sur PC :
Le tuto de T&A a été fait par moi mais en fait, c’est Matt qui a écrit le script.
Par la suite, il a été plusieurs fois mis à jour dont une dernière sur les conseils de Pascal. Ce dernier n’est pas le moins qualifié il me semble.
Je suis persuadé que tout est améliorable mais le présent fil a été ouvert pour discuter du tuto de T&A. Comme je ne veux pas le modifier, encore une fois, parce que je n’en suis pas l’auteur complet, je préfère qu’on discute sur l’élaboration d’un autre projet, auquel je veux bien participer, ce que j’ai d’ailleurs déjà fait.
Il n’empêche pas que le départ soit basé sur celui-là mais je suis persuadé que dans quelques semaines, voire jours, il ne subsistera plus grand chose du présent.
Pour clore la discussion, laissez ce fil pour ce qui concerne le tuto T&A et ouvrez un nouveau fil, ce qui a été fait dans PC.
Gérard, merci pour tes réponses ironiques :confused:

Tu as raison en grande partie Ricardo, mais comme ce que je proposais était largement inspiré du travail de ce fil, c’était un peu comme la suite.
Ceci dit cela reste plus propre d’ouvrir un nouveau fil dans tous les cas.

bonjour,

j’ai suivi le tuto, et çà ne fonctionne pas :frowning:

En effet, j’ai au démarrage

puis

enfin

j’ai tout de meme accès au net depuis mon pc (web, ftp, email…) mais ma xbox ne peut me voir (et je n’ai pas d’autre PC pour tester mon partage (j’avais installé samba à l’origine).

je suis en debian squeeze, noyau 2.6.32-5-amd64
le pc est en ethernet, pas de wifi

merci

Où tu as trouvé cette variable dans le tuto ?

je ne sais plus , je l’avoue …
sinon, y a t-il moyen de tout remettre “à plat” pour que je recommence ? que faut-il modifier, et où svp ?

Ben tu reprends le tuto au départ et tu refais tout.

merci pour ce tuto ricardo :038

Merci Hulk, mais j’ai toujours mes messages d’erreurs (et ma xbox ne peut pas accéder à mon partage :frowning: )

Voici mon fichiers de logs “messages” :

Dec 23 18:05:17 bureau kernel: [ 115.828147] rpcbind: RPC call returned error 1 Dec 23 18:05:17 bureau kernel: [ 115.828174] IN= OUT=eth0 SRC=192.168.0.51 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=947 DPT=111 LEN=100 Dec 23 18:05:17 bureau kernel: [ 115.828182] rpcbind: RPC call returned error 1 Dec 23 18:05:17 bureau kernel: [ 115.828208] IN= OUT=eth0 SRC=192.168.0.51 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=682 DPT=111 LEN=100 Dec 23 18:05:17 bureau kernel: [ 115.828216] rpcbind: RPC call returned error 1 Dec 23 18:05:17 bureau kernel: [ 115.828249] IN= OUT=eth0 SRC=192.168.0.51 DST=127.0.0.1 LEN=140 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=1009 DPT=111 LEN=120 Dec 23 18:05:17 bureau kernel: [ 115.828257] rpcbind: RPC call returned error 1 Dec 23 18:05:17 bureau kernel: [ 115.828263] svc: failed to register lockdv1 RPC service (errno 1). Dec 23 18:05:17 bureau kernel: [ 115.828266] lockd_up: makesock failed, error=-1 Dec 23 18:05:17 bureau kernel: [ 115.828289] IN= OUT=eth0 SRC=192.168.0.51 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=771 DPT=111 LEN=100 Dec 23 18:05:17 bureau kernel: [ 115.828296] rpcbind: RPC call returned error 1 Dec 23 18:05:17 bureau kernel: [ 115.828323] IN= OUT=eth0 SRC=192.168.0.51 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=966 DPT=111 LEN=100 Dec 23 18:05:17 bureau kernel: [ 115.828330] rpcbind: RPC call returned error 1 Dec 23 18:05:17 bureau kernel: [ 115.828355] IN= OUT=eth0 SRC=192.168.0.51 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=674 DPT=111 LEN=100 Dec 23 18:05:17 bureau kernel: [ 115.828363] rpcbind: RPC call returned error 1 Dec 23 18:06:16 bureau kernel: [ 174.337167] IN= OUT=eth0 SRC=192.168.0.51 DST=192.168.0.255 LEN=242 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=222 Dec 23 18:06:16 bureau kernel: [ 174.337250] IN= OUT=eth0 SRC=192.168.0.51 DST=192.168.0.255 LEN=235 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=215 Dec 23 18:09:16 bureau kernel: [ 354.480117] IN= OUT=eth0 SRC=192.168.0.51 DST=192.168.0.255 LEN=242 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=222 Dec 23 18:09:16 bureau kernel: [ 354.480194] IN= OUT=eth0 SRC=192.168.0.51 DST=192.168.0.255 LEN=235 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=215 Dec 23 18:13:16 bureau kernel: [ 594.656127] IN= OUT=eth0 SRC=192.168.0.51 DST=192.168.0.255 LEN=242 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=222 Dec 23 18:13:16 bureau kernel: [ 594.656209] IN= OUT=eth0 SRC=192.168.0.51 DST=192.168.0.255 LEN=235 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=138 DPT=138 LEN=215 ~

sachant que j’ai aussi au démarrage (mais je ne sais où les retrouver) des erreurs sur NFS :frowning:

@ricardo : j’ai reéssayé, mais çà coince ici :

[quote]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 XX S . stop YY 0 6 .
(Respectez bien les espacements et les points)[/quote]

j’obtiens :
/etc/init.d # update-rc.d mon_parefeu start 13 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)
[/quote]

par contre j’ai pu ouvrir les ports pour ma xbox :

[quote] iptables -A INPUT -p tcp -m tcp --dport 2869 -j ACCEPT;
iptables -A INPUT -p tcp -m tcp --dport 10243 -j ACCEPT;
iptables -A INPUT -p udp -m udp --dport 1900 -j ACCEPT;
iptables -A INPUT -p udp -m udp --dport 10284 -j ACCEPT;
iptables -A INPUT -p udp -m udp --dport 10283 -j ACCEPT;
iptables -A INPUT -p udp -m udp --dport 10282 -j ACCEPT;
iptables -A INPUT -p udp -m udp --dport 10281 -j ACCEPT;
iptables -A INPUT -p udp -m udp --dport 10280 -j ACCEPT;
iptables -A OUTPUT -p tcp -m tcp --dport 2869 -j ACCEPT;
iptables -A OUTPUT -p tcp -m tcp --dport 10243 -j ACCEPT;
iptables -A OUTPUT -p udp -m udp --dport 1900 -j ACCEPT;
iptables -A OUTPUT -p udp -m udp --dport 10284 -j ACCEPT;
iptables -A OUTPUT -p udp -m udp --dport 10283 -j ACCEPT;
iptables -A OUTPUT -p udp -m udp --dport 10282 -j ACCEPT;
iptables -A OUTPUT -p udp -m udp --dport 10281 -j ACCEPT;
iptables -A OUTPUT -p udp -m udp --dport 10280 -j ACCEPT;
[/quote]
et au moins je n’ai pas eu de rejet.

(désolé de paraitre pour un boulet, mais je découvre toujours linux, et je manque de temps (je suis étonné que debian ne propose pas dès l’installation un firewall “pret à l’emploi”, où l’utilisateur lambda s’en sortirai)).

bon et bien je suis paumé… pas cool :frowning:

merci pour le tuto iptables, très clair, concis, à nous ensuite d’aller fouiller si besoin.
J’ai par contre un souci lors de l’activation du pare-feu après l’étape 2 de configuration :

# 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)

Du coup est ce qu’il faut modifier le script et notamment les valeurs Default-start et Default-stop ?

J’avoue ne pas être très fort dans ce domaine.
Je pense que pascal pourrait t’aider mieux que moi.

Bon en cherchant un peu, j’ai réussi à configurer les liens symboliques pour quel le script se lance avant le script networking, je me suis inspiré de cette discussion si ça peut aider :
http://www.debian-fr.org/lsb-tags-iptables-et-runlevel-t26319.html

En résumé :

  • suppression de l’ancien script puis :
  • #update-rc.d le-nom-du-script remove
  • création d’un nouveau script en modifiant l’en-tête pour arriver à cela :

[code]### BEGIN INIT INFO

Provides: mon_parefeu

Required-Start: mountkernfs ifupdown $local_fs

X-Start-Before: networking

Default-Start: S

Required-Stop:

Default-Stop:

Short-description: configure le parefeu

Description: met en place les règles iptables

END INIT INFO[/code]

  • puis à la place du update-rc.d décrit dans le tuto faire :
insserv mon_parefeu

et on se retrouve avec :

[code]#ls /etc/rcS.d/ | grep S**mon_parefeu
S15mon_parefeu

ls /etc/rcS.d/ | grep S**networking

S16networking
[/code]

Par contre avec cette méthode, pas de Stop (j’ai pas essayé, mais probablement que ça marcherait en mettant des valeurs 0 6 en # Default-Stop.

J’espère ne pas avoir fait de grosses boulettes :118 mais ça a l’air de fonctionner chez moi…

Ah non. Je connais assez bien iptables, mais pas vraiment insserv.