vsftpd - Erreur GnuTLS -15: un paquet TLS inattendu a été reçu

11

Comment puis-je corriger cette erreur lorsque j'essaie de me connecter au serveur ftp sur filezila:

GnuTLS error -15: An unexpected TLS packet was received.

Et cette erreur sur le sublime plugin ftpsync:

ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1515)

Voici mes paramètres vsftpd:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

require_ssl_reuse=NO
ssl_ciphers=HIGH
Francisc IB
la source

Réponses:

11

J'ai essayé d'ajouter une ligne à mon fichier de configuration. Ouvrez la config ici:

sudo nano /etc/vsftpd.conf

Et mettez cette ligne en bas:

allow_writeable_chroot=YES

Ensuite, redémarrez le service:

sudo service vsftpd restart

Cela m'a arrangé.

Francisc IB
la source
Cela fonctionne également pour Centos7 et vsftpd 3.0.2.
Putnik
4

Il se peut que vous ayez une erreur qui n'a aucun rapport avec SSL.

  1. Essayez de désactiver SSL ( ssl_enable=NO)
  2. Connectez-vous avec votre client FTP préféré.

Ensuite, vous voyez probablement la vraie erreur.

C'est pourquoi la réponse Francisc IB n'a aucun rapport avec SSL.

Jean-Marc Delafont
la source
C'est pour moi la meilleure réponse: une mauvaise configuration conduit à l' GnuTLS -15erreur, et la désactivation de TLS donne des informations beaucoup plus appropriées
lauhub
0

Bizarrement pour moi, ce problème est apparu lors de la tentative de lsconnexion.

Il s'est avéré que j'avais désinstallé httpden faveur de nginxet le dossier que j'utilisais appartenait apache:apacheet l'utilisateur a été supprimé lorsque j'ai supprimé httpd. J'avais chconles répertoires à nginx:nginxpuis remplacé l'utilisateur dans ces lignes dans mon fichier de configuration: guest_username=nginx nopriv_user=nginx

J'espère que cela aide quelqu'un là-bas parce que les messages d'erreur n'étaient pas du tout utiles.

Créateur de sorts elfique
la source
0

J'ai trouvé tellement de réponses déroutantes. Je posterai un

/etc/vsftpd.conf

qui a parfaitement fonctionné pour moi dans Ubuntu 18.04 en utilisant fileZilla en tant que client le 2019-09-04. Le FTPS est déployé dans une instance EC2 réglementée par un groupe de sécurité très strict qui n'autorise que l'accès à des IPS publics spécifiques.

# FTPS Shim TLS configuration /etc/vsftpd.conf
# Run standalone?  vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
listen=YES
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=NO
listen_port=38250
ftp_data_port=38255
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
# Uncomment this to allow local users to log in.
local_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
# If enabled, vsftpd will display directory listings with the time
# in  your  local  time  zone.  The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
# Activate logging of uploads/downloads.
xferlog_enable=YES
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=NO
# You may override where the log file goes if you like. The default is shown below.
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
debug_ssl=YES
# You may change the default value for timing out an idle session.
idle_session_timeout=600
# You may change the default value for timing out a data connection.
data_connection_timeout=120
# You may fully customise the login banner string:
ftpd_banner=Welcome to Read-Only FTPS Shim service.
# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
chroot_local_user=YES
allow_writeable_chroot=YES
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
# This string is the name of the PAM service vsftpd will use.
pam_service_name=ftp
# FTPS Passive Mode. -Define port range for passive mode connections
pasv_enable=Yes
pasv_min_port=10100
pasv_max_port=10110
ssl_enable=YES
# force client to use TLS when logging in
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
# specify TSL certificate/private key
rsa_cert_file=/etc/ssl/certs/fullchain.pem
rsa_private_key_file=/etc/ssl/private/privkey.pem
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
# Uncomment this to indicate that vsftpd use a utf8 filesystem.
utf8_filesystem=YES
# Users
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
Andres Leon Rangel
la source
0

J'ai rencontré ce même problème. Un autre thread déconseille de définir allow_writeable_chroot = YES pour des raisons de sécurité, à savoir pour atténuer une "ATTAQUE DE BURAGE ROARING".

La définition de allow_writeable_chroot = YES signifie que vsftpd doit autoriser la situation dans laquelle le répertoire personnel de l'utilisateur est accessible en écriture par cet utilisateur. Au lieu de cela, pour des raisons de sécurité, j'ai modifié les autorisations sur le dossier racine de l'utilisateur de 777 à 555.

Original: drwxrwxrwx / home / ftpuser /

Remplacé par: dr-xr-xr-x / home / ftpuser /

Cela a rendu le répertoire personnel de l'utilisateur NON inscriptible par l'utilisateur et je n'ai donc pas eu à utiliser le paramètre allow_writeable_chroot = YES . C'est bien (et plus sûr) pour ma situation car j'ai une structure de répertoires prédéfinie et je ne veux pas que l'utilisateur crée de nouveaux fichiers ou répertoires dans leur dossier racine de toute façon.

J'ai compris cela lorsque j'ai basculé le répertoire personnel vers / var / ftp via le paramètre local_root = [path] pour vsftpd et cela a fonctionné sans avoir à définir allow_writeable_chroot = YES . Ce dossier / var / ftp est (755) mais appartient à root et n'est donc pas accessible en écriture par ftpuser.

Daystrom75
la source