problème iptables output

bonjour,

je pense que c’est plus simple que je vous dise ce que je souhaite vu que mes essais on l’aire infructueux

a l’aide du script complet si dessus

je souhaite faire la chose suivante

accepter toute les règles de sorties mais pouvoir dropé certaines IPS si besoins

et en input uniquement toute les règles spécifié dans le script

merci pour au moins la structure du script puisque la je patoge un peut

Jérémy

P.S je suis pas un PRO d’iptables… :blush:

J’y pense maintenant, mais pour tes histoires de ports aléatoires :

  • Soit tu connais la plage de port utilisée, et tu autorises cette plage uniquement :
iptables -A OUTPUT -o interface -m state --state NEW -p protocole --dport debut_plage:fin_plage -j ACCEPT
  • Soit tu autorises tous les ports, mais sur une adresse IP de destination bien spécifiée :
iptables -A OUTPUT -o interface -m state --state NEW [-p protocole] -d IP ou IP/MASK-j ACCEPT
  • Encore mieux : tu combines les 2
iptables -A OUTPUT -o interface -m state --state NEW -p protocole --dport debut_plage:fin_plage -d IP ou IP/MASK-j ACCEPT
  • Et tu refuses tout le reste
iptables -t filter -P OUTPUT DROP

Ca limite un peu les risques, plutôt que de tout autoriser en sortie.
Plus tu connais le fonctionnement de ton appli, plus tu pourras être fin sur les réglages de ton pare-feu et n’autoriser QUE ce qui est nécessaire.

bonjour,

merci pour cette réponse et cette astuce mais cela ne résous toujours pas mon problème

Jérémy

Tu disais pourtant que le traffic en sortie etait bloqué, c’était pas çà ton problème ? :108

bonjour,

non non la c’était tout le trafique qui se retrouvé bloqué alor que moie je désire tout laisser passer sauf certaines IPS…

merci

ah ben dans ce cas, faut faire quelque chose dans ce genre :

Initialisation de la table FILTER

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

On accepte les communications services réseau <–> boucle locale

	iptables -A INPUT -i lo -j ACCEPT
	iptables -A OUTPUT -o lo -j ACCEPT

	iptables -t filter -F
	iptables -t filter -X

Suivi de connexion - On laisse rentrer tous les paquets dont l’état est ESTABLISHED ou RELATED

modprobe nf_conntrack # au cas ou le module de suivi de connexion ne serait pas activé par défaut

iptables -A INPUT -i INTERFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

accepter toute les règles de sorties mais pouvoir dropé certaines IPS si besoins

iptables -A OUTPUT -o INTERFACE -m state --state NEW -p PROTOCOLE -d IP_DESTINATION --dport PORT_DESTINATION -j DROP
iptables -A OUTPUT -o INTERFACE -m state --state NEW -p PROTOCOLE -d IP_DESTINATION_1 --dport PORT_DESTINATION_1 -j DROP
iptables -A OUTPUT -o INTERFACE -m state --state NEW -p PROTOCOLE -d IP_DESTINATION_2 --dport PORT_DESTINATION_2 -j DROP
#etc… Autant de lignes que de règles de rejet

en input uniquement toute les règles spécifié dans le script

iptables -A INPUT -i INTERFACE -s IP_SOURCE -m state --state NEW -p PROTOCOLE --dport PORT_DESTINATION -j ACCEPT
iptables -A INPUT -i INTERFACE -s IP_SOURCE -m state --state NEW -p PROTOCOLE --dport PORT_DESTINATION -j ACCEPT
iptables -A INPUT -i INTERFACE -s IP_SOURCE -m state --state NEW -p PROTOCOLE --dport PORT_DESTINATION -j ACCEPT
#etc… Autant de lignes que de règles d’acceptation

bonjour,

merci ! je test ça de suite et je reviens si ça fonctionne toujours pas comme je le désire lol

merci beaucoup

re,

bon ça fonctionne enfin mais !

il y a un met, je ne peux pas bloqué des IP a la volé

c’est a dire que je suis obligé de mettre les IP au début du script sinon si je fais la commande dans ma consolle les IP sont pas bloqué alor que si je les mets au début du script la elle sont effectivmeent bloqué

ça dois être normal

je vous remerci si vous pouvez m’éclairsir sur ce point la.

edit :

P.S on ne peux pas faire la même chose pour la table nat ?

pour que les machines sur le réseau n’est pas non plus accès a ces IP la… c’est pour ça que je l’ai demandé a la base puisque je penser que ça allé coulé de source mais aparament mes adaptations ne fonctionne pas

merci

[quote=“jeremyp3”]re,

bon ça fonctionne enfin mais !

il y a un met, je ne peux pas bloqué des IP a la volé

c’est a dire que je suis obligé de mettre les IP au début du script sinon si je fais la commande dans ma consolle les IP sont pas bloqué alor que si je les mets au début du script la elle sont effectivmeent bloqué

ça dois être normal

je vous remerci si vous pouvez m’éclairsir sur ce point la.
[/quote]
humm, non je crois pas que ca soit si normal… Qu’as tu tapé comme commande exactement ?
Que donne un “iptables -L -n” avant et apres l’avoir tapée ?

Sinon, rentrer des lignes “à la volée” n’est pas une super idée, car la prochaine fois que tu relanceras ton script, les règles associées seront effacées et pas réinserées. Le plus “propre” me paraît être de les écrire dans le script et de relancer le script.

[quote=“jeremyp3”]
edit :

P.S on ne peux pas faire la même chose pour la table nat ?

pour que les machines sur le réseau n’est pas non plus accès a ces IP la… c’est pour ça que je l’ai demandé a la base puisque je penser que ça allé coulé de source mais aparament mes adaptations ne fonctionne pas

merci[/quote]
On peut le faire, mais ce sont d’autre lignes à rajouter dans le script.

moi je pense que la il te faut un tuto :slight_smile:
linux-france.org/prj/inetdoc … -tutorial/

savoir ce qu’on fait c est pouvoir faire ce qu’on veux en connaissance de ce qu’on veux obtenir :slight_smile:

l’ordre des chanine est important, par defaut si tu précise pas ou insérer la ligne depuis la console, celle ci est a joutée a la fin.
si tu lis le tuto c’est compliquer aux début mai après c’est génial tu fait ce que tu veux ou presque :slight_smile:
bon évidament iptables c’est pas facile ,c’est encore pire si tu utilise iproute :033

Oui, mais ce que j’ai écris est très simple, une initialisation des chaines, le suivi des connexions, et quelques drop ou accept qui sont en plus sensés correspondre à des IP uniquement, et qui donc peuvent être écrites dans n’importe quel ordre. Je ne comprends pas très bien dans ce cas pourquoi un simple ajout par la console ne fonctionnerait pas. :017
Mais c’est sur qu’il sera plus intéressant pour lui de comprendre et de pouvoir s’écrire lui même ses règles.

bonjour,

je suis interresser pour la modifications de la ligne pour la table nat puisque ce que j’ai tanter n’as pas fonctionné.

pour les IP a la volé je sais que c’est toujours mieux de le mettre directement dans le script mais bon ça c’est un détails ne sy arrêtons pas.

pour le tuto jyrais le voir mais bon si vous pourriez me doner la commande pour la table nat ou la table forware je sais pas trop lol

merci

edit :
je viens d’essayer une comande qui est logique mais iptables me met un avertissement parcontre ça bloque quand même

iptables -t nat -A PREROUTING -m state --state NEW -d 1.2.3.5 -j DROP

et le message d’avertissement

The "nat" table is not intended for filtering, hence the use of DROP is deprecat ed and will permanently be disabled in the next iptables release. Please adjust your scripts.

merci encore