Menerima peringatan TLS dari server: Jabat tangan gagal (40)

1

Saya punya server web baru proftpd di atas kapal. Masalahnya adalah saya tidak bisa terhubung dengannya filezilla Klien FTP karena itu memberi saya kesalahan

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

Saya menemukan bahwa kesalahan sesuai dengan log proftpd /var/log/proftpd/tls.log/var/log/proftpd/tls.log merekam:

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

Yang berarti bahwa klien ftp tidak mendukung algorythms enkripsi yang diajukan oleh server. Akibatnya, koneksi gagal.

Saya juga menemukan a TLSCipherSuite arahan dalam /etc/proftpd.conf yang menonaktifkan ADH, DES, SSLv2 dan SSLv3 sandi.

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

Ketika saya menghapus :!SSLv3 dari direktif dan restart server, filezilla terhubung tanpa masalah. Tapi memungkinkan SSLv3 tampaknya ide yang buruk karena rentan dan tidak aman, menurut http://disablessl3.com/

Pertanyaan

Jadi pertanyaan saya adalah apa yang bisa saya lakukan untuk membuat proftpd memberikan setidaknya satu sandi aman untuk berhasil bernegosiasi filezilla Klien FTP?

Catatan tambahan

Ada pertanyaan serupa Menerima peringatan TLS dari server: Jabat tangan gagal (40) itu memberitahu

Gunakan hanya FTP biasa (tidak aman)

tapi saya ingin koneksi aman sehingga jawaban untuk saya tidak cocok.

Catatan tambahan # 2

Daftar cipher yang tersedia:

[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
sumber

Jawaban:

3

Akar masalah adalah tidak adanya TLSProtocol arahan dalam /etc/proftpd.conf. Nilai default adalah TLSv1 dan itu mencegah penggunaan TLSv1.2.

saya telah menambahkan

  TLSProtocol                   TLSv1.2

untuk /etc/proftpd.conf, me-restart server dan masalahnya terpecahkan.

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

Meskipun itu memecahkan kasus saya, juga disarankan untuk digunakan

  TLSProtocol                   ALL -SSLv3

sebagai gantinya.

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

user619271
sumber
2

Dengan asumsi Anda menggunakan pustaka OpenSSL yang diinstal sistem (mis. Instalasi RedHat RPM), Anda dapat melihat cipher yang tersedia dengan menjalankan:

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

Jika filezilla sama sekali tidak berbicara SSLv3 / TLSv1 (kurang lebih setara), Anda kurang beruntung dan harus mencari jika ada versi terbaru yang tersedia.

Mungkin ada pengaturan konfigurasi / ciphersuite lain yang sesuai untuk beban kerja Anda, tetapi mendapatkannya dari forum ini tanpa menganalisis dengan baik persyaratan situasi Anda tidak disarankan.

Liam Dennehy
sumber
1
Sekarang Anda perlu melihat cipher dan versi SSL / TLS mana yang didukung oleh klien filezilla Anda. Jika tidak ada setidaknya satu yang tumpang tindih, ini tidak akan berhasil.
Liam Dennehy