Ftp

某些客戶端的純 ftpd“拉取功能錯誤”

  • November 26, 2019

我正在執行執行 pure-ftpd 1.0.46 的 Ubuntu 18.04,配置如下:

AltLog clf:/var/log/pure-ftpd/transfer.log
Daemonize yes
FSCharset UTF-8
PAMAuthentication no
TLS 1
VerboseLog yes
ChrootEveryone yes
DisplayDotFiles yes
MinUID 30 
PassivePortRange 12000 13000
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
CustomerProof yes
ForcePassiveIP 185.73.xx.xx
NoAnonymous yes
PureDB /etc/pure-ftpd/pureftpd.pdb
UnixAuthentication no

被動埠範圍 (TCP) 在防火牆上打開,我們的 ISP 確認上游沒有 NATing 或其他網路配置。

使用(例如)GNU ftp 客戶端,伺服器在來自我們網路外部的測試中接受普通 FTP 沒有問題。

但是,我們收到了一些客戶端無法連接的報告,並出現超時等各種錯誤。https://ftptest.net上的測試確認了以下內容(在顯式 TLS 模式下,但也在其他模式下:

Command: CLNT https://ftptest.net on behalf of 88.202.156.157
Reply: 530 You aren't logged in
Command: AUTH TLS
Reply: 234 AUTH TLS OK.
Status: Performing TLS handshake...
Status: TLS handshake successful, verifying certificate...
Status: Received 1 certificates from server.

Status: cert[0]: [cert info here]
Command: USER oddjob
Error: Could not read from socket: Error in the pull function.

有誰知道從哪裡開始診斷這個?

編輯

在隱式模式下,來自 ftptest 的錯誤如下所示:

Status: Connecting to 2001:ba8:0:xxxxx
Status: Connected, performing TLS handshake...
Error: TLS handshake failed: An unexpected TLS packet was received.

顯然,pure-ftpd 1.0.46 和 OpenSSL 1.1.1 存在問題,但 Ubuntu 18.04 尚未獲得更新的 pure-ftpd 軟體包。如果您手動下載 1.0.47 包並安裝它,它應該可以解決您的問題。至少它對我有用。

https://bugs.launchpad.net/ubuntu/+source/pure-ftpd/+bug/1832998/

https://bugs.launchpad.net/ubuntu/+source/pure-ftpd/+bug/1832998/comments/8

引用自:https://serverfault.com/questions/984287