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

[quote]tu veux de l’organisé ?
tldp.org/[/quote]
Je n’appelle pas ça de l’organisé :
EX. :
je voudrais savoir comment installer un pare-feu avec iptables,
je cherche sur un site en anglais :cry: et je ne trouve pas.
Je vois une fenêtre de recherche, chouette, je me dis et je tape dedans 'iptables’
Réponse >> google
Vachement avancée la grand’mère de Bluenote :unamused:
Dégoûtée, la vieille dame retourne sous :arrow_right: :arrow_right: windaube

Encore un couche-tard ! Mais enfin du renfort :wink:

Il m’est revenu un (des) exemples dans le manuel de réf Debian. Il faudra que je colle des passages ici. Le type en intro à l’air de dire qu’il a juste compulsé des fiches pour faire ce manuel de REFERENCE, qu’il n’est pas un spécialiste, etc (Bref les gourous développent et ne perdent pas leur tps à faire la doc, enfin j’extrapole peut-être mais dommage pour nous (peut-être))

Pour plein de sujets, il présente les choses rapidement et craque balance une solution sous forme de script ou d’une suite de commandes incompréhensibles (10-20 lignes)
SANS commenter la moindre des opérations.
Et en plus, vite fait, il ajoute que si ça ne marchait pas, il suffirait de faire plutôt ça : et craque, que je te balance 15 autres lignes de commandes différentes tjs sans en expliquer aucune.

Sans parler des docs obsolètes qui vous plantent avant même de vous faire avancer (manuel de sécurisation Debian : sshd, bind9 ; j’ai dû tout retaper comme avant pour avoir un système en état de marche)

Bon ceci dit, à force de ramer, on n’arrive quasiment tjs à s’en sortir. Finalement, il n’y a que 2-3 trucs que je n’ai jamais réussi à faire marcher sur Debian.

Bon mais il est tard et je dis n’importe quoi. Demain je vous colle les passages (si je les retrouve)

Allez Ricardo, on ferme la boîte ! :mrgreen:

ps : Sinon on va finir au “Bar des tâches” comme d’habitude…

La principale chose qui manque à beaucoup de personnes, bien intentionnées, pourtant, c’est la pédagogie.
Je sais que nombreux sont ceux qui prétendent que le nivellement par le bas n’est pas bon et qu’il est préférable de susciter l’intérêt de la recherche. (aide-toi et Dieu t’aidera). C’est vrai et j’ai beaucoup pratiqué mais combien, sont restés “à quai”, soit par manque de curiosité, soit par simple fainéantise.
Personnellement, j’ai souffert de cette absence de pédagogie de la part de certains enseignants du secondaire et il m’a fallu ramer dur pour découvrir à 30, 35 et m^ 40 ans des choses que j’aurais dues savoir à 15.
Par la suite, et pendant 20 ans de ma vie, j’ai moi-m^ appris aux autres et me suis efforcé de me souvenir de ce que je reprochais à mes profs.
J’en étais récompensé quand on me disait “j’ai enfin compris”, alors que ces personnes auraient du “savoir” depuis bien longtemps.
Croyez-moi, ne mésestimez pas les pauvres (intellectuellement parlant) car quand ils “sauront”, ils vous en seront reconnaissants et ça, c’est de la joie.

[quote=“MattOTop”]BlueNote: Tu rigoles ?
As tu déja lu UNE doc windows utilisable ?
As tu déja trouvé la réponse à une seule de tes questions dans les bases de données Microsoft ?
J’ai beau creuser creuser, ca ne m’arrive quasiment Jamis de trouver une reponse à une question technique windows. Souvent des recettes sorties d’on ne sais ou, mais qui en général ne m’avance pas pour règler le même pb dans un contexte légèrement différent.
Tu compares la doc sendmail et la doc exchange. La doc sur iptables et la daube illisible sur ISA.
Ah ca oui, sous win, il y a des copies d’ecrans, mais va t’en rechercher de l’info dans une base de données d’images…
Ca va pas, non. S’il y a bien UN critère ou Linux/Unix enfonce sans problême windows, c’est JUSTEMENT la doc…[/quote]

pas mieux…je suis utilisateur plus que confirmé dans windows et franchement quand je depanne des gens ya de quoi vraiment se claquer la tete dans les murs pour eux, la plupart du temps les utilisateurs preferent payer une reparation et meme un reinstallation complete de leur matos plutot que de chercher, il y a peut etre ça aussi dans les utilisateurs windows, on les as tellement serinés avec le plug and play qu’il croient tous qu’il suffit de penser pour faire marcher leur machine, au contraire l’utilisateur linux sais lui qu’il faut souvent cherher les causes exactes des problemes pour en venir a bout, sans parler des defauts de langages consequent ou chacun parle de quelquechose sans vraiment jamais se comprendre parce que personne n’utilise la terminologie exacte, mais bon ça aussi ça doit arriver dans linux et ses differentes distributions…

Mais que veux tu: c’est la faute à Microsoft si la loi sur le port obligatoire du cerveau tarde à passer…

Matt qui parle de légiférer, où va-t-on ?
Le drapeau noir est en berne ?

Mais la loi n’est pas la pire ennemie de l’anarchie. La république et la démocratie sont même des chemins qui préparent l’utopie anarchiste, et il faut bien en passer par des réglementations, tant que l’individu n’a pas tous les outils pour juger de quand il empiète sur la liberté de son voisin.
Simplement le pouvoir du legislateur ne doit pas être entre les mains de representants, ou de quelque personne physique que ce soit d’ailleurs.
Seulement le peuple sans intermèdiaire.
Et ca, avant l’anarchie, ca s’appelle la démocratie participative/la démocratie directe.

Evidemment, l’attitude collective à adopter face à certaines questions est difficile à déterminer pour un libertaire.
Par exemple, le droit de chaque homme à disposer de son propre corps (qui pour moi devrait etre inscrit avant bien d’autres) justifie de fait la pratique de l’euthanasie, mais l’alienation du suicidé est elle respectable pour autant ?

L’anarchie necessite une conscience absolue de chaque individu (autant dire que ce n’est qu’un idéal), mais en attendant, il faut bien en passer par la loi pour poser les limites.

Les limites de la liberté je citerais:

On est d’accord.
Alors dis moi: ou commence celle des autres ?
C’est en attendant que cette question aie une réponse qu’on a besoin de loi.

[quote=“MattOTop”]On est d’accord.
Alors dis moi: ou commence celle des autres ?
C’est en attendant que cette question aie une réponse qu’on a besoin de loi.[/quote]Celles des autres commence la où la notre s’arrete. :laughing:

Je sais je sors je connais le chemin :arrow_right:

Je dirais plutôt :
tout individu est libre de faire et dire ce qu’il veut jusqu’au moment où personne ne s’en plaint.
A partir du moment où qq’un s’en plaint, et à condition que cette plainte soit fondée, l’individu en question voit sa liberté prendre fin.
Exemple : je peux gueuler partout que Dieu existe et, à condition que mes hurlements ne gênent pas les autres, je n’attenterai en aucun cas à leur liberté.
Attention, si, en raison de ma profession, de mon auditoire ou de mon état, cela devient du prosélytisme, je ne suis plus libre de mes paroles.
Concrêtement, quand Matt nous dit que Windaube est de la m…, à côté de Linux, étant donnée son aura sur ce forum, il attente à notre liberté de penser. :wink: :laughing: :laughing:

[quote=“ricardo”]Je dirais plutôt :
tout individu est libre de faire et dire ce qu’il veut jusqu’au moment où personne ne s’en plaint.[/quote]
Par exemple, si tu violes des enfants qui ne parlent pas encore, ce n’est pas une atteinte à leur liberté.
Quand tu décide de gazer les handicapés qui ne se défendent pas, ce n’est pas non plus une atteinte à la liberté…
Et quand les esclaves travaillent sans ouvrir leur gueule de peur que leur situation n’empire, ce n’est pas non plus une atteinte à la liberté.
La devise dont nous parlions n’a de sens que si elle est appliquée de manière proactive: l’individu se doit de s’arrèter AVANT d’empièter sur la liberté des autres, que ce soit parceque son ethique lui dit qu’il va le faire, ou parceque la loi le lui rappelle.

[quote=“ricardo”]A partir du moment où qq’un s’en plaint, et à condition que cette plainte soit fondée, l’individu en question voit sa liberté prendre fin.
Exemple : je peux gueuler partout que Dieu existe et, à condition que mes hurlements ne gênent pas les autres, je n’attenterai en aucun cas à leur liberté.
Attention, si, en raison de ma profession, de mon auditoire ou de mon état, cela devient du prosélytisme, je ne suis plus libre de mes paroles.
Concrêtement, quand Matt nous dit que Windaube est de la m…, à côté de Linux, étant donnée son aura sur ce forum, il attente à notre liberté de penser. :wink: :laughing: :laughing:[/quote]
Reprends tous mes posts, et tu verra que même si je rappelle régulièrement les defauts de windows, je n’ai jamais dit “n’utilises pas windows” ni quelquechose d’approchant, sauf en l’adjoignant d’une clause “si tu veux faire du bon boulot, alors n’utilises pas windows”.
Je travail dans l’objectif, moi môssieur, quand je défends mes convictions :laughing:

J’ai donc suivi à la lettre le très bon topic de Ricardo.

cependant, lorsque je fais un sudo iptables -L --line-numbers, , j’obtiens ceci:

Chain INPUT (policy DROP)
num target prot opt source destination
1 all – anywhere anywhere
2 ACCEPT all – anywhere anywhere
3 DROP icmp – anywhere anywhere
4 ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
5 ACCEPT tcp – anywhere anywhere tcp dpt:ftp-data
6 ACCEPT tcp – anywhere anywhere tcp dpt:ftp
7 ACCEPT tcp – anywhere anywhere tcp dpt:ssh
8 ACCEPT tcp – anywhere anywhere tcp dpt:www
9 ACCEPT tcp – anywhere anywhere tcp dpt:ipp
10 ACCEPT tcp – anywhere anywhere tcp dpt:xmpp-client

Chain FORWARD (policy DROP)
num target prot opt source destination

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

Or, si je comprends bien, la ligne 2 autorise tout. Donc les ACCEPT ne serviraient à rien (car tout est ouvert par défaut).

Bref, faut-il supprimer cette ligne 2?

Merci.

Tu devrais plutôt faire un iptables -L -vn --line-numbers
le v pour voir les interfaces, et le n pour aller plus vite (pas de traduction d’IP en nom).
La 2nde règle précise surement une carte de réseau spécifique, probablement lo (localhost, en boucle local, et donc sans sortir vers eth0), visible uniquement avec l’option -v.
Il est normal qu’en boucle local tout soit accepté, pour que les programmes internes puissent se parler entre-eux (genre, gnome qui demande à executer firefox, ou un cron, voir simplement un terminal (qui ouvre un tty)).

La regle de base lors de la création des regles pour un firewall est de tout bloqué et seulement ensuite d’ouvrir seulement ce dont tu as besoin.

Si tu as une regle qui accepte tout par default alors il vaut mieux la virer.

J’ai donc retapé la commande avec l’option vn et j’obtiens cette fois-ci:

Chain INPUT (policy DROP 685 packets, 42704 bytes)
num pkts bytes target prot opt in out source destination
1 228K 145M all – * * 0.0.0.0/0 0.0.0.0/0
2 79910 7305K ACCEPT all – lo * 0.0.0.0/0 0.0.0.0/0
3 0 0 DROP icmp – * * 0.0.0.0/0 0.0.0.0/0
4 148K 138M ACCEPT all – * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
5 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
6 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
7 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
8 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
9 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
10 0 0 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222
11 274 14618 ACCEPT tcp – * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:47624

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 222K packets, 65M bytes)
num pkts bytes target prot opt in out source destination

La ligne 1 et 4 sont elles normales?

Merci.

Je me suis amusé à faire un petit script qui initialise les règles iptables et qui utilise iptables-save

Le script est à lancer une seule fois et sous root :slightly_smiling:

[code]#!/bin/sh

Script de démarrage iptables by Ashgenesis

Utilisation

Mettre le script executable et le lancer

sous l’utilisateur root ou avec les droits

administrateur

Rajouter les règles spécifiques a votre

config le cas écheant

#########################

#cp ./firewall.sh /etc/init.d/firewall.sh
echo -e "#!/bin/sh

chargement/dechargement d’iptables

case “$1” in
’start’)
/sbin/iptables-restore < /etc/firewall.conf
RETVAL=$?
;;
‘stop’)
/sbin/iptables-save > /etc/firewall.conf
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
” > /etc/init.d/firewall.sh

#####################################

Initialisation

iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F

Règles par défault

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT

Autorisation de loopback (logique)

iptables -t filter -A INPUT -i lo -j ACCEPT

Autorisation des connections déjà établies

iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#####################################

Rajouter ici les regles spécifiques à votre utilisation

#####################################

iptables-save > /etc/firewall.conf

chmod +x /etc/init.d/firewall.sh

update-rc.d firewall.sh defaults 19 21
[/code]

Beau boulot!

Et sinon pour ma capture d’écran? Des règles à supprimer?

[quote=“isterios”]Beau boulot!

Et sinon pour ma capture d’écran? Des règles à supprimer?[/quote]

A priori, comme ça, oui. Il y a des règles à supprimer si tu veux éviter qu’un hacker ne vienne faire un telnet ou un ssh sur ton serveur. Cependant, si ni telnet, ni ssh ne sont installés, à la rigueur. Il faut bien savoir à quoi servent les ports que tu ouvres. Un port ce n’est jamais qu’un programme, ouvrir un port signifie que l’on permet au programme d’envoyer ou de recevoir des informations. En l’occurence, le port 21 correspond à telnet, le 22 à ssh, le 80 à http, le 631… (google help)… à ipp, le 5222 à Jabber et le 47624 à un autre programme, probablement un jeu réseau.

chebucto.ns.ca/~rakerman/port-table.html

Pour la sortie mais pas pour l’entrée quand meme non ?