vsftpd - GnuTLS-Fehler -15: Ein unerwartetes TLS-Paket wurde empfangen

11

Wie kann ich diesen Fehler beheben, wenn ich versuche, eine Verbindung zum FTP-Server auf filezila herzustellen:

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

Und dieser Fehler beim großartigen ftpsync-Plugin:

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

Dies sind meine vsftpd-Einstellungen:

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
quelle

Antworten:

11

Ich habe versucht, meiner Konfigurationsdatei eine Zeile hinzuzufügen. Öffnen Sie die Konfiguration hier:

sudo nano /etc/vsftpd.conf

Und setzen Sie diese Zeile unten:

allow_writeable_chroot=YES

Starten Sie anschließend den Dienst neu:

sudo service vsftpd restart

Das behebt es für mich.

Francisc IB
quelle
Dies funktioniert auch für Centos7 und vsftpd 3.0.2.
Putnik
4

Möglicherweise haben Sie einen Fehler, der keine Beziehung zu SSL hat.

  1. Versuchen Sie, SSL ( ssl_enable=NO) zu deaktivieren
  2. Stellen Sie eine Verbindung mit Ihrem bevorzugten FTP-Client her.

Dann sehen Sie wahrscheinlich den wirklichen Fehler.

Deshalb hat die Francisc IB-Antwort keine Beziehung zu SSL.

Jean-Marc Delafont
quelle
Das ist für mich die beste Antwort: Eine schlechte Konfiguration führt zu einem GnuTLS -15Fehler, und das Deaktivieren von TLS liefert viel passendere Informationen
Lauhub
0

Seltsamerweise trat dieses Problem beim Versuch auf, lsnachdem ich mich angemeldet hatte.

Es stellte sich heraus, dass ich httpdzugunsten von deinstalliert hatte nginxund der Ordner, den ich verwendete, im Besitz war apache:apacheund der Benutzer beim Entfernen entfernt wurde httpd. Ich würde chcondie Verzeichnisse zu nginx:nginxund dann den Benutzer in diesen Zeilen in meiner Konfigurationsdatei ersetzen: guest_username=nginx nopriv_user=nginx

Hoffentlich hilft dies jemandem da draußen, da die Fehlermeldungen überhaupt nicht hilfreich waren.

Elven Spellmaker
quelle
0

Ich habe so viele verwirrende Antworten gefunden. Ich werde eine posten

/etc/vsftpd.conf

Das hat in Ubuntu 18.04 mit fileZilla als Client am 04.09.2019 einwandfrei funktioniert. Das FTPS wird in einer EC2-Instanz bereitgestellt, die von einer sehr strengen Sicherheitsgruppe reguliert wird, auf die nur bestimmte öffentliche IPS zugreifen können.

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

Ich bin auf dasselbe Problem gestoßen. Ein anderer Thread rät aus Sicherheitsgründen davon ab, allow_writeable_chroot = YES zu setzen, um einen "ROARING BEAST ATTACK" abzuschwächen.

Das Setzen von allow_writeable_chroot = YES bedeutet, dass vsftpd die Situation zulassen sollte, in der das Home-Verzeichnis des Benutzers von diesem Benutzer beschreibbar ist. Stattdessen habe ich aus Sicherheitsgründen die Berechtigungen für den Stammordner des Benutzers von 777 auf 555 geändert.

Original: drwxrwxrwx / home / ftpuser /

Geändert zu: dr-xr-xr-x / home / ftpuser /

Dies machte das Home-Verzeichnis des Benutzers NICHT für den Benutzer beschreibbar und daher musste ich den Parameter allow_writeable_chroot = YES nicht verwenden . Dies ist in Ordnung (und sicherer) für meine Situation, da ich eine voreingestellte Verzeichnisstruktur habe und nicht möchte, dass der Benutzer sowieso neue Dateien oder Verzeichnisse in seinem Stammordner erstellt.

Ich habe dies herausgefunden, als ich das Home-Verzeichnis über den Parameter local_root = [path] für vsftpd auf / var / ftp umgestellt habe, und es hat funktioniert, ohne allow_writeable_chroot = YES setzen zu müssen . Dieser Ordner / var / ftp ist (755), gehört jedoch root und kann daher nicht von ftpuser beschrieben werden.

Daystrom75
quelle