Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 17-10-2019 16:47:56

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

VsFTPd : connexion distante refusée

Bonjour,

J'essaie de mettre en place un serveur FTP sur une Debian10.
J'ai installé VsFTPd et ça fonctionne parfaitement en local.
Malheureusement, quand j'essaie de me connecter en mode distant (en fait je suis au même endroit mais dans Filezilla, plutôt que mon adresse locale, je renseigne l'adresse publique), je reçois

ECONNREFUSED connexion refusée par le serveur



Je ne comprends pas ce qui se passe, j'ai essayé plein de paramètres sans trop de résultat.
Voici mon /etc/vsftpd.conf, il y a un login anonyme qui pointe vers un dossier public, les autres logins sont bloqués sur le dossier utilisateur et le mien (dans /etc/vsftpd/chroot.list) peut tout voir :

listen=YES
listen_ipv6=NO
#
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=YES
anon_root=/home/benevole/Public
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot.list
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
# Certains clients FTP nécessitent cette ligne
#require_ssl_reuse=NO

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

# Passive Mode
pasv_enable=YES
pasv_min_port=40001
pasv_max_port=40100

#
# Uncomment this to indicate that vsftpd use a utf8 filesystem.
utf8_filesystem=YES



Je pense qu'il y a quelque chose que je n'ai pas compris avec iptables, je ne sais pas trop s'il y a un firewall d'activé sur le serveur :

# sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      
 



Le port 21 (TCP) de ma box redirige bien vers l'adresse locale du serveur.
J'ai essayé de désactiver complètement le firewall de ma box sans résultat non plus.
Merci beaucoup pour votre aide.

EDIT :
Status du démon VsFTPd

$ sudo service vsftpd status
● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: e
   Active: active (running) since Thu 2019-10-17 16:10:04 CEST; 41min ago
  Process: 1447 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, s
 Main PID: 1448 (vsftpd)
    Tasks: 1 (limit: 2333)
   Memory: 2.0M
   CGroup: /system.slice/vsftpd.service
           └─1448 /usr/sbin/vsftpd /etc/vsftpd.conf

oct. 17 16:10:04 serveur-musee systemd[1]: Starting vsftpd FTP server...
oct. 17 16:10:04 serveur-musee systemd[1]: Started vsftpd FTP server.

Dernière modification par Anard (17-10-2019 16:52:08)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#2 17-10-2019 17:14:15

raleur
Membre
Inscription : 03-10-2014

Re : VsFTPd : connexion distante refusée

Anard a écrit :

Le port 21 (TCP) de ma box redirige bien vers l'adresse locale du serveur


Et tu es sûr(e) que la box redirige les connexions venant du réseau local ? Toutes les box ne le font pas car c'est plus compliqué que rediriger les connexions venant de l'extérieur.


Il vaut mieux montrer que raconter.

Hors ligne

#3 17-10-2019 17:24:27

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : VsFTPd : connexion distante refusée

Merci en effet:
Dans la config de la box, lors de la configuration d'unr redirection NAT, je viens de voir ce paramètre : WAN Interface : Default / WAN / ADSL / VDSL / ETHWAN
Et j'ai modifié la redirection FTP en "ETHWAN".

Maintenant voici la réponse de FileZilla :

Connexion à 109.190.32.12:21...
Statut :             Connexion établie, attente du message d'accueil...
Statut :             Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS.
Commande :    USER anard
Réponse :         331 User anard OK. Password required
Commande :    PASS *********
Réponse :         530 Login authentication failed
Erreur :             Erreur critique : Impossible d'établir une connexion au serveur



Il ne semble plus supporter TLS en mode distant... Pourquoi ?


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#4 18-10-2019 09:49:32

raleur
Membre
Inscription : 03-10-2014

Re : VsFTPd : connexion distante refusée

C'est curieux. Tu peux lancer filezilla en mode "bavard" pour afficher tous les échanges avec le serveur ?
Tu as spécifié dans la redirection qu'il s'agissait du protocole FTP ? Le certificat du serveur inclut-il le nom ou l'adresse IP publique ? De toute façon Le NAT FTP ne peut pas fonctionner avec TLS sauf si la box usurpe le serveur et envoie son propre certificat et si le client l'accepte.

Il vaut mieux montrer que raconter.

Hors ligne

#5 18-10-2019 10:50:36

robert2a
Membre
Distrib. : Buster 10 version 10.11
Noyau : kernel buster backports
(G)UI : Mate
Inscription : 15-11-2014

Re : VsFTPd : connexion distante refusée

Bonjour
je prend l'exemple de mon ADSL orange , impossible d'utiliser mon IP internet en local.
par exemple si je met en place un serveur FTP avec une connexion distante , je suis obligé de demander a une personne extérieure (sur le net ) de tester la connexion
et ceci pour tous les services , http , ftp , jeux en ligne etc .......
et a l'époque j'avais des box pas de chez orange , mais du genre Dlink ou autres (pour l ADSL )
a mon avis tu demande l' impossible , si tu connais quelqu'un sur le net tu lui crée un compte et tu lui demande de tester ton serveur
pointer sur ta propre IP du net , il me semble que c'est ton FAI qui doit te rediriger vers ta box via ton réseau local
pour Orange c'est pas le cas , peut être que d'autres FAI le font

Machines : kabylake I7 7700 , AMD 1700(X) ,AMD threadripper gen1 , AMD Raven R3 2200G , AMD FX(tm)-8320

Hors ligne

#6 20-10-2019 13:49:08

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : VsFTPd : connexion distante refusée

Bonjour et merci pour vos réponses… bien que je ne comprenne pas tout big_smile

Donc en effet, je n'avais pas bien compris ce que voulait dire "Common Name" dans la création du certificat SSL. J'avais mis le nom d'utilisateur, j'ai recréé le certificat maintenant en y inscrivant l'IP Publique.

Bref. Vous avez quand même l'air de dire que ce sera impossible si je ne demande pas à mon FAI de rediriger le port 21 de ma box ?
En fait, je ne sais pas trop ce que je peux faire.
J'ai mis FileZilla en mode très très bavard, mais je ne sais pas si ça peut aider...

Statut :             Déconnecté du serveur
Suivi :               CRealControlSocket::DoClose(66)
Suivi :               CControlSocket::DoClose(66)
Suivi :               CRealControlSocket::DoClose(66)
Suivi :               CControlSocket::DoClose(66)
Suivi :               CControlSocket::DoClose(66)
Suivi :               CFileZillaEnginePrivate::ResetOperation(0)
Suivi :               CControlSocket::SendNextCommand()
Suivi :               CFtpLogonOpData::Send() in state 0
Statut :             Connexion à 109.190.32.12:21...
Statut :             Connexion établie, attente du message d'accueil...
Suivi :               CFtpControlSocket::OnReceive()
Réponse :         220---------- Welcome to Pure-FTPd [privsep] ----------
Réponse :         220-You are user number 1 of 50 allowed.
Réponse :         220-Local time is now 11:47. Server port: 21.
Réponse :         220-IPv6 connections are also welcome on this server.
Réponse :         220 You will be disconnected after 15 minutes of inactivity.
Suivi :               CFtpLogonOpData::ParseResponse() in state 1
Suivi :               CControlSocket::SendNextCommand()
Suivi :               CFtpLogonOpData::Send() in state 2
Commande :    AUTH TLS
Suivi :               CFtpControlSocket::OnReceive()
Réponse :         500 This security scheme is not implemented
Suivi :               CFtpLogonOpData::ParseResponse() in state 2
Suivi :               CControlSocket::SendNextCommand()
Suivi :               CFtpLogonOpData::Send() in state 3
Commande :    AUTH SSL
Suivi :               CFtpControlSocket::OnReceive()
Réponse :         500 This security scheme is not implemented
Suivi :               CFtpLogonOpData::ParseResponse() in state 3
Statut :             Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS.
Suivi :               CControlSocket::SendNextCommand()
Suivi :               CFtpLogonOpData::Send() in state 5
Suivi :               CFtpControlSocket::SetAsyncRequestReply
Suivi :               CControlSocket::SendNextCommand()
Suivi :               CFtpLogonOpData::Send() in state 6
Commande :    USER benevole
Suivi :               CFtpControlSocket::OnReceive()
Réponse :         331 User benevole OK. Password required
Suivi :               CFtpLogonOpData::ParseResponse() in state 6
Suivi :               CControlSocket::SendNextCommand()
Suivi :               CFtpLogonOpData::Send() in state 6
Commande :    PASS **********
Suivi :               CFtpControlSocket::OnReceive()
Réponse :         530 Login authentication failed
Suivi :               CFtpLogonOpData::ParseResponse() in state 6
Suivi :               CRealControlSocket::DoClose(1094)
Suivi :               CControlSocket::DoClose(1094)
Suivi :               CFtpControlSocket::ResetOperation(1094)
Suivi :               CControlSocket::ResetOperation(1094)
Suivi :               CFtpLogonOpData::Reset(1094) in state 6
Erreur :             Erreur critique : Impossible d'établir une connexion au serveur
Suivi :               CFileZillaEnginePrivate::ResetOperation(1094)



Aussi,
J'ai du mal à comprendre la différence profonde entre FTP sur TLS et FTP sur SSH (SFTP).
J'ai cru comprendre que sur SFTP était plus sécure mais je ne suis pas certain. Aussi, je n'ai pas réussi à obtenir cette même configuration dans ma config ssh :

cat /etc/ssh/sshd_config | grep -v "^#"
Protocol 2
HostKey /etc/ssh/ssh_host_ecdsa_key
LoginGraceTime 20s
PermitRootLogin no
MaxAuthTries 1
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
RSAAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
UsePAM no
X11Forwarding yes
PrintMotd no
AllowGroups sshusers
MaxStartups 2
AcceptEnv LANG LC_*
Subsystem sftp internal-sftp
  Match Group sftpusers
  PasswordAuthentication yes
  ChrootDirectory /home/$USER/
  ForceCommand internal-sftp
 



Voici ce que j'aimerais :

  • Une connexion ssh complète possible pour les membres du groupe sshusers (moi et d'autres éventuels admin) ainsi qu'un accès à l'ensemble du serveur (connexion par clé)

  • Une connection au serveur de fichiers et à leur /home/ en lecture/écriture pour les utilisateurs classiques (sftp/ftps ?). Pour le moment, il n'y a qu'un compte générique "benevole".

  • Un accès anonyme au serveur de fichier bloqué sur le dossier /home/benevole/Public/ en lecture seule.



Le tout accessible depuis l'extérieur, et de la façon la plus simple possible (la plupart des gens concernés ne sachant pas utiliser un ordinateur au-delà de l'explorateur de fichiers et de leur navigateur web).
Si vous avez des idées et/ou des conseils, je suis tout ouïe.

Dernière modification par Anard (20-10-2019 14:02:23)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#7 20-10-2019 15:16:01

raleur
Membre
Inscription : 03-10-2014

Re : VsFTPd : connexion distante refusée

Anard a écrit :

j'ai recréé le certificat maintenant en y inscrivant l'IP Publique.


Adresse IP fixe ? Sinon il vaudrait mieux utiliser un nom de domaine dynamique.

Anard a écrit :

Vous avez quand même l'air de dire que ce sera impossible si je ne demande pas à mon FAI de rediriger le port 21 de ma box ?


Non, tu n'as pas besoin de demander au FAI. Ça se fait directement dans l'interface de configuration de la box.

Anard a écrit :

J'ai mis FileZilla en mode très très bavard, mais je ne sais pas si ça peut aider


Les messages internes du style "Suivi :" ne sont pas très utiles, le reste (commande, réponse, statut) l'est.
Tu pourrais récupérer la même chose lors d'une connexion directe avec l'adresse IP privée, pour comparer ?

Anard a écrit :

J'ai du mal à comprendre la différence profonde entre FTP sur TLS et FTP sur SSH (SFTP).


SFTP n'est pas FTP sur SSH, c'est un protocole de transfert de fichier par SSH qui n'a rien à voir avec le protocole FTP. C'est plus simple à rediriger que FTP car tout passe dans la connexion SSH, il n'y pas de connexions de commande et de données séparées comme en FTP.


Il vaut mieux montrer que raconter.

Hors ligne

#8 20-10-2019 15:19:03

lagrenouille
Adhérent(e)
Lieu : Toulouse
Distrib. : debian buster_bulseyes
Noyau : d'olive
(G)UI : ça dépends des jours
Inscription : 28-03-2012
Site Web

Re : VsFTPd : connexion distante refusée

avec filezilla, essaie SFTP

Hors ligne

#9 20-10-2019 15:53:04

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : VsFTPd : connexion distante refusée

Merci à vous.

Malheureusement, je n'ai pas de serveur DNS pour associer un nom de domaine à mon IP publique. Donc oui, j'ai renseigné immédiatement on IP publique fixe.
Dans l'interface de ma box, j'ai bien renseigné la redirection NAT du port 21 vers l'IP locale du serveur. Mais donc le problème pourrait venir du fait que je me connecte en réalité depuis le même réseau ?

Donc j'ai réduit le niveau de "déboguage" de FileZilla à "Alerter" pour éviter les messages de "suivi" :
Connexion FTP (non sécurisée) anonyme sur IP locale

Réponse :      220 Bienvenue sur le serveur du Musée de la Musique Mécanique
Statut :          Le protocole FTP est non sécurisé. Basculez du protocole FTP au protocole TLS.
Commande :  USER anonymous
Réponse :      331 Please specify the password.
Commande :  PASS *********************
Réponse :      230 Login successful.
Commande :  SYST
Réponse :      215 UNIX Type: L8
Commande :  FEAT
Réponse :      211-Features:
Réponse :       AUTH TLS
Réponse :       UTF8
Réponse :       EPRT
Réponse :       EPSV
Réponse :       MDTM
Réponse :       PASV
Réponse :       PBSZ
Réponse :       PROT
Réponse :       REST STREAM
Réponse :       SIZE
Réponse :       TVFS
Réponse :      211 End
Commande :  OPTS UTF8 ON
Réponse :      200 Always in UTF8 mode.
Statut :          Connecté
Statut :          Récupération du contenu du dossier...
Commande :  PWD
Réponse :      257 "/" is the current directory
Commande :  TYPE I
Réponse :      200 Switching to Binary mode.
Commande :  PASV
Réponse :      227 Entering Passive Mode (192,168,1,100,156,93).
Commande :  LIST
Réponse :      150 Here comes the directory listing.
Réponse :      226 Directory send OK.
Statut :          Calcul du décalage horaire du serveur...
Commande :  MDTM etat des lieux 2019.PDF
Réponse :      213 20191015120215
Statut :          Timezone offset of server is 0 seconds.
Statut :          Contenu du dossier "/" affiché avec succès



Connexion FTP sur TLS sur IP locale

Statut :          Déconnecté du serveur
Statut :          Connexion à 192.168.1.100:21...
Statut :          Connexion établie, attente du message d'accueil...
Réponse :      220 Bienvenue sur le serveur du Musée de la Musique Mécanique
Commande :  AUTH TLS
Réponse :      234 Proceed with negotiation.
Statut :          Initialisation de TLS...
Statut :          Vérification du certificat...
Statut :          Connexion TLS établie.
Commande :  USER benevole
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 "/" is the current directory
Statut :          Contenu du dossier "/" affiché avec succès



Connexion FTP sur TLS sur IP distante (mais je me connecte toujours depuis mon réseau interne)

Statut :          Déconnecté du serveur
Statut :          Connexion à 109.190.32.12:21...
Statut :          Connexion établie, attente du message d'accueil...
Réponse :      220---------- Welcome to Pure-FTPd [privsep] ----------
Réponse :      220-You are user number 1 of 50 allowed.
Réponse :      220-Local time is now 13:41. Server port: 21.
Réponse :      220-IPv6 connections are also welcome on this server.
Réponse :      220 You will be disconnected after 15 minutes of inactivity.
Commande :  AUTH TLS
Réponse :      500 This security scheme is not implemented
Commande :  AUTH SSL
Réponse :      500 This security scheme is not implemented
Erreur :          Erreur critique : Impossible d'établir une connexion au serveur


NOTE : étrange, il utilise Pure-FTPd, alors que sur le serveur, c'est vsFTPd qui est installé... Peut-être qu'il y a un lien ?

Pour info, ma config vsFTPd :

cat /etc/vsftpd.conf | grep -v "^#"
listen=YES
listen_ipv6=NO
anonymous_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=YES
anon_root=/home/benevole/Public
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
ftpd_banner=Bienvenue sur le serveur du Musée de la Musique Mécanique
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot.list
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
pasv_enable=YES
pasv_min_port=40001
pasv_max_port=40100
utf8_filesystem=YES



Tentative en SFTP, fonctionne bien et de manière identique avec l'IP locale ou l'IP distante, sauf que je n'arrives pas à créer un accès "anonyme" :
Connexion SFTP avec clés (accès complet)

Statut :          Déconnecté du serveur
Statut :          Connexion à 109.190.32.12...
Réponse :      fzSftp started, protocol_version=8
Commande :  keyfile "/Volumes/Docs Hack/anard/.ssh/id_servermusee"
Commande :  open "anard@109.190.32.12" 22
Commande :  Approbation de la nouvelle clé de l'hôte : Une seule fois
Statut :          Connected to 109.190.32.12
Statut :          Récupération du contenu du dossier...
Commande :  pwd
Réponse :      Current directory is: "/home/anard"
Commande :  ls
Statut :          Listing directory /home/anard
Statut :          Contenu du dossier "/home/anard" affiché avec succès



Connxion SFTP avec mot de passe (chroot sur le /home/%u)

Statut :          Déconnecté du serveur
Statut :          Connexion à 109.190.32.12...
Réponse :      fzSftp started, protocol_version=8
Commande :  open "benevole@109.190.32.12" 22
Commande :  Approbation de la nouvelle clé de l'hôte : Une seule fois
Commande :  Pass: **********
Statut :          Connected to 109.190.32.12
Statut :          Récupération du contenu du dossier...
Commande :  pwd
Réponse :      Current directory is: "/"
Statut :          Contenu du dossier "/" affiché avec succès



Connexion SFTP anonyme (compte "visiteur" sans mot de passe => chroot sur /home/benevole/Public)

Statut :          Déconnecté du serveur
Statut :          Connexion à 109.190.32.12...
Réponse :      fzSftp started, protocol_version=8
Commande :  open "visiteur@109.190.32.12" 22
Commande :  Approbation de la nouvelle clé de l'hôte : Une seule fois
Erreur :          Connection reset by peer
Erreur :          Impossible d'établir une connexion au serveur



Pour info, mon sshd_config mis à jour pour la session visiteur :

cat /etc/ssh/sshd_config | grep -v "^#"
Protocol 2
HostKey /etc/ssh/ssh_host_ecdsa_key
LoginGraceTime 20s
PermitRootLogin no
MaxAuthTries 1
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
UsePAM no
AllowTcpForwarding no
X11Forwarding yes
PrintMotd no
AllowGroups sshusers sftpusers visiteur
MaxStartups 2
Banner /etc/banner
AcceptEnv LANG LC_*
Subsystem sftp internal-sftp
  Match Group sftpusers
    PasswordAuthentication yes
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
  Match User visiteur
    PasswordAuthentication yes
    PermitEmptyPasswords yes
    ChrootDirectory /home/benevole/Public
    ForceCommand internal-sftp



Et la config du compte "visiteur" :

sudo cat /etc/shadow | grep visiteur
visiteur::18189:0:99999:7:::

Dernière modification par Anard (20-10-2019 16:13:19)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#10 20-10-2019 17:41:10

raleur
Membre
Inscription : 03-10-2014

Re : VsFTPd : connexion distante refusée

Anard a écrit :

NOTE : étrange, il utilise Pure-FTPd, alors que sur le serveur, c'est vsFTPd qui est installé. ?


Il n'y a pas que ça. Celui-là indique que les connexions IPv6 sont bienvenues alors qu'elles sont désactivées dans ta configuration.
Manifestement, c'est un autre serveur FTP. Peut-être intégré à la box ?
As-tu essayé de t'y connecter en clair sans TLS pour voir ce qu'il contient ?
Que donne une connexion FTP à l'adresse interne de la box ?

Anard a écrit :

le problème pourrait venir du fait que je me connecte en réalité depuis le même réseau ?


Cela ne suffit pas à expliquer pourquoi la connexion aboutit sur un autre serveur FTP.


Il vaut mieux montrer que raconter.

Hors ligne

#11 20-10-2019 17:53:15

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : VsFTPd : connexion distante refusée

Merci ! c'est ça.
En effet, j'avais remarqué ausi le coup de l'IPv6, mais oublié hmm
En effet, si je tape me connecte en ftp avec le login et le mdp d'administration de la box, ça fonctionne.
Enfin ça fonctionne… je me retrouve sur le "serveur" de la box avec des fichiers que je ne connais pas.
Il faudrait donc que j'arrive à désactiver ce serveur FTP de la box qui prend la main en premier. Ou que je le redirige vers le mien ?
Reste à trouver ça dans leur interface (il y a beaucoup de choses que je ne comprends pas dedans).

EDIT : une idée ici ??

interface box a écrit :


Application-Level Gateway (ALG) allows customized NAT traversal filters to support address and port translation for certain applications such as, FTP, SIP, or file transfer in IM applications.
On : NAT ALG
Off: SIP ALG
On : RTSP ALG
On : PPTP ALG
On : IPSEC ALG

Dernière modification par Anard (20-10-2019 17:56:58)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#12 21-10-2019 14:56:15

raleur
Membre
Inscription : 03-10-2014

Re : VsFTPd : connexion distante refusée

L'ALG FTP (équivalent de nf_conntrack_ftp/nf_nat_ftp de Linux) n'est d'aucune aide avec les connexions FTP sur TLS/SSL, il ne fonctionne qu'avec les connexions FTP en clair car il a besoin de lire le contenu de la connexion de commande. Par conséquent pour que le listage et le transfert en mode passif fonctionnent il faudra aussi rediriger la plage de ports passifs (définie par pasv_min_port=40001 et pasv_max_port=40100) vers le serveur. Mais tu n'en es pas encore là.

La documentation de la box décrit-elle la signification des choix de l'option "WAN interface" ?

Il vaut mieux montrer que raconter.

Hors ligne

#13 24-10-2019 03:01:37

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : VsFTPd : connexion distante refusée

Rebonjour.

Bien. Etant fonctionnel pour le reste, j'ai installé le PC à sa place (donc plus chez moi) et...
Impeccable ! smile
Je ne sais pas si c'était le fait d'être sur un réseau interne en réalité ou du fait que ce n'est pas la même box là-bas mais il se connecte immédiatement en TLS sans faire d'histoire.

Dans la config de la box, j'ai également fait suivre les ports 40001 à 40100 comme tu disais.
Seulement, Filezilla précise à chaque action

Le server a envoyé une réponse passive avec une adresse non routable. Adresse remplacée par celle du serveur.


Je ne sais pas bien ce qu'il entend par là mais ça fonctionne.

Merci d'avoir pris le temps de regarder mon cas.


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#14 24-10-2019 11:05:05

raleur
Membre
Inscription : 03-10-2014

Re : VsFTPd : connexion distante refusée

Avertissement : la lecture de ce qui suit peut provoquer des maux de tête.

Ah oui, j'avais oublié de mentionner ce détail.
Pour initier une connexion IPv4 en mode passif, Filezilla envoie la vieille commande PASV à laquelle le serveur répond en envoyant le port passif sélectionné et son adresse IP passive. Par défaut, l'adresse passive est l'adresse IP propre du serveur, donc son adresse IP privée s'il est sur un réseau privé derrière un NAT. Quand la connexion de commande FTP est en clair, l'ALG du NAT peut intercepter cette adresse et la remplacer à la volée par l'adresse IP externe visible du client comme elle le fait avec l'adresse IP dans les en-têtes IP des paquets. Mais quand la connexion est chiffrée, ce n'est pas possible. En fait cette adresse passive ne sert strictement à rien, le client n'en a pas besoin car il connaît déjà l'adresse IP du serveur. D'ailleurs la "nouvelle" (mais fort ancienne) commande de mode passif étendu EPSV (utilisable aussi en IPv6 contrairement à PASV) ne transmet que le port passif.

Il y a 4 cas de figure :
- Si le client utilise la commande EPSV, il n'y a pas de problème.
- Si le client utilise la commande PASV et le serveur renvoie une adresse passive égale à son adresse vue du client, il n'y a pas de problème.
- Si le client utilise la commande PASV, le serveur renvoie une adresse passive différente de son adresse vue du client et le client ignore cette adresse passive (comme Filezilla) il n'y a pas de problème.
- Si le client utilise la commande PASV, le serveur renvoie une adresse passive différente de son adresse vue du client et le client utilise cette adresse passive alors la connexion passive échouera.

Le serveur FTP peut avoir une option de configuration pour forcer l'adresse passive à envoyer au client. Mais cela peut perturber les clients qui se connectent directement avec l'adresse privée depuis le réseau local.

PS : Le message de Filezilla est erroné : une adresse IP privée est parfaitement routable. Elle n'est juste pas routée sur l'internet public. La raison pour laquelle cette adresse devrait être ignorée n'est pas qu'elle n'est pas routable mais qu'elle est différente de l'adresse IP du serveur à laquelle le client s'est connecté.

Il vaut mieux montrer que raconter.

Hors ligne

Pied de page des forums