vsftpd - ошибка GnuTLS -15: получен неожиданный пакет TLS

11

Как я могу исправить эту ошибку, когда я пытаюсь подключиться к серверу ftp на filezila:

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

И эта ошибка на возвышенном плагине ftpsync:

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

Это мои настройки 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
Франциск И.Б.
источник

Ответы:

11

Я попытался добавить строку в мой файл конфигурации. Откройте конфиг здесь:

sudo nano /etc/vsftpd.conf

И поместите эту строку внизу:

allow_writeable_chroot=YES

После этого перезапустите сервис:

sudo service vsftpd restart

Это исправить это для меня.

Франциск И.Б.
источник
Это работает и для Centos7 и vsftpd 3.0.2.
Путник
4

Может быть, у вас есть ошибка, которая не имеет отношения к SSL.

  1. Попробуйте деактивировать SSL ( ssl_enable=NO)
  2. Связаться с вашим любимым FTP-клиентом.

Тогда вы, вероятно, видите настоящую ошибку.

Вот почему ответ Francisc IB не имеет отношения к SSL.

Жан-Марк Делафонт
источник
Для меня это лучший ответ: плохая конфигурация приводит к GnuTLS -15ошибке, а отключение TLS дает гораздо более подходящую информацию
lauhub
0

Странно для меня эта проблема возникла при попытке lsпосле входа в систему.

Оказалось, что я удалил httpdв пользу, nginxи папка, которую я использовал, принадлежала, apache:apacheи пользователь был удален, когда я удалил httpd. Я chconсделал каталоги nginx:nginxи затем заменил пользователя в этих строках в моем конфигурационном файле: guest_username=nginx nopriv_user=nginx

Надеюсь, это кому-то поможет, потому что сообщения об ошибках вообще не помогли.

Эльфийский Заклинатель
источник
0

Я нашел так много запутанных ответов. Я опубликую

/etc/vsftpd.conf

это работало безупречно для меня в Ubuntu 18.04 с использованием fileZilla в качестве клиента на 2019-09-04. FTPS развернут в экземпляре EC2, регулируемом очень строгой группой безопасности, которая разрешает доступ только к определенным публичным IPS.

# 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
Андрес Леон Рангель
источник
0

Я столкнулся с этой же проблемой. Другой поток не советует устанавливать allow_writeable_chroot = YES по соображениям безопасности, а именно, для смягчения «Атаки ROARING BEAST».

Установка allow_writeable_chroot = YES означает, что vsftpd должен разрешить ситуацию, когда домашний каталог пользователя доступен для записи для этого пользователя. Вместо этого по соображениям безопасности я изменил разрешения для корневой папки пользователя с 777 до 555.

Оригинал: drwxrwxrwx / home / ftpuser /

Изменено на: dr-xr-xr-x / home / ftpuser /

Это сделало домашний каталог пользователя НЕ доступным для записи пользователем, и поэтому мне не пришлось использовать параметр allow_writeable_chroot = YES . Это хорошо (и более безопасно) для моей ситуации, так как у меня предустановленная структура каталогов, и я не хочу, чтобы пользователь делал новые файлы или каталоги в своей корневой папке в любом случае.

Я понял это, когда переключил домашний каталог в / var / ftp с помощью параметра local_root = [path] для vsftpd, и это работало без необходимости устанавливать allow_writeable_chroot = YES . Эта папка / var / ftp (755), но принадлежит root и, следовательно, не доступна для записи ftpuser.

Daystrom75
источник