vsftpd - Erro no GnuTLS -15: um pacote TLS inesperado foi recebido

11

Como posso corrigir esse erro quando tento conectar-me ao servidor ftp no filezila:

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

E este erro no sublime plugin ftpsync:

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

Estas são as minhas configurações do 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
fonte

Respostas:

11

Tentei adicionar uma linha ao meu arquivo de configuração. Abra a configuração aqui:

sudo nano /etc/vsftpd.conf

E coloque esta linha na parte inferior:

allow_writeable_chroot=YES

Depois, reinicie o serviço:

sudo service vsftpd restart

Isso conserta para mim.

Francisc IB
fonte
Isso funciona para o Centos7 e o vsftpd 3.0.2 também.
Putnik
4

Pode ser que você tenha um erro que não tem relação com SSL.

  1. Tente desativar o SSL ( ssl_enable=NO)
  2. Conecte-se com seu cliente FTP favorito.

Então você provavelmente verá o erro real.

É por isso que a resposta do Francisc IB não tem relação com SSL.

Jean-Marc Delafont
fonte
Que é para mim a melhor resposta: pistas de configuração ruins para o GnuTLS -15errror, e incapacitante TLS dá muito mais apropriado informações
lauhub
0

Estranhamente, para mim, esse problema surgiu ao tentar fazer o lslogin.

Acabou sendo que eu tinha desinstalado a httpdfavor nginxe a pasta que eu estava usando era de propriedade apache:apachee o usuário foi removido quando eu removi httpd. Eu encontrei chconos diretórios nginx:nginxe substituí o usuário nessas linhas no meu arquivo de configuração: guest_username=nginx nopriv_user=nginx

Espero que isso ajude alguém lá fora, porque as mensagens de erro não foram úteis.

Elven Spellmaker
fonte
0

Encontrei tantas respostas confusas. Vou postar um

/etc/vsftpd.conf

que funcionou perfeitamente para mim no Ubuntu 18.04 usando o fileZilla como um cliente em 2019-09-04. O FTPS é implantado em uma instância do EC2 regulada por um grupo de segurança muito rigoroso que permite apenas o acesso de IPS público específico.

# 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
fonte
0

Eu encontrei esse mesmo problema. Outro segmento desaconselha a configuração de allow_writeable_chroot = YES por razões de segurança, a fim de mitigar um "ROARING BEAST ATTACK".

Definir allow_writeable_chroot = YES significa que o vsftpd deve permitir a situação em que o diretório inicial do usuário pode ser gravado por esse usuário. Em vez disso, por motivos de segurança, alterei as permissões na pasta raiz do usuário de 777 para 555.

Original: drwxrwxrwx / home / ftpuser /

Alterado para: dr-xr-xr-x / home / ftpuser /

Isso tornou o diretório inicial do usuário NÃO gravável pelo usuário e, portanto, não precisei usar o parâmetro allow_writeable_chroot = YES . Isso é bom (e mais seguro) para a minha situação, pois tenho uma estrutura de diretórios predefinida e não quero que o usuário crie novos arquivos ou diretórios em sua pasta raiz de qualquer maneira.

Eu descobri isso quando mudei o diretório inicial para / var / ftp através do parâmetro local_root = [path] do vsftpd e funcionou sem ter que definir allow_writeable_chroot = YES . Esta pasta / var / ftp é (755), mas pertence à raiz e, portanto, não pode ser gravada pelo ftpuser.

Daystrom75
fonte