|
|
|
|
|
Bonsoir à tous, et bonne nuit à ceux qui se couchent....
J'ai une petite question .... Je me suis remis au ftp, plus particulierement à l'authentification et chiffrement grace à TLS. Je trouve des difficultés à configurer NETFILTER pour autoriser les connexions FTP avec TLS....pourtant je connais bien netfilter, mais je lutte un peu. En effet la premiere connexion s'effectue sur le port 21, l'échange du certificat est ensuite fait, et la on crypte l'envoi des commandes du mot de passe, ainsi que celle du choix des ports utilisés pour le transfert des données (le serveur utilise le port 20 en actif, sinon en passif ce sont des ports hauts supérieurs à 1024 ...), [...] puis vient la commande LIST....mais la rien n'est renvoyé au client .... gênant vous me direz .... Petit problème, comment le firewall va savoir sur quels ports va etre effectué le transfert de données (que ce soit en actif ou passif ....) ??? Car le flux crypté ne sera pas compris par NETFILTER, et donc il ne pourra pas "autoriser" les connexions RELATED sur un autre port (puisque ce port est inconnu ......). Après quelques recherches il semblerait que ce problème est insoluble, à moins d'ouvrir completement le firewall ....je dis bien completement = TOUS les ports. Existe t il (enfin la question quand même :D ) un module spécifique à NETFILTER pour qu'il puisse s'assurer du filtrage FTP/TLS (genre patch pour le noyau à intégrer pour netfilter) ?? Sachez que les ports TLS pour le ftp sont 989 et 990 , mais rien n'y fait pour le filtrage, impossible de faire du firewalling avec ce type de chiffrement FTP .... Quoiqu'il arrive le SFTP (fourni par openSSH, au passage on n' a pas besoin de serveur FTP si on fait du sftp ...) est la meilleure solution.... mais je reste sur ma faim -miam- , j'aimerai trouver un moyen de faire du FTP/TLS et du firewalling .... Avis aux idées sur le sujet..... (peut être vous me rassurerez que ce n'est pas possible ...) Merci :D (Désolé pour le double post, j'ai buggé sur la touche entrée ... et j'ai pas eu le temps de finir en 10 minutes ce post ....je voulais etre clair...) Luc L. |
peut etre avec le client approprié ..
j ai le meme problème que toi avec iptables !! comme les paquets sont cryptés le firewall ne peut pas savoir que la connection entrante est RELATED avec une connection ftp ! Par contre mon probleme se limite au client branché via un routeur (typiquement routeur adsl avec reseau local 192.168.) mais j ai remarqué que certains client ftp comme filezilla peuvent initier les connexions sur certains ports (de maniere definie j entends!!) pour l instant je creuse dans cette voie !! j utilse proftpd et j ai configuré un nombre limité de ports en sortie pour le transferts de data dans proftpd.conf : PassivePorts 49152 50000 ports que j ai autorisé en sortie pour le firewall !! voila ou j en suis !! bonne chance :-)
|
|
Tiens tiens un peu de documentation sur le sujet :
http://www.hsc.fr/ressources/breves/ftp-ssl.html.fr Luc L. [Gentoo] enfin :Þ |
Bonjour,
j'ai le même problème que vous avec mon iptables. Mais je ne connais pas SFTP. En quoi cela consiste-t'il exactement, et surtout, est-ce que ça change quelque-chose pour le client ???? Merci de bien vouloir m'expliquer
|
Donc toute la discutionse fait par sshd !!!
Donc plus de pb pour gérer le filtrage !! Car moi je vex donner avec a mon ftp de n'importe quelle ip. Concretement, si je mets en place un serveur sftp, le client prend son filezilla et il fait comme d'hab ? Si oui, connaissez vous un howTo bien fait sur sftp ? |
Il semble que filezilla supporte sftp:
http://filezilla.sourceforge.net/documentation/ Pour la doc, regardes le lien que j'ai donne ci-dessus. En principe il suffit de demmarrer le service "sshd" (soit par les scripts de boots ou simplement par /sbin/sshd) sur le server et mettre les bons regles de firewall (ouvrir le port 22). Apres sur le client il faut avoir sftp, ssh ou scp (normalement pas de pb en Linux). Filezilla marche aussi si on fait en mode sftp. Mais je ne sais pas comment faire pour de connections anononymes et si c'est possible. Mais dans ce cas il n'y a pas besoin de cryptage et on peut faire par ftp simple (sans cryptage) et ici je crois il suffit d'ouvrir les ports 20 et 21. |
Merci.
Pour le début, je ne sais pas trop, je n'est pas tout bien compris. Mais pour ipatbles, le fait d'ouvrir le 20 et 21 n'est pas suffisant, LOIN DE LA !!! Par contre, pour faire du ftp simple sans soucis,il y a semblerait-il un modula fait exprès nommé, ip_nat_ftp. Je n'ai pas encore eu le tps de lire la doc. Je vous tiens au courant si je trouve des piste. N'hésitez pas à en faire autant. A vous les studios |
|
Salut,
Mais pour ipatbles, le fait d'ouvrir le 20 et 21 n'est pas suffisant, LOIN DE LA !!! Ouvrir ces deux ports dans le cadre du ftp actif est suffisant, par contre cela pose un souci concernant les firewall des clients. Dans le cadre du ftp passif les ports hauts sont nécessaires. Le modules ip_nat_ftp permet de "masquerader" le ftp. Maintenant il est tres simple de faire du bon filtrage sur du ftp standard actif et passif. http://www.commentcamarche.net/forum/affich-1138864-IPCOP-et-acc%E8s-FTP Pour le sftp , je crois qu'il n'est pas possible de faire de l'anonyme, et d'ailleurs si c'est anonyme pourquoi crypter ??? (kmf le disait déja plus haut...) Luc L. [Gentoo] enfin :Þ |
Merci Luc,
bon excuse moi, je peux pas rentrer dans le technique car là je suis okp. Mais si je comprends bien, tu me dis qu'avec le module ip_nat_ftp, mon soucis de filtrer tout en laissant le ftp "classique" rentré est réglé ??? Si c'est ça, alors c'est cool, et je vais récupérer de la docn là-dessus le plus tôt possible. Merci de simplement me confirmer. Ou m'infirmer. |
|
Quoiqu'il arrive les deux modules ip_nat_ftp et ip_conntrack_ftp sont nécessaires pour respectivement avoir du NAT et gérer du filtrage.
Lis le lien que je t'ai donné... malgré tout il faudra changer les règles FORWARD en INPUT et OUTPUT. Tu devrais aussi remercier kmf , il a pris la peinne de te répondre. Bonne journée. Luc L. [Gentoo] enfin :Þ |
Oui désolé, de toute façon, je suis reconnaissant a tous ceux qui m'aident.
j'ai vu que tu as déjç eu une conversation similaire [url]http://www.commentcamarche.net/forum/affich-1138864-IPCOP-et-acc%E8s-FTP[/url] dedans, tu donne ceci : #Je définis qq variables basiques : red=ppp0 green=eth0 orange=eth1 IP_FTP=ip du serveur FTP en DMZ high_ports=60000:61000 #On fait le forward des ports #on utilise la table NAT iptables -t nat -A PREROUTING -i $red -p tcp --dport 21 -j DNAT --to-destination IP_FTP:21 iptables -t nat -A PREROUTING -i $red -p tcp --dport 20 -j DNAT --to-destination IP_FTP:20 iptables -t nat -A PREROUTING -i $red -p tcp --dport $high_ports -j DNAT --to-destination IP_FTP #on s'occupe du filtrage iptables -A FORWARD -i $red -o $orange -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $orange -o $red -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -i $red -o $orange -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -i $orange -o $red -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $red -o $orange -p tcp --sport 1024: --dport $hight_ports -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $orange -o $red -p tcp --sport $high_ports --dport 1024: -m state --state ESTABLISHED -j ACCEPT Moi j'utilise pas de variables, mais peu importe. Que signifie cette ligne : iptables -t nat -A PREROUTING -i $red -p tcp --dport $high_ports -j DNAT --to-destination IP_FTP Ensuite, je trouve que certines règles se ressemblent et je me demande s'il n'y a pas des choses de déjà faites involontairement. Voiçi mon fichier complet : # Completed on Tue Jan 18 04:36:22 2005 # Generated by iptables-save v1.2.11 on Tue Jan 18 04:36:22 2005 *filter :INPUT DROP [2857:160500] :FORWARD DROP [75:3600] :OUTPUT DROP [64:4243] -A INPUT -d 127.0.0.0/255.0.0.0 -i lo -j ACCEPT -A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j ACCEPT -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT -A INPUT -i ppp0 -p tcp -m tcp --dport 80 -j ACCEPT -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p udp -m udp --dport 53 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 53 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 22 -j ACCEPT -A FORWARD -d 192.168.0.0/255.255.255.0 -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -p icmp -m icmp --icmp-type 8 -j ACCEPT -A FORWARD -p icmp -m icmp --icmp-type 0 -j ACCEPT -A FORWARD -p icmp -m icmp --icmp-type 3 -j ACCEPT -A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 1863 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 1863 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p udp -m udp --dport 1863 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p udp -m udp --dport 6891 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 6891 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 443 -j ACCEPT -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT -A OUTPUT -s 127.0.0.0/255.0.0.0 -o lo -j ACCEPT -A OUTPUT -s 192.168.0.254 -o eth1 -j ACCEPT -A OUTPUT -o ppp0 -p udp -m udp --dport 53 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 53 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -o ppp0 -p ah -j ACCEPT -A OUTPUT -o ppp0 -p esp -j ACCEPT -A OUTPUT -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --sport 22 -j ACCEPT -A OUTPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 1863 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 1863 -j ACCEPT -A OUTPUT -o ppp0 -p udp -m udp --dport 1863 -j ACCEPT -A OUTPUT -o ppp0 -p udp -m udp --dport 6891 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 443 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 80 -j ACCEPT COMMIT # Completed on Tue Jan 18 04:36:22 2005 Tu en penses quoi. Je trouve vraiment le ftp pas simple du tout. Merci de ton aide |
|
Le cas déja abordé sur le lien cité concerne un serveur FTP dans une DMZ, la ligne iptables -t nat -A PREROUTING -i $red -p tcp --dport $high_ports -j DNAT --to-destination IP_FTP permet de forwarder une plage de ports passifs vers le serveur en DMZ.
Dans ton cas tu as un serveur FTP sur ta passerelle Internet , si j'ai bien compris ? Apres on attaque iptables :) Luc L. [Gentoo] enfin :Þ |
Tu as tout compris.
Tu peux m'aider ! C'est cool ! Par contre juste au cas où, m'aime si je doute pas que tu l'as vu. Mon ppp0 est branché sur eth0 et non eth1( juste pour rappel car c pas logique mais bon tt pis). Donc tu penses koi de ce que j'ai fait ? |
royale la faut m'aime au lieu de même !!!! Je sais rien à voir, mais je trouvais cele-ci notable. |
|
Allez c'est parti! j'ai pas dormi de la nuit mais bon je suis frais encore :)
#Chaque ligne commence par "iptables" et se termine par "ACCEPT" #Les commandes iptables ne doivent pas etre écrites sur deux lignes... #on ouvre le port 21 iptables -A INPUT -i ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT #on permet le ftp actif iptables -A INPUT -i ppp0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT #on permet le ftp passif iptables -A INPUT -i ppp0 -p tcp --sport 1024: --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT #fin Il faut obligatoirement charger les deux modules que j'ai cité plus haut A CHAQUE DEMARRAGE de la machine. Si tu veux faire encore mieux ... c'est a dire restreindre encore un peu le filtrage pour le passif, définis une plage de ports sur le serveur FTP (on prend par exemple 20000 a 21000) On remplace donc la partie concernant le ftp passif , voila ce que ca donne: iptables -A INPUT -i ppp0 -p tcp --sport 1024: --dport 20000:21000 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --sport 20000:21000 --dport 1024: -m state --state ESTABLISHED -j ACCEPT Un petit "plus" , tu me dis que tu as ton modem branché sur eth1, peu importe ethX, mais il ne faut pas attribuer d'adresse IP a eth1 , dans les scripts de démarrage , il doit y avoir une option du type "up" , et ca suffit....il ne faut surtout pas mettre d'adresse IP c'est tout :) @+ Luc L. [Gentoo] enfin :Þ |
|
Euh sinon je viens de regarder le script ... oui je voulais pas le lire plus tot :)
Voici les lignes qui sont interressantes pour le ftp -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o ppp0 -p tcp -m tcp --dport 21 -j ACCEPT Mais il en manque UNE .... sur INPUT de ppp0 .... le port 21 n'est pas ouvert .... Bon FTP :) Luc L. [Gentoo] enfin :Þ |
Merci luc, tu es un chef !!!
Je regarde ça des que mes cours sont finis. Sinon question perso, tu es étudiant ou tu taf ? ET aussi, es-tu calé Debian? Car j'ai des ptites imprécisions de pensées que j'aimerai bien résoudre. En tout cas merci pour le FTP. Je teste dès que j'ai fini, sans doute cet après-midi. |
|
Merci luc, tu es un chef !!!
Merci , mais il y en a certain ici qui maitrisent bien mieux que moi je pense, l'honneur revient aux personnes qui font vivre Comment Ca Marche. J'ai fait un BTS en alternance Informatique Admin Reseau , mais actuellement je travaille a l'ANPE :) Je vais certainement continuer sur un BAC +4 ou 5 à la rentrée prochaine, en sécu réseau ca serait l'idéal... Sinon j'ai d'autres projets, comme la musique électronique, mais les temps sont durs dans ce milieu ces dernieres années, espérons que 2005 soit plus généreuse :) Debian je connais qu' un tout petit peu , j'ai installé une Woody il y a quelques temps déja. Mais je suis passé sous Gentoo et depuis je ne m'en lasse pas. Pose tes questions dans un nouveau post c'est mieux :) (notamment pour la recherche sur le forum, c'est nettement plus clair et concis) @+ Luc L. [Gentoo] enfin :Þ |
|
Ba alors ca en ou tout ca :) ?
Pas de nouvelles bonnes nouvelles ??? :) Luc L. [Gentoo] enfin :Þ |
Résultats pour [FTP/TLS] iptables : ftp data ???
Résultats pour [FTP/TLS] iptables : ftp data ???
Résultats pour [FTP/TLS] iptables : ftp data ???
Résultats pour [FTP/TLS] iptables : ftp data ???
Résultats pour [FTP/TLS] iptables : ftp data ???