Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Bonjour, j ai besoin d explications
Bon j ai tout dabord un router,ensuite un vieux pc qui me sert de firewall avec iptables,et ensuite deux pc ds le lan.

Router: 192.168.1.10 coté interne
Firewall: 192.168.1.1 coté router et 192.168.0.10 cote LAN
LAN: 192.168.0.1


Si j ai un ftp sur mon PC du lan quelles regles dois je mettre en place pour le ftp et irc.
Dois je faire du source nat ou du dnat sur le firewall?
Dites mois si je me trompe mais comme mon router fais deja du nat est ce que je dois el faire sur le firewall aussi?

Je comprends le principe du relative dans les etats, mais en ligne de commande je ne vois pas comment l ecrire si quelqu un pouvait m aider j apprecierai.

Moi je mettrai ca

Acceder au FTP sur Internet
iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -p tcp -o eth0 --dport 21 -m state \
--state NEW -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.0.0/24 -p tcp -o eth1 --sport 21 -m state \
--state ESTABLISHED,RELATIVE -j ACCEPT

Deja la j ai un doute, en adresse de destination je dois mettre celle de mon router? -d 192.168.1.10 ou rien du tout partant du principe que ca va aller sur internet?

Et si j ai un server FTP dans le Lan, que dois je mettre pour avoir les etats de la connection relative?

Acceder de Internet a mon ftp dans le LAN
iptables -A FORWARD -i eth1 -o eth0 --dport 21 -p tcp -d 192.168.0.0/24 -m state \
--state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -0 eth0 --sport 21 -p tcp -s 192.168.0.0/24 -m state \
--state ESTABLISHED -j ACCEPT

Faut il que je recree une ligne pour une connection relative.

L idee generale c est que j aimerais authoriser les nouvelles connections de mon lan a un server ftp sur Internet et que une fois la connection etablie,autoriser les connections relatives a cette connection quelque soit le peer.

J aimerais egalement authoriser nimporte quelle ip a se connecter de internet a mon serveur ftp,une fois la connection etablie,authoriser les connections relatives a mon FTP.

Apres j aimerais comprendre si je doi utiliser le dnat ou le snat, aparament le source nat c est pour que tous les paquets qui sont sourcés aient l air de provenir d une seule ip ce que doi faire mon router internet mais dois ej le faire pour mon firewall?je ne pense pas.Le dnat c est pour rediriger des paqeuts d apres ce que j ai compris vraisemblablement il faudrai peut etre que je redirige les paquets du firewall a mon ftp.du moins ceux a destination du port 21.
Donc aidez moi svp j aimerai bien comprendre cd truc et pas couper iptables a chaque fois ke je veu aller sur irc ou ftp.









Poste le Thursday 6 October 2005 21:17:32
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: chromosome

Hola Hola, on se calme !!! :-)

Ne melangons pas tout.

Il te faut (par exemple)

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -p tcp -m tcp --dport 21 -j ACCEPT


Et c'est tout. (du moins pour le FTP)

Explication : La ligne 1 permet d'autorise tout les traffics dont les "connect" ont deja ete autorise. (dans ce cas-ci le ftp)
La ligne 2 permet de laisser passer le "connect".

Donc ton client va lancer un connect sur le port 21 vers xxxx, ce paquet n'etant pas connu dans la table des connexion d'iptables, il controle si tu peux, et alors il dit OK, et inscrit dans sa table de session active (j'ai un ftp de a vers b avec le port source x et port destination y). Maintenant le serveur te repond avec un ACK, et la iptables controle et dit OK, c'est normal, c'est pas un connect et je connais cette "tete la", donc OK. Ensuite tous les autres paquets utiliserons la meme voie (c'est le fameux RELATED,ESTABLISHED).

Alors pour le NAT si ca te fait plaisir, tu peux toujours, mais tu compliques pas mal les choses. En fait ca sert strictement a rien, car c'est ton router qui va faire le "seul" NAT dont tu as besoin (etant donne que ton adresse interne est une adresse prive et donc pas routable sur Internet).

Par contre tu ne dois pas oublie de charger le module "ip_conntrack_ftp", car notre amis FTP est un protocole un peu etrange, il ouvre des autres ports qui sont varibale (en active mode) et donc iptables dont interpreter la requete PORT dans les echanges FTP afin d'"AUTO" ouvrir les ports supplementaires.

Bon, j'espere avoir ete assez clair ?
:-)


Poste le Thursday 6 October 2005 22:34:50
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Merci

Ok je comprends ta politique, je crois que j ai voulu faire un truc trop granulaire et tres complique, sachant que je voulais faire ca pour chaque type e connection.
Avce ton system si j ai bien compris,on accepte toutes les connections etablies et relatives quelque soit le port la destination et l adresse source et le protocole utilise.

Ce qui permet de juste definir ensuite juste les nouvelles connections.

Par contre je crois bien que j utilise le DNAT sinon comment mon firewall va savoir que le paquet est bien destine a mon pc 192.168.0.1 qui a le ftp.
Mon router lui fai du dnat puisquil redirige deja les paquets en direction du port 21 sur mon firewall,mais mon firewall lui aussi doit les rediriger, car je crois bien dans le procede,que le router lorsquil fait du dnat, il change l adresse de destination dans l entete du paquet ce qui fait que mon router voyant le paquet arriver va croire qu il lui ai adresse.Enfin c est une suposition mais je suis presque sur que si j ai un server ftp sur mon pc du lan,je doi a mon avis faire du destination nat.
Sinon c clair
autre petite question sur mon firewall, si j ai un server dns qui fait un listen sur eth1 cote lan.Si je vei l authoriser a aller sur internet chercher des infos c est sur le output mais en adresse source je met quoi?celle ou il fai le listen 192.168.0.10 ou celle de la carte reseau cote internet 192.168.1.1

iptables -A OUTPUT -o eth0 -s 192.168.1.1ou192.168.0.9 -p udp --dport 53 -m state NEW -j ACCEPT

Poste le Friday 7 October 2005 11:11:41
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: chromosome

Je ne vois pas pourquoi ton router doit rediriger vers le firewall, et le firewall vers la station.
Pourquoi ne pas dire au router de directement les envoyer vers la station via le firewall (donc ne pas oublie de mettre une route en plus sur ton router)

Tu ne dois pas mettre d'adresse source dans les paquets OUTPUT, precisse seulement l'interface si tu veux.
Car les OUTPUT c'st uniquement les paquets venant du Firewall et allant vers l'exterieur (ne pas oulier la loopback interface) et l'INPUT les paquets a destination du firewall. Les FORWARD pour les paquets passant au travers du Firewall.

Poste le Friday 7 October 2005 11:52:05
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Ben si en fait je veux que mon router redirige le port car il n est pas protege, c est le premier lien vers l internet.En redirigeant le port sur mon firewall, je masque de cette facon la vraie ip de mon server ftp.

Ca marche toujours pas.

iptables -A FORWARD -m state \
--state ESTABLISHED,RELATIVE -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -p tcp --dport 6667 -m state \
-- state NEW -j ACCEPT


j ai un drop dans iptables de mon lan vers internet au moment ou j accepte la connection xdcc
c est un port qui est forke,donc ca doi etre cette fameuse connection relative qui me donn etant de mal.
je suis connecte a irc pa de probleme mais des ke j accepte le paquet xdcc c est mort.
que faire



Poste le Friday 7 October 2005 15:04:14
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: chromosome

J'ai mis RELATED et pas RELATIVE.
Et je n'ai pas mis le "-m state a NEW"

Donc tu as mis ton router en mode transparent. Mais pourquoi ton router n'est-il pas protege ?

Poste le Friday 7 October 2005 15:41:54
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Bon voila le plus simple,voila mes regles, voila le drop

Qu on m explique ce qui ne va pas svp je capte plus.
J ai authorise toutes les connections related et established dans les 2 sens et de nimporte quelle adresse.
Et j ai authorise les nouvelles connections sur le port irc soit de l internet soit de chez moi.
voila les modules que je charge:

modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_nat_irc


#Pour la Mule

iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -p tcp --dport 6667 -m state \
--state NEW -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.0.0/24 -p tcp --dport 6667 -m state \
--state NEW -j ACCEPT

#ESTABLISHED RELATED

iptables -A FORWARD -m state \
--state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -m state \
--state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m state \
--state ESTABLISHED,RELATED -j ACCEPT



[IPTABLES DROP] : IN=eth1 OUT=eth0 SRC=192.168.0.1 DST=213.246.59.8 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=29835 DF PROTO=TCP SPT=5
6617 DPT=50235 WINDOW=5840 RES=0x00 SYN URGP=0





Poste le Friday 7 October 2005 16:05:53
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: chromosome

Oui c'est normal.
Si tu regardes ton LOG tu peux voir que les source port et destination port ne correspondent a aucune entree.
Tu as (dans tes logs) SPT : 56617 et DPT : 50235, ce qui ne correpond pas du tout, mais alors pas du tout a 6667.

Mais je repete tu peux supprimer le -m state NEW dans les ACCEPT.

Poste le Friday 7 October 2005 17:26:05
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Ben je sais qu ils ne correspondent pas, c est pour ca que cette connection est relative,c est au moment ou j accepte de telecharger le paquet xdcc que le peer fork de nouveaux ports pour initier cette nouvelle connection relative.
Mais dans mes regles j ai pourtant authorise les connections relatives de nimporte quel port:

iptables -A FORWARD -m state \
--state ESTABLISHED,RELATED -j ACCEPT

ou alors quelle regle dois encore ajouter pour que ca marche?
C est comme si le connection tracking servai a rien.
Pourquoi veut tu que je supprime le new, c est une nouvelle connection que j initie?
Et quelle regle dois je ajouter pour ces ports forques?

Poste le Friday 7 October 2005 17:54:21
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

desole pour le post encore, pour info, j ai essaye exactement avec ta commande en haut en changeant le port pour irc biensur.Ca ne marcher pas non plus.

Poste le Friday 7 October 2005 17:59:30
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: chromosome


Bon, voici ce que je te propose

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -p tcp --dport 6667 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.0.0/24 -p tcp --dport 6667 -j ACCEPT

Maintenant voici les explications :
Tu peux voir ici que j'ai supprimer les NEW mais j'ai aussi SURTOUT inverser l'ordre de tes lignes.
Car la premiere fois qu'un paquet sort pour initier une session, il n'est pas repris dans les RELATED,ESTABLISHED, donc le processus continue et la "bardaf" il tombe sur l'accept, et la il est supoer content de te faire plaisir en laissant passer le paquet. (mais evidement ca ne marche que si le port destination est le 6667/tcp, sinon il te dit va te faire fou...) Maintenant qu'il l'a accepter il mets dans sa table, les infos de la session (les infos sont principalement les adresses et les ports source/destination)
Maintenant, la machine distante repond, et comme elle est RELATED, "super encore un paquet que je connais, je vais le laisser passer". Et ce directement sur la premiere ligne (pas la peine d'aller plus loin dans le process. Ensuite ton client re-enoie encore un paquet (ces deux la quand ils causent, ils causent), le firewall le vois arrive, et ce dit tiens c'est deja une session ESTABLIDHED, je peux le laisser passer.

Maintenant si tu as des drops c'est possible que tu n'ai pas ouvert TOUS les ports necessaires.
Si le process fork, en principe (du moins dans le principe apache), il conserve la meme adresse de destination et surtout le meme port, seul le process est forker pour permettre de travailler en parallele.

Et dans chaque connection tu devrais avoir un port source different, mais ici on s'en fout, car tu filtre sur le port de destination.



Poste le Friday 7 October 2005 18:24:11
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Bon j ai les memes regle que toi mais ca ne marche pas.En fait mon pc etabli une connection pour download sur le xdcc sur un port forke.Mais visiblement le connection tracking ne voi pas ca comme une connection relative puisqu il la drop.
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
la logik voudrai qu il accepte cette connection mais non.
Conclusion pour ma part soit le ip contrack irc ne marche pas.
Soit il y a quelquechose que je n ai pa compris.
Merci de ton aide en tout cas.

Poste le Friday 7 October 2005 22:30:46
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: chromosome

Et toujours le meme drop ?
Et quand tu lances un lsmod ? vois-tu les modules necessaires ?
Mais je trouve un peu leger de n'ouvrir qu'un port.

Sur [lea-linux.org]
On peut lire

Citation
auteur
Par contre pour le DCC, il faut encore ajouter une règle, autoriser les liaisons sortantes à initier une connexion. Je ne vois pas pourquoi, mais chez moi c'est nécessaire ;-) :

# (suite du script...)
$IPTABLES -A OUTPUT -o $EXTERNAL_IF -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
Pour le DCC, j'ai comme l'impression que le module 'ip_conntrack_irc' a du mal à suivre les connexions et c'est pour ça qu'il faut ajouter la troisième régle. Ce n'est pas une trop grande faille de sécurité puisque c'est nous qui initions la connexion, mais tout de même ce serait mieux si ce n'était pas obligé. Si quelqu'un trouve mieux, je serais content qu'il m'en fasse part.
Le ping !

Poste le Saturday 8 October 2005 08:19:47
Répondre     Citer    
Re: IRC FTP EMULE iptables aide avec les etats
Envoyé par: jacky

Merci c est bien ce qui me semblai il ne la voi pa comme une connection relative merci monsieur je vais essayer avec cette regle.Kan tu me disai un port c un peu leger,ben non puisqu a la base j initiai une connection sur un port,si le contrack marchai il authoriserai cette connection quelque soit le port vu que j ai auuthorise toutes les relatives et established sur nimporte quel port.



Poste le Saturday 8 October 2005 20:11:02
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
IRC FTP EMULE iptables aide avec les etats
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons