Curl FTPSエラー:1408F10B:SSLルーチン:ssl3_get_record:無効なバージョン番号

Curl FTPSエラー:1408F10B:SSLルーチン:ssl3_get_record:無効なバージョン番号

関連する質問を見ましたが、どちらも私の問題を解決できませんでした。

私はカールを使ってvsftpdを実行しているEC2サーバーのFTPSサーバーから私のdmzのサーバーにftpを介してファイルを転送しようとしています。

$ curl ftps://ec2-myserver.compute.amazonaws.com --verbose --tlsv1.1
* Rebuilt URL to: ftps://ec2-myserver.us-east-2.compute.amazonaws.com/
*   Trying ip_addr...
* TCP_NODELAY set
* Connected to ec2-myserver.us-east-2.compute.amazonaws.com (ip_addr) port ---- (#0)
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.1 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0

Windows サーバーの Filezilla からファイル接続 FTPS を取得できます。

すべてのTLSバージョンで同じエラーが発生します。

vsfpdサーバーでSSL3を有効にしようとしましたが、問題は解決されませんでした。

ベストアンサー1

chroot設定でvsftpdを実行しましたが、静かに失敗しました。 (/dev/logchrootからアクセスできないためですか?)

chroot_local_user=YES
local_root=public_html

私はOK LOGINそれを見ることができますが、vsftpd.logクライアントのパスワードにユーザー名を送信した後、次のエラーで失敗します。

client% openssl s_client -connect testftps.example.org:21 --tls1_2 --starttls ftp -quiet
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = testftps.example.org
verify return:1
220 Welcome to TEST vsftpd FTPS service.
user ftptest
331 Please specify the password.
pass xxxxxxxx
140419419894912:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:308:

vsftpdを追跡した結果にのみ問題が明らかになりました。

server# strace -tt -ff -s500 -p `pidof vsftpd`
[...]
[pid 27164] 18:31:56.249184 access("/", W_OK) = 0
[pid 27164] 18:31:56.249386 fcntl(0, F_GETFL) = 0x2 (flags O_RDWR)
[pid 27164] 18:31:56.249599 fcntl(0, F_SETFL, O_RDWR|O_NONBLOCK) = 0
[pid 27164] 18:31:56.249763 write(0, "500 OOPS: ", 10) = 10
[pid 27164] 18:31:56.250118 write(0, "vsftpd: refusing to run with writable root inside chroot()", 58) = 58
[pid 27164] 18:31:56.250436 write(0, "\r\n", 2) = 2
[pid 27164] 18:31:56.250758 exit_group(2) = ?

したがって、修正はありますが、実際の問題を見つけることもchmod 500 ~ftptest/public_htmlできます。strace

おすすめ記事