Menu

ProFTPD derrière PfSense [Résolu]

IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 4 févr. 2018 à 23:28 - Dernière réponse : brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention
- 6 févr. 2018 à 15:07
Bonjour à tous,

Je viens vers vous aujourd'hui car cela fait maintenant plus d'une semaine que je Try hard sur quelque chose qui devrait être simple ...
Je loue un serveur OVH sous VMware Esxi 6.0. Afin de créer un LAN ayant la possibilité d'accéder à Internet, j'ai fait un petit montage avec un PfSense (dernière version) pour que celui-ci fasse du Nat, tout est OK mon LAN accède à Internet sans problème.
J'ai créé une VM sous Debian 9 pour mettre en place serveur FTP avec ProFTPD, sauf que, IMPOSSIBLE d'y accéder depuis chez moi...

LAN domestique --> Ma box --> INTERNET --> IP publique (WAN PfSense) --> Serveur FTP

CONFIGURATION Serveur :
UseIPv6 off
IdentLookups off
ServerType standalone

etc. pour les configs de base....

DefaultRoot /home/user (celui est bien créé sur mon serveur)
Port 21
PassivePorts 60000 61000
MasqueradeAddress IP WAN de mon PfSense

Toute la partie Anonymous FTP est commentée, je ne m'en sers pas, et j'ai fait le nécessaire sur le serveur pour établir une connexion TLS (clé - certificat).

Sur mon Pfsense, j'ai fait une redirection de port FTP (21) sur l'interface WAN, vers mon serveur FTP, comme vu sur le screenshot 1. La règle de filtrage associé à bien été créé.



Règle associée :



Maintenant depuis FileZilla, j'utilise l'addresse ftpes://x.x.x.x pour initier la connexion TLS, ça passe, j'arrive à me connecter au serveur, sauf que je n'arrive pas à récupérer le contenu du dossier, en l'occurrence /home/user, j'ai l'erreur suivante :



Alors je sais que les données ne sont pas échangées sur le même port que celui qui initie la connexion, le port 21 en l’occurrence. Si je me trompe pas, en mode actif, l'OS utilise le port 20 par défaut. Sauf que, j'ai configuré les "PassivePorts" pour être compris entre 60000 et 61000 sur mon FTP. Déjà ça, est-ce que ça force le mode passif, je ne sais pas ...
En tout cas FileZilla à l'air de tenter le mode passif car dans les paramètres FileZilla j'ai bien choisi le mode de transfert passif.

Vous allez me dire, il suffit de nater les ports 60000-61000 sur le PfSense et c'est OK.. J'ai bien sûr essayé, en vain. Pourquoi ? Déjà on peut voir sur le screenshot de l'erreur filezilla, que le dernier message, "277 entering passive Mode (x.x.x.x, 237, 179)" n'est pas cohérent... Calcul du port : 237*179 = 42423, ce qui est n'est pas compris entre 60000-61000 ... Pourquoi ? :(

Voilà où j'en suis aujourd'hui .. Désolé pour le pâté mais je préfère être précis même si c'est en théorie pas sorcier de mettre en place un FTP naté...

Merci pour votre aide ! Si j'ai oublié un détail faites le moi savoir ! Merci :)
Afficher la suite 

Votre réponse

18 réponses

brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention - 5 févr. 2018 à 00:35
+1
Utile
Salut,
le calcul du port ça n'est pas 237*179,
c'est (237*256)+179, ce qui donne 60851 donc bien dans la plage.
Je pense que le souci c'est de commencer par du ftps (TLS) qui est un casse tête à forwarder.
Commence tes tests par du ftp simple.
Le souci est que le routeur nat (pfsense) ne sait pas interpréter le contenu de la réponse à PASSV pour la bonne raison qu'elle est cryptée.
il faudrait configurer dans le nat le forwarding statique de la plage 60000 61000 vers ton serveur.
C'est toujours sorcier de mettre en place un ftp derrière un nat, surtout en ftps.
Si tu veux la jouer tranquille, tu fais du sftp (sur ssh) c'est facile comme tout sur du linux où le serveur ssh est naturel.
Par contre, il faut les comptes utilisateur.
Cette réponse vous a-t-elle aidé ?  
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 14:20
Hello brupula, je te remercie pour ta réponse.
Merci pour la correction du calcul de port ! Je calculais n'importe quoi en effet.. C'est mieux comme ça !

Bon j'ai fait plusieurs test en suivant la ligne de ta réponse.
J'ai tout d'abord nater les ports 60000-61000 sur la WAN du PfSense vers le FTP, bon comme j'avais déjà essayé j'avais peu d'espoir. J'ai également ajouté le port 20, donc actuellement les ports 20-21 et la plage 60000-61000 sont natés vers le FTP (les règles associées ont bien été créé).

J'ai ensuite tenté de désactiver le TLS via le fichier /etc/proftpd/tls.cons en passant le champs "TLSRequired" à OFF. Fichier enregistré et service FTP redémarré. Sauf que ça n'a pas bougé .. Filezilla ouvre une liaison TLS même en ftp://x.x.x.x ....
Et petit bonus, je me suis dit je vais quand même retester en local, et là, exactement la même erreur que d'habitude (screenshot erreur filezilla).. Ouverture de la liaison TLS (alors que je suis en FTP basic) et impossible de récupérer le contenu du dossier ...
J'avoue que là je commence a ne plus savoir où chercher ... Est-ce qu'un problème d'encodage est envisageable ? FileZilla est en ASCII, j'ai pas trouvé pour forcer en UTF-8 ...

Des idées ?

[UP] J'ai désactiver le moteur TLS dans /etc/proftpd/tls.conf, j'ai enlevé les paramètres TLS dans /etc/proftpd/proftp.conf ... Mais toujours une ouverture de TLS....
Commenter la réponse de brupala
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 15:05
0
Utile
[UP] Petit test : j'ai refait toute l'installation en créant une nouvelle VM sous Debian avec ProFTPD configuré de manière très basique. J'ai juste changé le nom du serveur je crois et dé-commenter le champs "DefaultRoot" (valeur = ~). En FTP local cela fonctionne.
J'ai bien entendu changé mes règles NAT pour rediriger vers la bonne IP (nouveau FTP de test), mais toujours rien en FTP ... Voici le screen :


Il y a décidement quelque chose qui m'échappe ...
brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention - 5 févr. 2018 à 15:44
Tu n'es plus en passif, là ... le problème s'inverse entre client et serveur au niveau nat.
pour le passage en ftps il y a un souci, c'est quoi l'url, la config du client ?
Commenter la réponse de IndiaSkeunk
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 15:56
0
Utile
Petit test : j'ai désactivé ProFTPD et essayé avec Pure-ftpd. Même combat.. Ca doit donc venir du PfSense ou du client FTP.

Configuration du client :






Je suis bien en FTP://x.x.x.x sur le port 21
brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention - 5 févr. 2018 à 16:03
Pourquoi est ce que ça demanderait du ftps alors ?
c'est par le gestionnaire de site ou en direct ?
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 16:14
C'est une très bonne question ..
Mais là depuis que j'ai refait l'installation sans configurer quoi que ce soit pour le TLS, je suis bien connecté au serveur mais sans liaison TLS établie.
Comment ça par le gestionnaire de site ou en direct ? J'ai pas compris :/
brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention > IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 16:28
Sur filezilla,
tu peux te connecter en créant une entrée avec plein de paramètres dans le gestionnaire de sites, c'est la méthode normale.
ou bien en connexion rapide en remplissant les champs:
Commenter la réponse de IndiaSkeunk
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 16:55
0
Utile
Ah d'accord ! J'utilisais uniquement le mode de connexion rapide..
J'ai testé plus de paramètres avec le gestionnaire de site :






ça marche ! Ce n'est pas sécurisé mais ça marche !!! Wtf je suis persuadé que c'est l'encodage, je cherchais justement a forcer en UTF-8 ... Parce qu'il me semble que la connexion rapide utilise ASCII ... Tu me diras j'ai rien forcé du tout avec cette configuration .. Mais ça marche.
C'était peut-être l'histoire du Proxy ?

Je vais tenter de remettre tout ça en liaison TLS :)
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 19:14
Oui oui je suis bien en passif.
Non j'ai découvert bien plus que je l'aurais imaginé en réalité ahah.
Je vais try en sftp tu as raison. Je vais regarder des tutos mais déjà, je dois forward les ports 21 et 22, peut-être changer le port de base sur le serveur FTP de 21 à 22 ?
brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention > IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 19:55
Le 22 suffit si tu tu as un serveur ssh standard en écoute.
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention > brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention - 6 févr. 2018 à 11:50
Ne pouvant pas répondre hier je le fais maintenant..
Hier je n'ai absolument rien changé à ma configuration. En cherchant pour tout passer en ssh, je suis tombé sur un tuto concernant le FTPS et non le SFTP. Toute la configuration expliquée dans ce tuto, je l'avais mise en place.. J'ai uniquement changé le mode de connexion en "FTP sur TLS explicite" et non "FTP sur TLS explicite si disponible"... et cela fonctionne !

Du coup je NAT uniquement le port 21 et la plage 60000-61000 vers mon FTP.
brupala 76231 Messages postés lundi 16 juillet 2001Date d'inscriptionModérateurStatut 16 mai 2018 Dernière intervention > IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 6 févr. 2018 à 15:07
OK,
merci,
c'est vrai que le détail est très faible, mis gros de conséquences dans ton cas, je n'explique pas.
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 6 févr. 2018 à 14:37
Je te remercie brupula pour ton aide et ta patience ! :)
Commenter la réponse de IndiaSkeunk
IndiaSkeunk 44 Messages postés vendredi 27 décembre 2013Date d'inscription 6 février 2018 Dernière intervention - 5 févr. 2018 à 19:49
0
Utile
[UP] J'ai rien touché à ma configuration, j'ai suivi un tuto :

http://arobaseinformatique.eklablog.com/mise-en-place-d-un-serveur-ftp-avec-proftpd-a105781016

Très bien expliqué. Toute la configuration je l'avait déjà mise en place .. J'ai simplement changé le mode de connexion en "FTP sur TLS explicite".. Et ça marche.

On est d'accord que dans ce cas la connexion TSL est établie via le port 21 et qu'ensuite, vu que je suis en mode passif, je passe par les ports passifs ? (je n'ai pas d'infos vu que ça marche j'ai pas de logs).
Peut-on les afficher quand même dans FileZilla ?
Commenter la réponse de IndiaSkeunk