# Pb ftp/tls

**URL:** <https://www.debian-fr.org/t/pb-ftp-tls/32622>\
**Category:** Support Debian\
**Created:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622 "2016-02-21T02:30:29Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![pitcat](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/ecccb3/32.png) [@pitcat](https://www.debian-fr.org/u/pitcat)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/1 "2016-02-21T02:30:29Z")

</div>

Bonjour tous,  
j’ai un pb de visualisation des dossiers et fichiers tant sur pure-ftp que vfsftp en tls/ssl.  
en local depuis un autre pc j’ai accès via fillezilla je voie bien les dossiers et fichiers.  
Mais des que la connexion vient de l’extérieur de mon réseaux local il s’affiche rien par contre je peux créer des dossiers que je retrouve bien sur le serveur.  
4 jours que je cherche en vain la solution.  
port 20 et 21 ouvert sur la livebox, certificats créer.  
en ftp normal tous fonctionne.  
j’ai le meme pb si je fait un changement de port.  
diffèrents test fait ici me renvoient rien de probant :  
[g6ftpserver.com/fr/ftptest](http://www.g6ftpserver.com/fr/ftptest)  
le log montre que je suis bien connecté mais en gui je voie rien 😈  
Vous avez une idée ?  
merci d’avance à plus

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/2 "2016-02-21T02:30:31Z")

</div>

Je suppose que le serveur est derrière un routeur qui fait du NAT avec une redirection de port, ou un pare-feu à état ?  
Le FTP fonctionne à travers ces équipements parce qu’ils analysent le contenu de la connexion de commande sur le port 21 pour déterminer les ports à ouvrir et/ou rediriger automatiquement pour les connexions de données. Mais quand la connexion de commande est chiffrée, ce n’est évidemment pas possible. Le problème peut aussi se produire si le client est lui-même derrière un routeur NAT.

Pour que ça marche quand même, il faut du côté qui reçoit les connexions de données (donc côté client en mode actif et côté serveur en mode passif) :

- si routeur NAT, forcer l’adresse passive resp. active avec l’adresse publique du routeur dans la conf du serveur resp. client
- définir une plage de ports passifs resp. actifs dans le serveur resp. client
- sur le routeur/firewall, rediriger (si NAT) ou autoriser (si firewall) cette plage de ports vers le client resp. serveur
- autoriser les connexion sortantes

Si tu veux du chiffrement, l’utilisation de SFTP (transfert de fichier par SSH) est à considérer.

---

<div class="post-metadata">

**Author:** ![pitcat](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/ecccb3/32.png) [@pitcat](https://www.debian-fr.org/u/pitcat)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/3 "2016-02-21T02:30:31Z")

</div>

Bonjour PascalHambourg,  
voilà la config réseaux :  
livebox2 avec :

Se qui fonctionne  
FTP Serveur sur le port 21 de la box =\> sur le port 21 du serveur en tcp  
FTP Data sur le port 20 de la box =\> sur le port 20 du serveur en tcp

configuration vsftp de :

[code]listen=YES  
anonymous\_enable=NO  
local\_enable=yes  
write\_enable=yes  
local\_umask=022  
dirmessage\_enable=YES  
xferlog\_enable=YES  
connect\_from\_port\_20=YES  
nopriv\_user=vsftpd  
chroot\_local\_user=YES  
secure\_chroot\_dir=/var/run/vsftpd  
pam\_service\_name=vsftpd  
rsa\_cert\_file=/etc/ssl/certs/vsftpd.pem  
guest\_enable=YES  
guest\_username=vsftpd  
local\_root=/var/www/$USER  
user\_sub\_token=$USER  
virtual\_use\_local\_privs=YES  
user\_config\_dir=/etc/vsftpd\_user\_conf

# Connexion externe

pasv\_enable=YES  
pasv\_promiscuous=NO  
pasv\_min\_port=8700  
pasv\_max\_port=8800  
pasv\_address=non de domaine  
pasv\_addr\_resolve=YES  
port\_promiscuous=NO  
[/code]

si j’ajoute dans la conf en laissant la box comme défini plus haut ça coince:

[code]ssl\_enable=YES  
allow\_anon\_ssl=NO  
force\_local\_data\_ssl=YES  
force\_local\_logins\_ssl=YES

ssl\_tlsv1=YES  
ssl\_sslv2=YES  
ssl\_sslv3=YES

rsa\_cert\_file=/etc/ssl/private/vsftpd.pem[/code]

L’idée à la base c’est de pouvoir ouvrir le ftp sur l’extérieur pour y accéder depuis un mobil sous android.  
Fail2ban veille au grain 3 tentatives en échec =\> ban 1 heure.  
Mais j’aimerai soit déporter l’accès autre que le 21 ou implante le ssl, les deux seraient le mieux 😃

Sachant que c’est un serveur en prod donc je veux pas faire n’importe quoi niveau sécu.  
à plus

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/4 "2016-02-21T02:30:32Z")

</div>

[quote=“PascalHambourg”]…  
Si tu veux du chiffrement, l’utilisation de SFTP (transfert de fichier par SSH) est à considérer.[/quote]

Et, à ce sujet, si tu veux un tuto à suivre à la lettre, tu as celui de Yann :  
[http://www.debian-fr.org/serveur-sftp-shell-reduit-rssh-et-chroot-t27796.html](http://www.debian-fr.org/serveur-sftp-shell-reduit-rssh-et-chroot-t27796.html)  
C’est ce que j’utilise et c’est parfait.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/5 "2016-02-21T02:30:32Z")

</div>

Pour faire fonctionner FTP/TLS en mode passif, il faudrait que :

- le nom de domaine spécifié dans l’option pasv\_address pointe vers l’adresse publique de la livebox
- le routeur redirige la plage de ports définie par pasv\_min\_port et pasv\_max\_port vers l’adresse privée du serveur

Pour que le mode actif fonctionne il faudrait faire l’équivalent côté client si celui-ci est derrière un routeur NAT.

J’oubliais, a priori la redirection du port 20 ne sert à rien ni en FTP standard ni en TLS.

---

<div class="post-metadata">

**Author:** ![pitcat](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/ecccb3/32.png) [@pitcat](https://www.debian-fr.org/u/pitcat)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/6 "2016-02-21T02:30:32Z")

</div>

re

> [@](#):
>
> - le nom de domaine spécifié dans l’option pasv\_address pointe vers l’adresse publique de la livebox

je suis en ip dynamique donc le ndd d’origine ovh pointe sur un ndd de dtdns qui pointe sur mon ip publique mis à jours via la fonction dyndns de la livebox.  
donc mon ndd [exempleftp.fr](http://exempleftp.fr) pointe vers exempleftp.dtdns qui pointe sur 90.1.2.3.  
donc la variable pasv\_address doit être pasv\_address=[exempleftp.fr](http://exempleftp.fr) ?  
si oui c’est le cas.

> [@](#):
>
> - le routeur redirige la plage de ports définie par pasv\_min\_port et pasv\_max\_port vers l’adresse privée du serveur

donc FTP Serveur sur le port 21 de la box =\> sur le plage ip défini par les variables pasv\_min\_port et pasv\_max\_port

dans mon exemple c’est :  
pasv\_min\_port=8700  
pasv\_max\_port=8800

Donc FTP Serveur sur le port 21 de la box =\> sur le plage ip 8700-8800

merci pour le liens ricardo je garde sous coude.  
Même si l’idée d’utiliser ssh via le mobil est séduisante je préfère ouvrir le ftp vers l’extérieur que le ssh 😃

mais je garde ça au chaud

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/7 "2016-02-21T02:30:33Z")

</div>

> [@](#):
>
> FTP Serveur sur le port 21 de la box =\> sur le plage ip 8700-8800

Non.  
port TCP 21 en entrée =\> port 21 sur l’adresse du serveur  
plage de ports TCP 8700-8800 en entrée =\> plage 8700-8800 (en fait ne pas modifier le port) sur l’adresse du serveur.

---

<div class="post-metadata">

**Author:** ![pitcat](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/ecccb3/32.png) [@pitcat](https://www.debian-fr.org/u/pitcat)\
**Post date:** [Février 21, 2016, 2:30 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/8 "2016-02-21T02:30:45Z")

</div>

bon j’ai fait comme indiquer mais c’est idem.  
j’ai mis ssl en mode debug et cela donne cela :

`Wed Jun 8 21:30:48 2011 [pid 2] CONNECT: Client "90.84.146.152"
Wed Jun 8 21:30:49 2011 [pid 2] DEBUG: Client "90.84.146.152", "SSL version: TLSv1/SSLv3, SSL cipher: DES-CBC3-SHA, not reused, no cert"
Wed Jun 8 21:30:49 2011 [pid 1] [test] OK LOGIN: Client "90.84.146.152"
`

et ça :

`Wed Jun 8 20:48:41 2011 [pid 2] CONNECT: Client "90.84.146.145"
Wed Jun 8 20:48:42 2011 [pid 2] DEBUG: Client "90.84.146.145", "SSL_accept failed: error:00000000:lib(0):func(0):reason(0)"
`

en local via filezilla en local:

`Statut :	Résolution de l'adresse de exemple.fr
Statut :	Connexion à 192.168.1.10:21...
Statut :	Connexion établie, attente du message d'accueil...
Réponse :	220 Bienvenue sur le serveur ftp de exemple
Commande :	AUTH TLS
Réponse :	234 Proceed with negotiation.
Statut :	Initialisation TLS...
Statut :	Vérification du certificat...
Commande :	USER test
Statut :	Connexion TLS/SSL établie.
Réponse :	331 Please specify the password.
Commande :	PASS ****
Réponse :	230 Login successful.
Commande :	OPTS UTF8 ON
Réponse :	200 Always in UTF8 mode.
Commande :	PBSZ 0
Réponse :	200 PBSZ set to 0.
Commande :	PROT P
Réponse :	200 PROT now Private.
Statut :	Connecté
Statut :	Récupération du contenu du dossier...
Commande :	PWD
Réponse :	257 "/"
Commande :	TYPE I
Réponse :	200 Switching to Binary mode.
Commande :	PASV
Erreur :	GnuTLS error -8: A record packet with illegal version was received.
Erreur :	Déconnecté du serveur : ECONNABORTED - Connection aborted
Erreur :	Échec lors de la récupération du contenu du dossier`  
je pige plus moi 😈

---

<div class="post-metadata">

**Author:** ![pitcat](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/ecccb3/32.png) [@pitcat](https://www.debian-fr.org/u/pitcat)\
**Post date:** [Février 21, 2016, 2:31 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/9 "2016-02-21T02:31:12Z")

</div>

Bonjour tous,  
après moult essais je suis enfin parvenue a faire fonctionné le serveur ftp en tls/ssl et avec le port déporté. ![:041](https://www.debian-fr.org/uploads/default/original/1X/bfe857c9119752799c3eac55ca37a50312c51282.gif "applaudit")  
Dans la livebox j’ai ouvert un port xxxxx à la place du 21 et ouvert le même sur le serveur et mis le même dans la config du serveur ftp.  
ensuite j’ai ouvert une plage ip dans la box sur le serveur et dans la conf du ftp.  
Là ça fonctionne en local sur le réseaux depuis un autre poste externe et sur le mobil sous android en 3G et wifi.  
Merci PascalHambourg pour ton aide. ![:038](https://www.debian-fr.org/uploads/default/original/1X/08df484251490af77ba342c0331f3ee271065fe9.gif "bravo")  
ps je m’attaque à squid maintenant ![:075](https://www.debian-fr.org/uploads/default/original/1X/660d70f9421e915a2561756e6d9f245d4f609347.gif "dequoi")

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Mai 11, 2019, 9:09 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/10 "2019-05-11T21:09:02Z")

</div>

A scindé ce sujet (le Mai 11, 2019, 9:09 UTC)

Un message a été scindé en un nouveau topic: [Problème de FTP](https://www.debian-fr.org/t/probleme-de-ftp/79226)

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Mai 11, 2019, 9:11 UTC](https://www.debian-fr.org/t/pb-ftp-tls/32622/11 "2019-05-11T21:11:15Z")

</div>

A fermé ce sujet (le Mai 11, 2019, 9:11 UTC)


