了解 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 协议不是安全协议,因此它始终易受攻击。 可以使用专用连接确保 FTP 服务器安全,并限制 BizTalk Server 与 FTP 主机之间的连接。 还可以设置 FTP 服务器的安全策略,以允许与 FTP 客户端建立安全连接。
将 FTP 适配器配置为使用安全套接字层 (SSL) 协议在适配器与 FTP 服务器之间的通信。 SSL 协议通过加密确保数据保密性。 这意味着用户 ID 和密码已加密,不会以纯文本形式发送。 使用 FTP 适配器,还可以选择加密 FTP 连接的数据通道。 请参阅 增强功能 (本主题)。
若要实现安全文件传输,请配置 FTP 适配器提供的特定于 SSL 的属性。 请参阅 增强功能 (本主题)。
FTP 适配器支持 FTP 注释请求 (RFC) 959。 请参阅 万维网联合会 (W3C) (https://go.microsoft.com/fwlink/p/?LinkId=24781)。 FTP 适配器不支持安全 FTP (SFTP) 协议。 请参阅 SFTP 适配器。
可以在防火墙之间使用 FTP 适配器。 根据您使用的防火墙种类,可能需要配置以下一个或多个防火墙属性:用户名、密码、设备、端口、防火墙类型(无、SOCKS 4、SOCKS 5)和模式。
建议将远程 FTP 服务器置于安全位置。 必须确保此服务器的物理和网络安全,以最大程度地减少恶意服务器攻击。
FTP 适配器支持使用企业单一 Sign-On(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 接收位置的 “启用时间戳比较 ”属性来配置适配器以检查文件时间戳。 在这种情况下,即使文件名相同但时间戳已更新,适配器也会下载该文件。
有时 FTP 服务器不支持将修改的时间戳与文件相关联。 在这种情况下,适配器允许你指定一个间隔,之后文件将再次下载。 通过设置 FTP 接收位置的 “重新加载间隔 ”属性来配置此间隔。
下表列出了 FTP 适配器的预期行为,这些值针对“下载后删除”、“启用时间戳比较”和“重新加载间隔”属性设置的不同值。
下载后删除 | 启用时间戳比较 | 重新加载间隔 | 适配器行为 |
---|---|---|---|
是的 | 不適用 | 不適用 | 适配器从 FTP 服务器下载文件后将其删除。 这是适配器的默认行为。 |
否 | 是的 | 不適用 | 下载文件后,适配器不会从 FTP 服务器中删除文件。 相反,适配器使用 MDTM 命令比较文件的上次修改时间戳。 根据时间戳,适配器会再次下载文件。 |
否 | 否 | 适用 | FTP 适配器在指定的时间间隔后从 FTP 服务器下载文件,而不考虑文件是否已修改。 |
支持 ASCII 模式下的原子文件传输
FTP 适配器支持 ASCII 模式的原子文件传输。 若要为 ASCII 模式启用原子文件传输,适配器使用 临时文件夹 属性。 此属性定义 FTP 服务器上的临时位置,其中文件首次移动到该位置。 将文件完全传输到临时位置后,该文件将移动到 FTP 服务器上的相关位置。 此处,假设文件传输在临时位置和 FTP 服务器上的相关位置之间是原子的。
注释
使用临时文件夹扩展至 ASCII 文件仅适用于 发送,不适用于 接收。 实现此功能的主要原因是,第三方应用程序在完全写入文件之前不会读取文件。 在 BizTalk 接收文件时,适配器仅在完全读取文件后才会将文件提交到 BizTalk。
注释
在二进制模式下,如果两者之间发生故障,临时 文件夹 属性也可用于恢复文件传输。 这不适用于 ASCII 模式。 对于 ASCII 模式, 临时文件夹 属性仅用于原子文件传输。