有关 FTP 适配器的最佳做法和建议

了解 FTP 适配器的最佳做法、安全建议和增强功能。

最佳实践

  • 定期从临时文件夹中删除未完整接收的文件,以防止这些文件占用计算机资源以及可能造成的服务中断。

  • 如果使用流服务器,则在 MessageBox 数据库接收了整个文件后才允许对新文件进行读取访问。 如果使用 FTP 适配器向 MessageBox 数据库提交不完整的文件,则 MessageBox 数据库会成功存储该消息,但 FTP 适配器将无法从接收位置删除该不完整的消息。

  • 为确保 FTP 适配器接收处理程序的高可用性,FTP 适配器接收处理程序应配置为在群集 BizTalk 主机实例中运行。 有关详细信息,请参阅 在群集主机中运行适配器处理程序的注意事项

安全建议和提示

BizTalk Server可以从 FTP) 服务器的文件传输协议 (接收文件,并为其他应用程序将文件发送到 FTP 服务器。 BizTalk Server 并不作为 FTP 服务器。

FTP 实际上并不安全:用户名、密码以及其他凭据均以明文形式在网络上传输。 同样,上载或下载的文件也是以明文形式传输的,并且可以在传输过程中轻易地查看和篡改。 此外,攻击者可以欺骗 FTP 服务器本身,称为恶意服务器攻击。 在这种情况下,您无法判断某特定的 FTP 服务器是否为您想进行通信的计算机。

为了解决这些问题,FTP 适配器支持 SSL/TLS 协议,该协议通过加密确保数据机密性。

有关使用 FTP 协议时的一般安全注意事项,请参阅 Internet 常见问题解答存档 (https://go.microsoft.com/fwlink/p/?LinkId=24779) 。

建议使用以下准则在环境中保护和部署 FTP 适配器:

  • 保护服务器并限制对数据的访问。 由于 FTP 协议不是安全协议,因此它易受攻击。 通过使用专用连接并限制服务器以及BizTalk Server与 FTP 主机之间的连接,可以确保 FTP 服务器的安全。 您也可以设置 FTP 服务器的安全策略以允许与 FTP 客户端的安全连接。

  • 将 FTP 适配器配置为使用安全套接字层 (SSL) 协议在适配器和 FTP 服务器之间进行通信。 SSL 协议通过加密可确保数据机密性。 这意味着会对用户 ID 和密码加密,而不以纯文本格式发送。 使用 FTP 适配器,您也可以加密 FTP 连接的数据通道。 请参阅本主题) 中的 增强 (

  • 若要实现安全的文件传输,请配置 FTP 适配器提供的特定于 SSL 的属性。 请参阅本主题) 中的 增强 (

  • FTP 适配器支持 RFC) 959 (FTP 注释请求。 请参阅 万维网联合会 (W3C) (https://go.microsoft.com/fwlink/p/?LinkId=24781) 。 FTP 适配器不支持安全 FTP (SFTP) 协议。 请参阅 SFTP 适配器

  • 您可以跨防火墙使用 FTP 适配器。 根据所使用的防火墙类型,可能需要配置以下一个或多个防火墙属性:用户名、密码、计算机、端口、防火墙类型 (无、socks 4、socks 5) 和模式。

  • 建议将远程 FTP 服务器置于安全位置。 您必须确保此服务器的物理安全和网络安全,以便将欺诈服务器攻击减到最少。

  • FTP 适配器支持使用企业单一登录 (SSO)。 请参阅 实现企业单一登录

  • 默认情况下,FTP 接收适配器必须在 FTP 服务器中具有写入权限,因为适配器将在下载后从服务器中删除文件。 但是,FTP 适配器支持从只读位置下载文件。 请参阅本主题) 中的 增强 (

  • 在使用 FTP 发送端口时,必须在配置发送端口时指定并存储用户 ID 和密码组合。 该适配器将使用此信息连接到 FTP 服务器。 用户凭据以纯文本格式存储在 SQL Server 数据库中。 在动态发送端口中,凭据将发送到 FTP 服务器。 如果生产环境要求较强的安全性,请对该服务器使用匿名凭据。

  • 当系统提示输入帐户时,建议输入现有用户帐户,而不是本地系统帐户。 从而实现更好的安全性,并允许适配器以无人参与模式运行,而无需登录。

增强功能

向/从安全 FTP 服务器传输数据

FTP 适配器支持通过安全套接字层 (SSL) /传输级别安全性 (TLS) 从 FTPS 服务器进行文件传输。 SSL/TLS 可通过加密确保数据的保密性。 你必须通过配置适配器提供的 SSL 特有的属性来启用安全模式。 由于适配器允许从安全 FTP 服务器读取和写入数据,因此,SSL 特有的属性在配置发送处理程序/端口时可用,而且还可用于接收处理程序/位置。

从 BizTalk Server 2016 开始,FTP 适配器不再需要 SYST 命令:

  • FTP 服务器类型 属性 – 将此属性设置为使用不需要 SYST 命令的服务器。

    以下选项可用于配置 SSL 特有的属性:

  • 使用 SSL 属性 – 设置此属性,以便 FTP 适配器必须对每个传输会话使用 SSL。

  • 启用数据保护 属性 – 设置此属性以启用数据加密。 若要使此设置生效,FTPS 服务器的安全策略必须允许与适配器的安全 SSL 连接。

  • FTPS 连接模式 属性 – 设置此属性以确定何时激活安全性:

    • 隐式 模式下,适配器连接到服务器后,安全性会自动打开。

    • 显式 模式下,适配器发送命令来启动安全控制通道。

注意

FTP 适配器不支持对服务器证书进行吊销检查。

对从标记为只读的位置下载文件的支持

FTP 适配器支持从只读文件位置下载文件。 现在,适配器会在数据库中保留一个下载文件的列表。 对于下一次下载,会对 FTP 服务器上的文件列表与适配器保留的文件列表进行比较,仅下载服务器上的新文件。 若要支持在两次下载之间更新现有文件的方案,可以通过设置 FTP 接收位置的 Enable Timestamp Comparison 属性,将适配器配置为同时检查文件时间戳。 在这种情况下,即使文件名相同,但时间戳已更新,适配器也会下载该文件。

有时,FTP 服务器不支持将修改后的时间戳与文件关联。 在这种情况下,你可以通过适配器指定一个时间间隔,此间隔过后会再次下载该文件。 可以通过设置 FTP 接收位置的 “重新下载间隔” 属性来配置此间隔。

下表列出了为“下载后删除”、“启用时间戳比较”和“重新下载间隔”属性设置的不同值时 FTP 适配器的预期行为。

下载后删除 启用时间戳比较 重新下载间隔 适配器行为
不适用 不适用 适配器在下载完某个文件后会从 FTP 服务器中将其删除。 这是适配器的默认行为。
不适用 适配器不会在下载完某个文件后从 FTP 服务器中将其删除。 适配器会使用 MDTM 命令比较该文件的上次修改的时间戳。 适配器会再次下载该文件(具体取决于该时间戳)。
适用 在指定的时间间隔过后,无论文件是否已修改,FTP 适配器都会从 FTP 服务器下载该文件。

对 ASCII 模式下原子文件传输的支持

FTP 适配器支持 ASCII 模式的原子文件传输。 若要为 ASCII 模式启用原子文件传输,适配器使用 临时文件夹 属性。 此属性定义 FTP 服务器上的一个临时位置,文件首先移至此位置。 在完全传输至该临时位置之后,文件会移动至 FTP 服务器上的相关位置。 此处的假设是,该临时位置与 FTP 服务器上的相关位置之间的文件传输是原子文件传输。

注意

使用 ASCII 文件的临时文件夹的扩展名仅适用于 发送,不适用于 接收。 实施此功能的主要原因在于,在某个文件被完全写入之前,第三方应用程序将无法读取该文件。 在 BizTalk 接收文件的情况下,适配器仅在该文件已完全读取后才会将其提交到 BizTalk。

注意

在二进制模式下,如果两者之间发生故障,也可以使用 临时文件夹 属性恢复文件传输。 这不适用于 ASCII 模式。 对于 ASCII 模式, 临时文件夹 属性仅用于原子文件传输。

下一步

配置 FTP 适配器

另请参阅

接收和发送服务器的端口最低安全用户权限