FTP ne fonctionne pas a travers pfSense
-
Bonjour,
J'ai un problème pour faire fonctionner mon serveur FTP a travers pfSense.
Lorsque je tente de me connecter depuis internet en ftp, la session TCP s'établie bien, arrive jusqu'au serveur, mais me donne l'erreur suivante: 425 Can't open data connection.L'infra en place:
INTERNET –---------->>>PFSENSE----------------------->LAN (server http, ftp, ...)
wan IP :109.190.13.144 192.168.1.2
IP PFSENSE:192.168.1.1Ce serveur fonctionne correctement lorsque j'utilise un routeur small business Cisco en lieu et place du pfSense, le soucis ne vient donc pas de lui.
Les règles de NAT configurées sur le pfSense sont identique (a part les ports bien sur) pour la partie http (fonctionnelle) et ftp (non fonctionnel).Le but est d'utiliser du mode actif, mais pour le debug j'ai également configuré ce serveur en mode passif-> toujours le même problème.
pfSense up to date en version 2.2.2-RELEASE (i386).
Voila voila, si une âme charitable passe dans le coin, merci d'avance!
Cdt -
https://doc.pfsense.org/index.php/FTP_without_a_Proxy
-
Oui j'ai effectivement vu ce lien.
Cela veut donc dire qu'il est impossible de se faire un serveur FTP derrière un pfsense en mode actif?
Parceque la on nous parle de proxy FTP, mais quel est le lien avec du NAT ? Que ce soit avec un ASA, Checkpoint, Junip et autres, cela a toujours et est encore fonctionnel… Je m'étonne un peu de cette décision (et pour quelle raison? Incompatibilité technique par derrière?) de la part de pfSense. -
Hello,
Si je comprend bien, ça n'es pas impossible, si j'ai bien compris c'est juste déconseillé d'utiliser le FTP pour une problématique de sécurité.En revanche le SFTP / FTPS a l'air fonctionnel et préconisé car les flux sont crypté.
Il te disent même sur quel paramètre agir sur pfSense pour que ça fonctionne.- Le port Forwarding / Nat
- Faire correspondre les port sur ton client (si j'ai bien compris) par rapport au paramètre du port forwarding
- Créer t'es users
J'ai pas un niveau d'anglais qui dépotte donc j'ai peut être des soucis d'interprétation mais voilà se que j'ai compris de leurs doc.
Tu as aussi un exemple de fichier conf en bas, ça image certain point abordé. -
Cela veut donc dire qu'il est impossible de se faire un serveur FTP derrière un pfsense en mode actif?
Parceque la on nous parle de proxy FTP, mais quel est le lien avec du NAT ? Que ce soit avec un ASA, Checkpoint, Junip et autres, cela a toujours et est encore fonctionnel…Non, le document explique comment faire.
Je m'étonne un peu de cette décision (et pour quelle raison? Incompatibilité technique par derrière?) de la part de pfSense.
Aucune incompatibilité technique. Il reste que FTP est un protocole particulièrement dangereux par construction et difficile à mettre en œuvre de façon sécurisée. Il faut éviter d'utiliser FTP si l'on a un besoin de sécurité un peu significatif. Pour le moins son usage nécessite un réseau fortement cloisonné tant la probabilité de compromission liée à ce protocole est forte.
-
Bonjour,
Merci pour vos retour (et désolé du temps de réponse de ma part).
Effectivement je suis bien d'accord, le FTP n'est pas secure du tout. Après, vu que je m'en sers pour faire des partage public, sans authentification, cela ne pose pas vraiment de problème de sécurité.
Non, le document explique comment faire.
Effectivement, et c'est bien la configuration en place… Mais non fonctionnelle.
A server behind pfSense would work fine with active mode, there would be no difference here. In active mode the server would make outbound connections back to the client, so as long as the firewall rules on the interface containing the server allow outbound connections, it will work.
J'ai bien le nat de configuré (port20 et 21), et mes requetes arrivent bien jusqu'au serveur.
Le serveur a le droit de sortir sur internet sans restriction aucune.Le message d'erreur en PJ.
Une idée de debug a lancer? Une config a mettre en place?
-
La phrase "A server behind pfSense would work fine with active mode, there would be no difference here" est à comprendre par
=> Faire en sorte que le serveur FTP ne fonctionne QU'EN mode 'actif' !Qu'avez vous fait sur le serveur FTP pour que ce soit le cas ?
=> Vous voyez bien que le serveur passe en mode 'passif' !NB : Le NAT à configurer ne devrait concerner que 21/TCP (et pas 20/TCP puisque cette connexion là est initialisée uniquement depuis le serveur !).
-
Merci pour votre retour.
@jdh:
Qu'avez vous fait sur le serveur FTP pour que ce soit le cas ?
=> Vous voyez bien que le serveur passe en mode 'passif' !Oui effectivement, mais c'est bien la le but !
@jdh:
La phrase "A server behind pfSense would work fine with active mode, there would be no difference here" est à comprendre par
=> Faire en sorte que le serveur FTP ne fonctionne QU'EN mode 'actif' !Cela veut-il donc dire qu'il n'est plus possible de configurer un serveur FTP passif derrière un Fw pfSense ?
(effectivement pour le TCP/20, cette acl n'as aucune chance de servir, je supprime de ce pas).
-
ccnet s'est donné la peine de donner le bon lien : TOUT y est indiqué.
On ne va pas, à tour de rôle, vous le traduire et donner l'interprétation utile !A vous de vous prendre en main avec ces indications (qui sont très suffisantes).
NB : il y a juste une erreur : il faudrait remplacer 'FTP proxy' par 'FTP Helper' (précédemment utilisé)
-
Bonjour,
Désolé de ne pas comprendre cela, mais en même temps si je n'avais pas de problème je ne poserais pas la question.
Je suis désolé pour cela, mais il ne s'agit pas d'une configuration clair, et cela ne pose encore une fois problème qu'avec le FTP (tous les autres ports fonctionnent bien a travers le NAT).Si quelqu'un a une doc/exemple/screenshot, je serais preneur.
Merci d'avance
-
Le problème :
- vous avez installé un pfsense 2.2 et non 2.1.5,
- vous ne connaissez pas assez finement FTP,
- vous ne lisez pas assez bien les docs et surtout les logs,
- vous ne faites pas le lien entre éléments observés et ajustements de config.
Bref vous n'avez pas les connaissances (ce qui n'est pas le plus gênant), mais vous ne faites pas d'efforts !
En 1, il faut connaître FTP et actif/passif : wikipedia.
En 2, il faut lire et analyser la doc pfSense déjà citée.
En 3, il faut regarder la doc de votre serveur FTP (filezilla sur windows).C'est à vous de trouver (tester, configurer, itérer) …
-
Hello, je crois que JDH a bien résumé ton problème, surtout pour les logs, car ici les trois dernière ligne de celui-ci devrais te mettre la puce à l'oreille ;D
Pour commencé sur ton screen de log on vois que la connexion entre ton client et ton serveur s’établit bien mais c'est au niveau du transfert de data que ça foire.
Si tu prend le temps de mater le wiki : http://fr.wikipedia.org/wiki/File_Transfer_Protocol
Et de regarder c'est quoi cette histoire de passif actif (j'en avais aucun idée non plus avant de lire ce topic de problème)
Tu te rends compte que ça agis directement sur les ports.
Dans la doc il est spécifié que le client doit aussi être en mode passif pour les raisons décrite dans le wiki.Good luck ;D
-
@Lolight :
Dans la doc il est spécifié que le client doit aussi être en mode passif pour les raisons décrite dans le wiki.
Ce n'est pas le sujet ! Le sujet c'est héberger un serveur FTP !
-
Le sujet est de résoudre un problème concertant l'interconnexion d'un serveur et d'un client au travers de pfSense.
Le problème peut venir du serveur comme cela a été souligné plus haut, comme du client d'ou ma précision.
Ma ligne fais donc bel et bien partie du sujet.
Dans tout les cas si quelqu'un passe par la et qu'il a le même soucis, ça ne pourra que l'aider :)
Sans les point d'exclamation ça serais nettement plus agréable a lire ;) -
Le sujet est de résoudre un problème concertant l'interconnexion d'un serveur et d'un client au travers de pfSense.
Le problème peut venir du serveur comme cela a été souligné plus haut, comme du client d'ou ma précision.
Ma ligne fais donc bel et bien partie du sujet.
Dans tout les cas si quelqu'un passe par la et qu'il a le même soucis, ça ne pourra que l'aider :)
Sans les point d'exclamation ça serais nettement plus agréable a lire ;)+1
Même si ce n'est pas 100% le sujet initial, c'est quand même très proche et certainement utile à la compréhension générale pour celui qui découvre le sujet.
-
Relisez la doc, un peu plus attentivement !
La doc parle soit d'un client soit d'un serveur … mais forcément à l'intérieur !
D'ailleurs il y a juste une contradiction entre les recommandations : mode passif pour le client et mode actif pour le serveur ! -
Non il n'y a pas de contradiction AMHA 8)
Suite à la disparition du "proxy FTP", la "doc" considère juste différents cas:
- le cas du client derrière pfSense
- le cas du serveur derrière pfSense
Le cas du client:
"l'utilisateur ne devrait pas voir la différence" ::) mais c'est un énorme raccourci basé sur le fait que la plupart des clients FTP se rabattent sur le pasv (mode passif) si le mode actif ne fonctionne pas.
C'est suivi d'une considération surprenante sur le fait que ce mode implique d'autoriser des ports en sortie (en passif, c'est le client qui se connecte au serveur sur des ports > 1023) ce qui pourrait contrevenir à des règles de sécurité mais "si on fait du FTP et pas du FTPS, ce n'est pas sécurisé dont ça ne devrait pas poser de problème d'ouvrir ces règles"C'est un peu n'importe quoi quand même car il y a plein d'environnement où on va faire du FTP "anonyme" donc le mot de passe en clair, on s'en fout un peu :P
En mode actif, ça ne marche pas (car je rappelle que dans ce mode, c'est le serveur qui se connecte au client ::) pour la transmission des data) sauf si le client a une adresse IP publique qui donc ne nécessite pas de NAT.
Le cas du serveur:
En mode actif ça fonctionne (et l'abandon du proxy ne change rien) car c'est le serveur qui se connecte et donc le FW laisse juste sortir le flux sur les ports > 1023 (tien, ce coup ci il n'y a pas de considération du genre "ouais si les ports sont ouverts c'est que de toute manière ce n'est pas sécurisé…" :)En mode passif, c'est un peu plus compliqué car il ne suffit pas de rediriger les ports 20 et 21: que ce soit en actif ou en passif, une fois la connexion initialisée sur le port 21, la transmission de donner peut se faire, à l'initiative du client en mode actif et du serveur en mode passif sur des ports > 1023.
D’où la nécessité de mettre en places des redirections un peu plus complexe.Et donc, il n'y a pas de contradiction du point de vue de pfSense:
- pour un serveur derrière pfSense, le mode actif est le plus simple
- pour un client derrière pfSense, le mode passif est le plus simple
Le plus simple (quoique ;)) est probablement d'installer un proxy /reverse proxy FTP qui se chargera en mode proxy des connexion sortantes et mode reverse des connexion entrantes.
C'est d'ailleurs, mais de manière bien succincte, un des points de "la doc". Attention, c'est un package, avec tous les risques que cela comporte, mais il existe d'autres solutions de proxy/reverse hors pfSense 8) -
J'ai déjà écrit que le terme 'proxy' n'est absolument pas adapté et apporte de la confusion.
Il faudrait que cette page utilise le terme 'helper' bien plus approprié.
La version 2.2 a enlevé le module 'ftp_helper' présent dans les versions antérieures.
Le rôle de ce module est d'analyser le flux ftp, d'y repérer le passage en mode actif/passif et de créer les règles nécessaires 'au vol'.
(C'est l'équivalent du module 'ip_ftpconntrack' sous Linux.)Néanmoins cette page précise (et recommande) les cas d'utilisation et la façon de fonctionner :
en client, mode passif recommandé, en serveur, mode actif recommandé.Le fil traite clairement du problème qui est d'héberger un serveur FTP. Donc le client s'adaptera à la config du serveur
Il est alors raisonnable de ne pas 'confusionner' les lecteurs en mélangeant les cas : ici, c'est un serveur, et il est recommandé qu'il soit en mode actif. Point barre.@loglight, @chris4916 : puisque le serveur doit être en actif, le client le sera aussi.
Donc, il ne faut pas écrire que le client 'doit être en passif' = contradiction !
Et il faut éviter de parler d'autre chose que du sujet (même si culturellement …).J'ai écrit le 7/5 à 15h, ce qu'il faut faire, sans modifier les réglages firewall (parce que cela découle de la lecture attentive de la doc).
Et nous en sommes le 12/5 sur des informations inutiles et confusantes ... -
::) Il est un peut dommage que sur pratiquement chaque sujet nous ayons un point d'achoppement et j'avoue avoir du mal à comprendre pourquoi.
J'ai donc hésité à répondre directement dans ce sujet mais je vais cependant le faire afin de clarifier publiquement ma position.Disons que nous avons une perception du fonctionnement d'un forum sensiblement différente.
Si je fait un extrait chronologique de tes interventions sur ce sujet suite à la réponse initiale de ccnet qui consiste en un lien vers la page de la "doc" qui discute du sujet:@jdh:
La phrase "A server behind pfSense would work fine with active mode, there would be no difference here" est à comprendre par
=> Faire en sorte que le serveur FTP ne fonctionne QU'EN mode 'actif' !Qu'avez vous fait sur le serveur FTP pour que ce soit le cas ?
=> Vous voyez bien que le serveur passe en mode 'passif' !NB : Le NAT à configurer ne devrait concerner que 21/TCP (et pas 20/TCP puisque cette connexion là est initialisée uniquement depuis le serveur !).
ccnet s'est donné la peine de donner le bon lien : TOUT y est indiqué.
On ne va pas, à tour de rôle, vous le traduire et donner l'interprétation utile !A vous de vous prendre en main avec ces indications (qui sont très suffisantes).
Le problème :
- vous avez installé un pfsense 2.2 et non 2.1.5,
- vous ne connaissez pas assez finement FTP,
- vous ne lisez pas assez bien les docs et surtout les logs,
- vous ne faites pas le lien entre éléments observés et ajustements de config.
Bref vous n'avez pas les connaissances (ce qui n'est pas le plus gênant), mais vous ne faites pas d'efforts !
En 1, il faut connaître FTP et actif/passif : wikipedia.
En 2, il faut lire et analyser la doc pfSense déjà citée.
En 3, il faut regarder la doc de votre serveur FTP (filezilla sur windows).C'est à vous de trouver (tester, configurer, itérer) …
Ce n'est pas le sujet ! Le sujet c'est héberger un serveur FTP !
Et sur ta dernière réponse, en gros, tu nous dis:
"j'ai donné la réponse, arrêtez de semer la confusion avec des informations inutiles et confusantes" :o :o :oIl est évident que la solution de facilité consiste à renvoyer chacun vers la lecture de la doc.
Même si cette attitude est parfois la bonne en face d'un utilisateur qui ne fait visiblement pas d'effort, ce n'est pas le cas ici puisque l'initiateur du fil, même s'il ne possède pas ton niveau de compétence sur ce sujet, fait l'effort d'expliquer à la fois son contexte et les différents essais qu'il a fait.Il me semble donc utile de lui donner un peu plus d'explications, même si ce n'est pas 100% "le sujet initial et uniquement celui-ci", ne serait-ce que pour lui permettre de progresser dans sa compréhension générale.
Ton commentaire à propos de FTP helper vs FTP proxy est correct mais limité au scope de pfSense.
La notion de proxy, que tu réfutes, reste la terminologie utilisée au niveau de la plupart des clients FTP (regardes donc FileZilla par exemple) pour la simple raison que le proxy FTP existe en tant que tel et reste une solution technique dans le cas de cet utilisateur, même si ce n'est pas la solution implémentée par pfSense.Tu l'opposes au "helper", terminologie orientée netfilter (pfSense, Shorewall et autres) alors que ce sont des approches différentes de ce que j'explique.
Ceci dit, si l'initiateur du sujet a trouvé tes réponses suffisamment claires et utiles, il ne devrait pas être gêné par notre transgression et si ça le perturbe de nous voir discuter ces aspects dans le fil qu'il a initié, il ne manquera certainement pas de nous le dire et nous ouvrirons un fil dédié ;)
-
j'ai donné la réponse, arrêtez de semer la confusion avec des informations inutiles et confusantes
Ce n'est pas moi qui ai écrit cela, mais c'est EXACTEMENT et la réalité et ce que je pense (sauf que j'aurais écrit "la réponse a été donnée ….").
Il faut bien observer que le fil n'a pas évolué, sur le sujet, depuis le 8/5 et tous les posts depuis sont clairement inutiles et regrettables d'insistance !
Ce fil mériterait d'être nettoyé. D'autant que l'initiateur a fait des efforts initiaux et qu'il reçoit 'n'importe quoi'.
Et le site mériterait un recentrage : la réponse, toute la réponse, rien que la réponse ... étant entendu qu'il importe d'avoir une réponse 'efficace' (c'est à dire adaptée et pas forcément la vérité informatique !)