c'est bien de vouloir comprendre ce que l'on met dans les scripts,
iptables n'est pas du tout une usine à gaz mais que du bon sens et de la logique. et lorsque l'on relis ses règles au moins, on s'y retrouve, le grand avantage, c'est que l'on peut faire des paramétrages qu'aucun logiciel ne pourrait faire, il m'aurait été impossible par exemple de gérer mes différentes interfaces machines, vpn.. comme je le fais autrement que comme cela. (à chaque interface ses propre règles)
Dans la thérorie, beaucoup estiment que cela n'est pas nécessaire iptables si l'ordinateur est derrière une box, c'est en effet exact, mais dans la pratique il faut savoir qu'il ne faut faire confiance à rien, et surtout pas à la box: je ne compte plus le nombre de fois que ma box a essayé de s'infiltrer sur mon LAN, et même avec succès lorsque je n'avais pas changé un mot de passe ftp...🙂 ftp c'est en clair donc à proscrire, bref en re-consultant ntop et tcpdump paramétré pour enregistré tout ce qui se passe sur les ports en écoute vers un fichier, je n'étais en fait pas étonné qu'un fai (ou plus précisement de ses employés) puisse s'intéresser à un lan d'un client, je passe et referme la parenthèse, si juste une chose encore et je ne m'étend plus sur le sujet, iptables ne protège pas contre une box, iptables travaille en effet au niveau ip de la couche 3 du modèle OSI, et la box est relié à la couche éthernet (couche 2) via une prise RJ45 il est donc impératif d'intercaler un autre routeur entre la box et tes machines pour que iptables puisse t'en protéger)
je trouve ce site très bien fait: si tu veux maitriser un minimum la sécurité et iptables, il te faut un minimum de connaissances en TCP/IP et réseau.
http://irp.nain-t.net/doku.php/130netfilter:030_filter
iptables -t filter -F on fait le vide, ré-initialisation (les ACCEPT ou DROP par défaut restent cependant dans leur état)
iptables -t filter -P INPUT DROP on interdit tout en entrée (personne ne peut venir ni même regarder sur ta machine)
iptables -t filter -P OUTPUT ACCEPT on autorise tout en sortie, on peut le faire car tu es censé contrôler tout ce qui se passe dans ta machine, en pratique certains le mette en DROP aussi pour diverses raisons.
iptables -t filter -P FORWARD ACCEPT cela concerne les paquets qui ne font que passer et destiné à une autre machine, pour l'instant tu n'es pas concerné, c'est pour mettre sur une passerelle.
iptables -t filter -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
celle ci a une importance toute particulière, c'est elle qui autorise les paquets rentrant sur ta machine pour une connexion qui a été initalisée par ta machine.
exemple, tu va sur un site, tu va donc envoyé une requête sur ce site et comment peut il répondre puisque tu as mis INPUT en DROP, cette régle permet justement de faire exeption et d'autoriser des paquets rentrants sur ta machine malgré le DROP, paquets concernant
uniquement les connections initialisées par ta machine juste avant via OUTPUT.
iptables -t filter -A INPUT -i lo -j ACCEPT
indispensable, elle permet à ta machine de communiquer avec elle même sans quoi rien ne se fait.
pour terminer il faut savoir que iptables n'est qu'un histoire de positionnement et de sens du flux, de logique et de bon sens, après il faut juste respecter les syntaxes.
sports (s comme source) s'il se trouve dans OUTPUT alors la source c'est ton ordi puisqu'il envoie alors c'est sports pour désigner les ports de ta machine.
par contre s'il se trouve dans INPUT, la source n'est plus ta machine, elle recoit cette fois, alors sports concernerait une autre machine qui t'envoit des paquets.
le raisonnement est le même pour dports (d comme destination)
tout n'est que positionnement et de sens du flux dans iptables
regarde cette règle: state --state ESTABLISHED,RELATED -j ACCEPT
il faudrait la mettre dans OUTUT aussi s'il était en DROP, la logique reste la même dans l'autre sens, si un paquet rentrant initialisé depuis l'extérieur, il faudrait bien que ton OUTPUT en DROP fasse exeption pour lui répondre....