Alerte TLS reçue du serveur: l'établissement de la liaison a échoué (40)

1

J'ai un nouveau serveur web avec proftpd à bord. Le problème est que je ne peux pas me connecter à travers filezilla Client FTP parce que cela me donne une erreur

Status: Connection established, waiting for welcome message...
Response:   220 FTP Server ready.
Command:    AUTH TLS
Response:   234 AUTH TLS successful
Status: Initializing TLS...
Error:  Received TLS alert from the server: Handshake failed (40)
Error:  Could not connect to server

J'ai trouvé que l'erreur correspond au journal proftpd /var/log/proftpd/tls.log/var/log/proftpd/tls.log record:

Jul 24 13:50:47 mod_tls/2.4.2[1572]: unable to accept TLS connection: protocol error: 
  (1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher

Ce qui signifie que le client ftp ne prend en charge aucun des algorithmes de chiffrement proposés par le serveur. En conséquence, la connexion échoue.

J'ai aussi trouvé un TLSCipherSuite directive en /etc/proftpd.conf qui désactive ADH, DES, SSLv2 et SSLv3 les chiffrements.

TLSCipherSuite                 ALL:!ADH:!DES:!SSLv2:!SSLv3

Quand je retire :!SSLv3 À partir de la directive et redémarrez le serveur, filezilla se connecte sans aucun problème. Mais permettant SSLv3 semble être une mauvaise idée car elle est vulnérable et peu sûre, selon le http://disablessl3.com/

Question

Ma question est donc que puis-je faire pour faire proftpd fournir au moins un chiffre sécurisé pour négocier avec succès filezilla Client FTP?

Remarque additionnelle

Il y a une question similaire Alerte TLS reçue du serveur: l'établissement de la liaison a échoué (40) ça raconte

Utilisez uniquement un simple FTP (non sécurisé)

mais je veux que la connexion soit sécurisée donc la réponse pour moi n'est pas appropriée.

Note complémentaire n ° 2

Liste des chiffres disponibles:

[root@server ~]# openssl ciphers -v 'ALL:!ADH:!DES:!SSLv2:!SSLv3'
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
DHE-DSS-AES256-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA256
ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256)  Mac=SHA384
ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA256
DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
DHE-DSS-AES128-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA256
ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-RSA-AES128-SHA256  TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(128)  Mac=SHA256
ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256
user619271
la source

Réponses:

3

La racine du problème était une absence de TLSProtocol directive en /etc/proftpd.conf. La valeur par défaut est TLSv1 et il empêche l'utilisation de TLSv1.2.

J'ai ajouté

  TLSProtocol                   TLSv1.2

à /etc/proftpd.conf, redémarrez le serveur et le problème a été résolu.

https://forum.filezilla-project.org/viewtopic.php?f=2&t=45829&p=157134#p157134 http://www.proftpd.org/docs/contrib/mod_tls.html#TLSProtocol

Bien que cela ait résolu mon cas, il est également recommandé d'utiliser

  TLSProtocol                   ALL -SSLv3

au lieu.

https://forum.filezilla-project.org/viewtopic.php?p=157135#p157135

user619271
la source
2

En supposant que vous utilisiez les bibliothèques OpenSSL installées sur le système (votre installation RedHat RPM, par exemple), vous pouvez afficher les chiffrements disponibles en exécutant:

openssl ciphers -v 'ALL:!ADH:!DES:!SSLv2:!SSLv3'

Si filezilla ne parle tout simplement pas SSLv3 / TLSv1 (à peu près équivalent), vous n'avez pas de chance et vous devriez vérifier si une version mise à jour est disponible.

Il est possible qu'un autre paramètre de configuration / suite de chiffrement convienne à votre charge de travail, mais il est déconseillé de l'obtenir depuis ce forum sans analyser correctement les exigences de votre situation.

Liam Dennehy
la source
1
Vous devez maintenant voir quels chiffrements et versions SSL / TLS sont pris en charge par votre client Filezilla. S'il n'y en a pas au moins un qui se chevauche, cela ne fonctionnera jamais.
Liam Dennehy