Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/04/2020, à 18:21

Chatanas

Problème connexions en TLS avec Pure-FTPD sur Unbuntu Server

Bonjour,

Je profite de l'état de confinement dans lequel je me trouve pour tenter de réaliser un serveur FTP chez moi smile
Cela fait un petit moment que je n'ai pas touché à des commandes Linux, donc je suis pas mal rouillé (et je n'étais pas un crack déjà à l'époque).
Les partie 1) et 2) sont un résumé de ce que j'ai effectué pour pouvoir me connecter sur le serveur en FTP en non-sécurisé. J'ai essayé d'être aussi exhaustif que possible car le diable est dans les détails et la raison pour laquelle je n'arrive pas à me connecter en TLS est peut-être dedans. Si voulez ne pas vous endormir, vous pouvez zapper le blabla pour aller directement au point 3) smile

1) Installation du serveur
-Je me suis procuré un Raspberry Pie3 et j'utilise la version 19.10 d'Unbuntu Server et j'ai installé le logiciel pure-ftpd (v. 1.0.47).
Pour me connecter en SSH je travaille sur Putty (Release 0.73).

-J'ai créé un groupe (ftpgroup) et un profil utilisateur (ftpuser) en suivant les indications données sur ce tutoriel.
(Apparté : je suis un peu perplexe quant à l'utilité de la commande "-d /dev/null" lors de la création de l'utilisateur ftpuser.
De ce que j'ai compris, ce "dossier" correspond à une sorte d'adresse où tout ce qui est envoyé est comme supprimé. Je ne comprends pas vraiment l'intérêt de cette commande et je n'ai pas trouvé de véritable information à ce sujet.
Y aurait-il quelqu'un qui pourrait avoir la bonté de m'expliquer? smile )

-Côté routage, j'ai configuré le pare-feu sur ma Bbox MIAMI (modèle TVW620.I) pour accepter les communication sur les port 20 et 21.
J'ai fixé une IP pour mon serveur (192.168.1.101).
J'ai également créé des règles NAT pour rediriger les ports 20 et 21 respectivement vers les ports 20 et 21 de mon Raspberry.
Finalement, j'ai ouvert l'accès à distance de la BBox.
(Apparté Bis : Il y a un paramètre "Port d'écoute" et un autre "Adresse(s) IP Source" en paramètres avancés. Je n'y ai pas touché car je ne suis pas sûr à 100% de leur effet et je n'ai pu trouver aucun info à ce sujet. Si quelqu'un les a déjà utilisé, je suis preneur pour connaitre leur véritable utilité.)

-Côté PC, je suis sur Windows10 et j'utilise WinSCP (v. 5.17.2) pour tester ma connexion via l'extérieur avec l'adresse IP fixe de ma BBox dont j'ai ouvert l'accès.

2) Test de connexion du serveur non sécurisé
J'arrive à me connecter au Raspberry avec WinSCP aussi bien en intra qu'en extranet avec l'adresse IP de ma Bbox assorti du port 21 \o/

3) Activation du cryptage TLS
-Je crée une clé de cryptage en utilisant les commandes comme proposés sur le site de Pure-FTPD.

-Je crée et remplis un certificat comme demandé, en utilisant les conseils glanés sur différents sites (ex : ICI)

-Je créé un fichier "/etc/pure-ftpd/conf/TLS" que je paramètre à '1' pour autoriser les connexion avec ou sans cryptage TLS.

-De même, je configure WinSCP afin d'être à présent configuré en "TLS/SSL Explicit encryption" (ce qui est requis, toujours selon  Pure-FTPD).

4)Test de connexion du serveur en TLS
-Il m'est bien demandé de récupérer le certificat contenant bien les détails des champs que j'ai rempli et il semble bien se connecter sur le routeur...

-C'est à partir de là, que j'ai un problème: impossible de me connecter au Raspberry sad
A chaque fois, je reçois le message d'erreur suivant:

Server sent passive reply with unroutable address 192.168.1.101, using host address instead.
Transfer channel can't be opened. Reason: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée.
Could not retrieve directory listing

J'ai essayé également avec Cyberduck et FileZilla, qui arrivent tout deux à se connecter sans cryptage TLS... Peine perdue.
Le premier, qui est un des logiciels considéré comme fonctionnel en TLS par Pure-FTPD, m'envoie l'erreur suivante (je le mets également car il m'indique les commandes rentrées, mais je ne suis pas sûr de bien comprendre):

Erreur
La connexion a échoué
Connection refused:connect. La tentative de connexion a été rejetée. Le serveur est peut-être arrêté ou votre réseau ne peut pas être configuré correctement.

Quand je souhaite plus de détails:

PWD
257 "/" is your current location
CWD /
250 OK. Current directory is /
TYPE A
200 TYPE is now ASCII
PASV
227 Entering Passive Mode (192, 168, 1, 101, 44, 82)
[Replacing PASV mode reply addresse 192.168.1.101 with "Adresse IP externe de ma BBox"]
PWD
257 "/" is your current location
CWD /
250 OK. Current directory is /
TYPE A
200 TYPE is now ASCII
PASV
227 Entering Passive Mode (192, 168, 1, 101, 81, 189)
[Replacing PASV mode reply addresse 192.168.1.101 with "Adresse IP externe de ma BBox"]
PWD
257 "/" is your current location
CWD /
250 OK. Current directory is /
TYPE A
200 TYPE is now ASCII
PASV
227 Entering Passive Mode (192, 168, 1, 101, 11, 225)
[Replacing PASV mode reply addresse 192.168.1.101 with "Adresse IP externe de ma BBox"]

Je ne suis pas sûr de ce que tout cela signifie et je n'ai pas vraiment trouvé d'aide qui puisse me satisfaire à ce sujet.

4) J'ai tenté plusieurs magouilles pour essayer de trouver la solution:
J'ai ouvert les ports 41000 à 41010 pour une utilisation en FTP passif en créant le document "PassivePortRange" dans le dossier "/etc/pure-ftpd/conf" (comme préconisé ici et ) et en inscrivant "41000 41010" (choisis de manière totalement arbitraire pour le test).
J'ai configuré le pare-feu sur ma Bbox pour accepter les communication sur les port 40000 et 40010.
J'ai également créé le fichier "/etc/pure-ftpd/conf/Bind" et  "/etc/pure-ftpd/conf/ForcePassiveIP" pour forcer les ports et l'adresse IP (mais je ne suis pas sûr que ce soit utile ni même si j'utilise bien ces fichiers).
J'ai essayé  des tests de connexion de client FTP sur deux autre ordinateurs pour vérifier si cela ne venait pas du mien (un sur le même réseau et un autre externe).
J'aurais pu tenter avec d'autres client FTP, mais si déjà deux d'entre eux, pourtant conseillés par Pure-FTPD ne fonctionnent pas, je ne vois pas pourquoi un autre fonctionnerait...

J'avoue que je sèche à présent..

Pourriez-vous m'aider s'il vous plait? smile
Merci par avance!

Dernière modification par Chatanas (Le 14/04/2020, à 18:22)

Hors ligne

#2 Le 15/04/2020, à 14:27

Chatanas

Re : Problème connexions en TLS avec Pure-FTPD sur Unbuntu Server

Problème résoudu smile

En fait les règles NAT de ma BBox étaient configurées pour ne rediriger mes communications qu'en protocole UDP, ce que je n'avais pas détecté! Je les ai donc configurées pour le TCP.

De plus, l'interface de la Bbox ne permet de faire une redirection NAT que port par port. Ce qui fait que pour chaque port, il faut créer une règle NAT.

J'ai fait également de l'"écrémage" et il s'avère que les fichiers "/etc/pure-ftpd/conf/Bind" et  "/etc/pure-ftpd/conf/ForcePassiveIP" n'ont aucun rôle à jouer. Je les ai donc supprimés.

Au final, il n'y a que le répertoire de port "/etc/pure-ftpd/conf/PassivePortRange" qui a une importance.

Si jamais vous avez vous-même des problèmes et/ou questions n'hésitez pas à répondre à ce post. Je pourrais peut-être vous aider smile

Voilou! Merci à moi big_smile

Dernière modification par Chatanas (Le 15/04/2020, à 14:33)

Hors ligne