Nach einem Update auf FileZilla 3.5.3 konnte ich nicht mehr per FTP ueber TLS auf meine bis dahin problemlos funktionierenden FTP-Server zugreifen. FileZilla brach die Verbindung mit einem GnuTLS Error -12 ab. Aeltere Versionen des FTP-Programms funktionierten weiterhin.
Der Grund: Im FileZilla-SVN lassen sich Anpassungen erkennen, die fuer mehr Sicherheit in der Cipher Suite sorgen. Das ist eine standardisierte Sammlung kryptographischer Algorithmen. Seit diesem Update werden aeltere Verschluesselungsmethoden wie 3DES oder MD5 nicht mehr akzeptiert. Wenn dein Server diese noch verwendet, verweigert FileZilla die Verbindung.
Fehlermeldung in FileZilla
Die FTP-Verbindung wurde mit folgender Meldung abgebrochen:
Befehl: AUTH TLS
Antwort: 234 Proceed with negotiation.
Status: Initialisiere TLS...
Fehler: GnuTLS error -12: A TLS fatal alert has been received.
Fehler: Herstellen der Verbindung zum Server fehlgeschlagen
Status: Naechsten Versuch abwarten...
Loesung: Cipher Suite auf dem Server anpassen
Die Loesung bei VSFTPD unter Debian war im FileZilla-Forum schnell gefunden. In der Konfigurationsdatei von VSFTPD setzt du die Verschluesselung auf "HIGH". Damit erfuellt der Server die Sicherheitsanforderungen von FileZilla.
sudo mcedit /etc/vsftpd.conf
# kryptographischen Algorithmus festlegen
ssl_ciphers=HIGH
Speichere die Konfigurationsdatei und starte den FTP-Dienst neu:
sudo /etc/init.d/vsftpd restart
Danach sollte FileZilla wieder ueber Port 990 verschluesselt mit dem Server per FTP ueber TLS kommunizieren koennen.
Weitere Ursachen fuer den GnuTLS Error -12
Der Fehler ist nicht auf VSFTPD beschraenkt. Er tritt immer dann auf, wenn der TLS-Handshake zwischen FileZilla und dem FTP-Server scheitert. Die haeufigsten Ursachen:
- Veraltetes TLS auf dem Server: Wenn der Server nur TLS 1.0 oder 1.1 unterstuetzt, lehnt FileZilla die Verbindung ab. Aktuelle Versionen setzen mindestens TLS 1.2 voraus. Pruefe die TLS-Version in der Serverkonfiguration und aktualisiere sie auf TLS 1.2 oder 1.3.
- Selbstsignierte Zertifikate: Bei selbstsignierten SSL-Zertifikaten kann der TLS-Handshake fehlschlagen, wenn das Zertifikat abgelaufen ist oder die Zertifikatskette nicht vollstaendig ist. Erneuere das Zertifikat oder stelle auf ein Let's Encrypt-Zertifikat um.
- Firewall blockiert den TLS-Handshake: Manche Firewalls oder Sicherheitssoftware unterbrechen die TLS-Aushandlung. Pruefe, ob Port 990 (implizites FTPS) oder Port 21 (explizites FTPS) freigegeben sind. Auch der passive Portbereich muss offen sein.
- ProFTPD und andere FTP-Server: Bei ProFTPD setzt du die Cipher Suite ueber
TLSCipherSuite HIGHin der proftpd.conf. Bei Pure-FTPd hilft der Parameter--tls=2fuer erzwungenes TLS.
Haeufige Fragen
Tritt der GnuTLS Error -12 nur bei FileZilla auf?
Nicht unbedingt. Der Fehler betrifft alle FTP-Clients, die GnuTLS als TLS-Bibliothek verwenden. FileZilla nutzt GnuTLS unter Linux und Windows. WinSCP verwendet dagegen OpenSSL und zeigt bei demselben Serverproblem eine andere Fehlermeldung. Die Ursache - eine zu schwache Cipher Suite auf dem Server - ist aber identisch.
Kann ich den Fehler auf Client-Seite beheben?
Nein. Der Fehler liegt am Server, nicht am Client. FileZilla bietet bewusst keine Option, die Sicherheitsanforderungen herabzusetzen. Die Loesung muss auf dem Server erfolgen, indem du die Cipher Suite auf HIGH setzt oder das TLS-Zertifikat aktualisierst.
Muss ich nach der Aenderung FileZilla neu konfigurieren?
Nein. Nachdem du die Serverkonfiguration angepasst und den FTP-Dienst neu gestartet hast, verbindet sich FileZilla automatisch mit den neuen Cipher-Einstellungen. Du musst in FileZilla nichts aendern.
Kommentararchiv 12
In den 12 Kommentaren berichten Leser von demselben GnuTLS-Fehler bei verschiedenen Hostern und Serverkonfigurationen. Die Loesung mit ssl_ciphers=HIGH in der VSFTPD-Konfiguration wird mehrfach bestaetigt. Einzelne Leser schildern Varianten des Problems mit ProFTPD und anderen FTP-Servern.