proftpd
を搭載した新しいWebサーバーがあります。問題は、エラーが発生するため、filezilla
FTPクライアントを介して接続できないことです。
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.conf
でTLSCipherSuite
、ADH
、SSLv2
、およびSSLv3
暗号を無効にするDES
ディレクティブを見つけました。
TLSCipherSuite ALL:!ADH:!DES:!SSLv2:!SSLv3
ディレクティブから:!SSLv3
を削除してサーバーを再起動すると、filezillaは問題なく接続します。しかし、 http://disablessl3.com/ によると、SSLv3
を有効にすることは脆弱で安全ではないため、悪い考えのようです。
質問
だから私の質問は、proftpd
がfilezilla
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
問題の根本は、/etc/proftpd.conf
にTLSProtocol
ディレクティブがないことでした。デフォルト値は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
システムにインストールされたOpenSSLライブラリ(RedHat RPMインストールなど)を使用していると仮定すると、次のコマンドを実行して使用可能な暗号を表示できます。
openssl ciphers -v 'ALL:!ADH:!DES:!SSLv2:!SSLv3'
Filezillaが単にSSLv3/TLSv1(ほぼ同等)を話さない場合は、運が悪いので、話せる更新バージョンがあるかどうかを確認する必要があります。
ワークロードに適した別の構成/暗号スイート設定があるかもしれませんが、状況の要件を適切に分析せずにこのフォーラムから取得することはお勧めできません。