web-dev-qa-db-ja.com

サーバーからTLSアラートを受信しました:ハンドシェイクに失敗しました(40)

proftpdを搭載した新しいWebサーバーがあります。問題は、エラーが発生するため、filezillaFTPクライアントを介して接続できないことです。

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

エラーがproftpdlog /var/log/proftpd/tls.log/var/log/proftpd/tls.logレコードに対応していることがわかりました。

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

これは、ftpクライアントがサーバーによって提案された暗号化アルゴリズムをサポートしていないことを意味します。その結果、接続は失敗します。

また、/etc/proftpd.confTLSCipherSuiteADHSSLv2、およびSSLv3暗号を無効にするDESディレクティブを見つけました。

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

ディレクティブから:!SSLv3を削除してサーバーを再起動すると、filezillaは問題なく接続します。しかし、 http://disablessl3.com/ によると、SSLv3を有効にすることは脆弱で安全ではないため、悪い考えのようです。

質問

だから私の質問は、proftpdfilezilla FTPクライアントと正常にネゴシエートするために少なくとも1つの安全な暗号を提供するようにするにはどうすればよいですか?

追記

同様の質問があります サーバーから受信したTLSアラート:ハンドシェイクに失敗しました(40) それは

プレーンFTPのみを使用する(安全ではない)

しかし、私は接続を安全にしたいので、私にとっての答えは不適切です。

追記#2

利用可能な暗号のリスト:

[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
1
user619271

問題の根本は、/etc/proftpd.confTLSProtocolディレクティブがないことでした。デフォルト値はTLSv1で、TLSv1.2の使用を防ぎます。

私が追加しました

  TLSProtocol                   TLSv1.2

/etc/proftpd.confに移動し、サーバーを再起動すると問題が解決しました。

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

私の場合は解決しましたが、使用することもお勧めします

  TLSProtocol                   ALL -SSLv3

代わりに。

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

3
user619271

システムにインストールされたOpenSSLライブラリ(RedHat RPMインストールなど)を使用していると仮定すると、次のコマンドを実行して使用可能な暗号を表示できます。

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

Filezillaが単にSSLv3/TLSv1(ほぼ同等)を話さない場合は、運が悪いので、話せる更新バージョンがあるかどうかを確認する必要があります。

ワークロードに適した別の構成/暗号スイート設定があるかもしれませんが、状況の要件を適切に分析せずにこのフォーラムから取得することはお勧めできません。

2
Liam Dennehy