Firewall - debian

Bon, moi j’ai tt effacé et j’ai recopié le scrip de Ash et je l’ai placé ds /etc/network/if-pre-up.d/iptables-start
Après, concrètement, qu’est-ce que je dois faire pour qu’il soit pris en compte ?
iptables-restore ?
autre chose ?

Ricardo: tu me déçois…
/etc/network/if-pre-up.d est un répertoire ou tu mets des scripts à executer juste avant qu’une interface se mette “up”, comme son nom l’indique.
/etc/init.d et le répertoire des scripts/services que tu peux activer (update-rc.d) au boot et arrèter à l’extinction.
Alors maintenant, c’est à toi de définir ta stratègie: soit tu mets le script d’ash dans /etc/network/if-pre-up.d, et il l’executera a chaque fois qu’il démarre le réseau, soit tu l’execute une fois pour mettre ton pare feu comme tu le souhaites, tu en fais une première sauvegarde (iptables-save >/etc/configdemonparefeu), et tu mets en place le script init qui le sauve en l’etat (iptables-save >/etc/configdemonparefeu) à chaque extinction et le rétablit pareil (/sbin/iptables-restore < /etc/configdemonparefeu) à chaque démarrage.
Comme j’imagine que tu ne saurais pas ecrire ce script, je te le donne en exclu:

[quote="/etc/init.d/monparefeuamoi"]#!/bin/sh

chargement/dechargement d’iptables

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

clean le parefeu pendant que la machine tourne

ca peut être une faille de securite si on l’execute lors de l’extinction avant l’arret des interfaces

pensez à refaire un start apres 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=$?
;;
‘status’)
/sbin/iptables-save
RETVAL=$?
;;
*)
echo "Usage: $0 { start | stop | restart | clean | status }"
RETVAL=1
;;
esac
exit $RETVAL
[/quote]
tu le mets dans init.d,
tu executes le script d’ash pour initialiser ton pare feu
tu le sauves toi même une premiere fois: /sbin/iptables-save > /etc/configdemonparefeu
tu actives le script de sauvegarde/restauration: updaterc.d monparefeuamoi defaults 19 21
(je precise le start 19 et stop 21 pour que ca demarre avant fail2ban, et que ca s’arrète aprés).
et voila…

[quote]Ricardo: tu me déçois…
/etc/network/if-pre-up.d est un répertoire ou tu mets des scripts à executer juste avant qu’une interface se mette “up”, comme son nom l’indique. [/quote] Je sais que je suis décevant, je me déçois moi-m^ :laughing: .Cela dit, sur ce qui est dessus, je n’ai fait que suivre ce qui était préconisé sur ce m^ fil :wink:
Et en plus, tu m’enduis :laughing: plein d’erreur :

tu actives le script de sauvegarde/restauration: updaterc.d monparefeuamoi defaults 19 21 J’ai copié/collé et ça ne marche pas :cry: Bon, je te pardonne, tu n’as fait qu’oublier un tiret. Ah, ces jeunes parents, ils ont tjrs la tête ailleurs.
Bon, blague à part, j’ai tt suivi à la lettre et ça fonctionne mais j’ai encore une question à poser :
pour modifier qq chose, je modifie ds quel script et je fais quoi pour que ça soit pris en compte :
iptables-save >/etc/configdemonparefeu ?

Merci quand m^ 8)

maintenant, tu sculptes (tu dois savoir faire ça, non :wink: ).
toutes les commandes iptables que tu feras deviendront permanentes aprés redémarrage.
si tu souhaites revenir à la version que tu avais au boot, tu fais /etc/init.d/monparefeuamoi start.
Si tu veux un parefeu vierge: /etc/init.d/monparefeuamoi clean (et si tu veux, aprés, tu peux relancer le script d’ash).
Si tu as fait des modifs et que tu veux les rendre définitives avant le redémarrage /etc/init.d/monparefeuamoi stop
simple, non ?

Je me souviens bien des scripts inits et je viens de voir que tu en avais mis un en ligne tres instructifs d’ailleurs :slightly_smiling:

Donc j’ai sauvegarder mes regles dans un fichiers sous /etc j’ai rajouter le script init dans les differents rc par update-rc.d

Et voila je suis parré :slightly_smiling:

Merci bien

Bon, ça fait 2 heures de + que je passe sur ce p… d’iptables et je ne suis tjrs pas plus avancé. Je n’arrive pas à modifier quoi que ce soit.
Faut croire que je ne m’exprime pas correctement mais on ne répond pas à une question simple que je pose :

J’ai un fichier qui s’appelle /etc/configdemonparefeu
et un autre qui s’appelle /etc/init.d/monparefeuamoi
question simple, ds lequel des deux j’apporte les modifications que je souhaite.
2ème question simple :
que dois-je faire EXACTEMENT pour qu’elles soient prises en compte ?

Je vais essayer de répondre mais je viens juste de finir de comprendre donc

Tu as en fait 2 scripts celui que j’ai créer et celui de MattOTop.

Si tu veux activer les règles de filtrage d’iptables tu peux lancer mon script comme tu le faisait jusque la le probleme c’est que si tu reconfigure ton réseaux les regles vont se recrées et ca te faire perdre du temps.

Il y a donc la deuxieme solution qui est ce que MattOTop propose et que j’ai adopter donc

Tu copie son script dans /etc/init.d/nomquetuveux
ensuite tu créés tes régles de filtrages avec mon script ou celui que tu veux
une fois que tout est fait il te faut créer se fameux fichier de sauvegardes donc tu lances la commande

iptables-save > /etc/configdemonparefeule nom configdemonparfeu peut etre changé si tu préfere mais dans ce cas il faut aussi le changer dans le script de MattOTop ce qui n’est pas tres difficile.

Une fois cela fait tu as donc tes regles de firewall qui sont actives et tu as le fichier de restauration c’est finis enfin presque.

Maintenant il faut activer le script de MattOTop pour les différents runlevel donc on fait un petit

Et voila c’est finis

Maintenant tu peux modifier ton firewall en rajoutant des regles directements dans la console et si elle te conviens parceque c’est ce que tu veux hé bien tu peux la sauvegarder en faisant un/etc/init/nomquetuveux stop
et voila

C’est exactement ce que je faisais sauf le dernier point.
je vais donc tenter, une fois de plus.
Réponse bientôt, merci Ash et vive Genesis :slightly_smiling:

quote="ricardo"
Réponse bientôt, merci Ash et vive Genesis :slightly_smiling:[/quote] :laughing: :laughing:

Petite précision (enfin rappel de MattOTop) lorsque tu éteint ta machine les scripts se trouvant dans /etc/init.d/ sont arretés via la commande stop ce qui sauvegardera donc la configuration de ton firewall.

Puisqu’en faisant /etc/init/nomquetuveux stop tu fait iptables-save > /etc/configdemonparefeu

Eh bien déçu car idem la m^ chose :unamused:
J’ai repris exactement tt ce que tu écris dessus mais malgré l’ajout d’une ligne :
-A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
= le port de Cups,
je ne la retrouve pas.
pourtant, l’opération iptabes-save s’est bien passée, les fichiers ont bien été modifiés (date) ds les /etc/rc1 et la suite.
Quand j’ouvre de nouveau ton script, la ligne que j’ai ajoutée a disparu ???
Voilà ce que donne mon iptables -L

[code]ricardo1@debian-sarge:~$ sudo iptables -L
Password:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere
DROP icmp – anywhere anywhere
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp – anywhere anywhere tcp dpt:ftp-data
ACCEPT tcp – anywhere anywhere tcp dpt:ftp
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:www

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ricardo1@debian-sarge:~$
[/code][/quote]

Mon script d’initialisation ne sert qu’une fois.

Tu initialise et ensuite tu n’en as plus besoin a moins que tu fasse une erreur et que tu veuille tout réinitialiser

pour voir si une nouvelle regle est bien ajoutée et sauvegarder tu peux donc faire un iptables -Lensuite tu rajoute une regle celle que tu veux
apres tu sauvegardes avec

pour vérifié si la regles est toujours la

ensuite tu restaure ton firewall initialement pas avec mon script mais avec la commande/etc/init/nomquetuveux start
et encore un

Si tu hésite posts les résultats on y regadera :slightly_smiling:

Je n’aurais pas dû parler de la création initiale de /etc/configdemonparefeu…
il n’y a plus à toucher à AUCUN fichier une fois installé le bouzin
Ricardo: tu fais une modif EN LIGNE DE COMMANDE avec iptable, genre:
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
la ta modification est active, mais pas encore définitive.
aprés, soit tu redémarre (ce qui sauvegarde automatiquement cette règle que tu as ajoutée au pare feu), soit plus simplement, tu “stop” le service, ce qui provoque la sauvegarde automatique de ton parefeu DANS L’ETAT OU TU L’A SCULPTE :wink: (j’aurais dû rendre cette option accessible avec un mot clé save, aussi pour que ce soit plus parlant)…

Ash: tu n’as pas compris ce que je disais à propos de iptables -L: ca ne te donne pas l’etat complet de ton pare feu, seulement la partie “filter”, il faudrait aussi faire un ‘iptables -t nat -L’, etc, pour avoir TOUTE l’info.
la solution, c’est de regarder 'iptables-save (ou '/etc/init.d/monparefeuamoi status, qui fait la même chose).

Eh ben voilà, c’est tt ce que je demandais :

[quote]il n’y a plus à toucher à AUCUN fichier une fois installé le bouzin
Ricardo: tu fais une modif EN LIGNE DE COMMANDE avec iptable, genre:
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT [/quote]
Et ça, je ne l’ai lu nulle part, il me semble.
je sais, il faut tt me mâcher mais que voulez-vs, les neurones, à 69 balais, y’en a pu beaucoup :cry:
J’essaie !

T’inquiètes pas, plus tu t’en sers (et tu t’en sers), plus ils durent…
Avec un peu de chance, tu va peut être profiter des traitements de repousse à base de cellules souches qui ne devraient plus tarder à arriver…
Et 69 ans, c’est l’age de mon premier patron qui passait encore ses journées à coder…
J’aimerais bien avoir autant de neurones que toi à ton age, mais c’est pas dit que j’y arrive, et vu comment je traite mes neurones, il risque de ne plus y en avoir des masses à ce moment là…
l’Entropie n’est pas notre amie…

Merci de ton soutien moral autant que technique.
Alors, ça fonctionne bien pour ajouter qq chose, la preuve ds le codage ci-dessous [ dernière ligne = ipp].
Maintenant, comment enlever qq chose, par exemple, le ping dont tu avais dit qu’il était inutile ?
Une petite dernière : je suis étonné par la première ligne :
all – anywhere anywhere,
ça ne contredit pas le ‘drop’ général ?

[code]ricardo1@debian-sarge:~$ sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all – anywhere anywhere
DROP icmp – anywhere anywhere
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp – anywhere anywhere tcp dpt:ftp-data
ACCEPT tcp – anywhere anywhere tcp dpt:ftp
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
ACCEPT tcp – anywhere anywhere tcp dpt:www
ACCEPT tcp – anywhere anywhere tcp dpt:ipp

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[/code]

[quote=“MattOTop”]Ash: tu n’as pas compris ce que je disais à propos de iptables -L: ca ne te donne pas l’etat complet de ton pare feu, seulement la partie “filter”, il faudrait aussi faire un ‘iptables -t nat -L’, etc, pour avoir TOUTE l’info.
la solution, c’est de regarder 'iptables-save (ou '/etc/init.d/monparefeuamoi status, qui fait la même chose).[/quote]Si j’ai bien compris mais je ne pensais pas que l’on aurais besoin de voir toutes les régles pour le tests que j’ai expliqué donc quoi qu’il arrive bien faire un iptables -L -t nat

alors cette ligne semble être le reliquat de la config que tu avais au départ. On va prendre cet exemple là pour la supprimer:
iptables -D INPUT -j ACCEPT
la commande va Deleter la première règle qu’il trouve et qui fait un ACCEPT (dans ce cas là, c’est la bonne). On peut aussi deleter par le numero de la regle qu’on veut supprimmer…
Aprés, tu vérifies, et si tu trouves ca bon, tu fais ton stop pour sauver. Sinon, tu fais un start pour revenir au statu quo ante, et tu essayes autrechose…
Tu peux aussi faire un clean, et ajouter une à une les règles que tu souhaites…

Merci, je m’en vais cet AM et serai de retour ce soir mais j’ai aussi un problème avec le ‘stop’ alors j’aimerais la commande totale.
A ce soir

/etc/init.d/monparefeuamoi stop