FileZilla - 主连接和数据连接证书不匹配

FileZilla - 主连接和数据连接证书不匹配

我的一位客户最近开始在FileZilla 客户端软件(在 Windows 7 上)连接到我的 FTP 服务器时(Ipswitch 的 WS_FTP 服务器)。在介绍我迄今为止所做的故障排除工作之前,请先了解关于此问题的几点:

  • 这是我的客户中唯一一个遇到(或至少报告)这个问题的人,我知道还有其他客户在使用FileZilla 客户端软件。
  • 我用FileZilla 客户端软件本身并无法重现连接到同一服务器的错误。
  • 此错误最近才开始出现(最近几天内)。在此之前,用户可以连接到同一服务器而不会出现错误。
  • WS_FTP 服务器日志显示用户成功连接,但没有显示任何表明该连接存在问题的错误。

为了解决这个问题,我尝试了以下方法:

  1. 已验证我的 FTP 服务器的 SSL 证书仍然有效(大约 10 个月后到期)。
  2. 审查了有关 SSL/TLS 的所有设置WS_FTP 服务器配置。
  3. 验证用户的连接设置FileZilla 客户端软件,通过将它们与我的站点管理器中的设置进行比较。
  4. 按照以下几篇帖子的说明FileZilla 论坛,通过重命名文件trustedcerts.xml%APPDATA%\FileZilla\trustedcerts.xml)并允许FileZilla 客户端软件来重新创建它。
  5. 更新了用户的FileZilla 客户端软件至最新版本。

我已经转发了这些信息FileZilla 论坛页面,但因为我知道问题可能是客户端软件、用户网络中的某些东西,甚至是我的服务器中的某些东西,所以我想稍微扩大一下范围。目前,我不确定还要看什么,我希望有人至少能给我指出正确的方向。我倾向于认为用户网络上的某些东西可能导致了这个问题,但在我“责怪”另一个 IT 部门之前,我想尝试获取一些证据。如果您能提供任何帮助,我将不胜感激。

更新:我连接到客户的工作站并检查了@Martin Prikryl在评论中。我发现客户端正在使用域控制的安装Webroot SecureAnywhere® 商业端点保护软件。他们仍然无法连接,所以这次我从主FileZilla 客户端窗户:

Status: Resolving address of ftp.company.com
Status: Connecting to XX.XX.XX.86:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Status: Server sent passive reply with unroutable address. Using server address instead.
Command:    MLSD
Response:   150 Transferring directory
Error:  Primary connection and data connection certificates don't match.
Error:  Transfer connection interrupted: ECONNABORTED - Connection aborted
Response:   226 Transfer completed
Error:  Failed to retrieve directory listing

另外,我比较了他的机器和我的机器的证书详细信息。这是我的机器的屏幕截图证书详细信息对话: 我的证书详细信息对话框

这是他的截图证书详细信息对话: 客户端证书详细信息对话框

我删除了图片中的 URL,但它们都是匹配的。指纹价值观和细节证书颁发者阻止,但显然存在一些差异。我让用户暂时禁用他们的 Webroot 保护(幸运的是,他的 IT 部门有人在那里帮助我们),然后重试。不幸的是,同样的问题出现了,当我再次检查证书时,与我电脑上列出的证书相比,它仍然显示出同样的差异。

他们的 IT 人员还尝试在同一网络上的另一台 PC 上从全新安装的 FileZilla 客户端软件进行连接。该连接导致相同的错误。我建议在连接到另一个网络(如手机的 WiFi 热点)的笔记本电脑上配置 FileZilla 客户端软件,看看问题是否仍然存在,但他们还没有机会这样做。

我们的 SSL 证书COMODO PositiveSSL 证书,所以现在我只需要确定是什么原因导致他的系统/网络选择 Fortinet 作为颁发者。

编辑:一时兴起,我在 FileZilla 客户端中建立了一个新连接,并明确指定了上面发布的用户连接日志中的 IP 地址,只是为了确保方式我正在连接。我没有收到任何错误,我的证书详细信息对话框显示的内容与之前相同(除了主机被列为 IP 地址而不是 DNS 名称)。以下是我最近一次会话的日志:

13:35:44    Status: Connecting to XX.XX.XX.86:21...
13:35:44    Status: Connection established, waiting for welcome message...
13:35:44    Status: Initializing TLS...
13:35:44    Status: Verifying certificate...
13:35:44    Status: TLS connection established.
13:35:45    Status: Logged in
13:35:45    Status: Retrieving directory listing...

更新 #2:我刚刚接到客户的回电,告知我他的 IT 部门已找到问题原因,并已在内部做出更改,以使他的连接正常运行。以下是摘要:

一年多以前,我们公司更改了 FTP 服务器的 IP 地址。当时,我们向所有客户和合作伙伴发送了一封电子邮件“群发”通知,告知他们这一更改。然而,显然该客户的 IT 部门没有收到该通知,因为他们无法识别该 IP 地址,并且防火墙中没有允许该流量的适当规则。

它已经运行了一年多而没有出现错误,这一事实仍然让我有些困惑,但只要它现在能正常工作,我就会放手(现在)。我稍后会发布故障排除摘要作为答案,但我必须回去工作了。

答案1

在我的研究中主连接和数据连接证书不匹配“错误信息报告FileZilla 客户端软件,大多数解决方案似乎都指向 FTP 服务器的错误配置。虽然这当然是一个有效的故障排除“步骤”,但还有一些其他步骤需要调查 - 特别是如果最终用户之前能够成功连接。

此特定错误意味着FileZilla 客户端软件和 FTP 服务器。问题不在于连接到 FTP 服务器,而在于通信的 SSL/TLS 加密协商。如果对 SSL 证书的有效性存在任何疑问,(发布)FileZilla Client 软件将不允许 TLS 连接继续。

以下故障排除步骤应有助于识别和/或解决错误的原因,或至少消除一些可能性:

客户端故障排除

  1. 验证 FTP 客户端的连接设置,包括:
    • 主机名/IP 和端口
    • SSL/TLS 选项
    • FTP 服务器登录信息(用户名/密码)
    • 服务器类型
    • 传输模式(主动/被动)
  2. 检查/清除客户端计算机上任何缓存的证书信息。
    • 在里面FileZilla 客户端软件,这可以通过删除/重命名存储这些证书的 XML 文件来完成(%APPDATA%\FileZilla\trustedcerts.xml
  3. 确保 FTP 客户端软件是最新的。可能的其他更改(FTP 服务器更新、网络配置更改、安全软件更新等)可能会导致通信问题。
  4. 如果 FTP 客户端位于本地网络上,请尝试从同一网络上的另一台计算机进行连接。如果该计算机能够连接,则问题出在一台(或多台)计算机上。
  5. 尝试禁用客户端计算机上安装的所有安全软件。某些 A/V 或其他 Internet 安全应用程序可以充当“中间人”,干扰 FTP 客户端和 FTP 服务器之间的通信。
  6. 如果可能,请尝试使用其他 Internet 连接访问 FTP 服务器。
    • 我发现测试这一点“最简单”的方法是打开手机的 WiFi 热点并将笔记本电脑连接到该网络。
  7. 如果 FTP 客户端位于防火墙后面,请确保防火墙不会阻止或以其他方式干扰 FTP 流量。根据防火墙的不同,这可能意味着打开防火墙上的端口、将 FTP 服务器 IP 地址列入白名单或其他配置选项。

如果你控制了 FTP 服务器

当然,根据所使用的 FTP 服务器软件,您可能需要/想要检查很多东西。我在这里只列出“基本”内容。

  1. 检查 FTP 服务器日志以获取有关失败连接的任何其他详细信息。
  2. 验证 FTP 服务器上安装的 SSL 证书尚未过期且仍然有效。
  3. 检查 FTP 服务器上的 SSL/TLS 配置设置。
  4. 验证指向 FTP 服务器的公共(和/或内部)DNS 记录和配置。
  5. 确保 FTP 服务器没有通过用户名或 IP 地址阻止/将用户列入黑名单。这还可能包括用户帐户需要更新/重置密码或其他内部安全设置等内容。

如果你无法控制 FTP 服务器

联系负责 FTP 服务器的个人/公司。向他们提供客户端故障排除帮助管理员解决其连接问题。

  • 笔记:由于 FileZilla 是一个开源项目,因此可以获取源代码并对其进行修改,以便软件忽略这一潜在危险。有关需要进行哪些更改的说明位于FileZilla 论坛。不过请注意,虽然我附上了此链接,但除非你仅有的使用该软件非常受控环境下,我会不是建议采取这一步骤。

根据客户端的本地环境,可能还需要采取其他故障排除步骤。此外,如果我在此处的步骤中遗漏了一些明显的内容,请发表评论,以便我可以添加它,以防其他人遇到此问题。

相关内容