在隔离的安全飞地中设置您自己的服务器 (A)。只允许本系统访问远程 FTP 服务器 (FTP) 的 IP 地址,不允许访问其他任何内容。如果运行 FTP 服务器的供应商也可以限制对您的 IP 的访问,那将是理想的。
然后让您的内部系统 (B) 通过使用 Secure Shell 之类的单向防火墙规则连接到此服务器。
(FTP) <-------(FW)<---(A)<---(FW)<---(B)
(A) Polls the (FTP) server every 10 minutes via script
(B) Polls the (A) server every 10 minutes via script with a 5 min offset.
注意:(FW)可能是同一个防火墙但第三个网络接口
(FTP) <-----(FW)--(B)
|
(A)
重要的是确保 (A) 无法访问 (B) 或您内部网络上的任何其他内容。理想情况下,世界上除了 FTP 服务器之外别无他物。您可能还希望 (B) 在导入之前对 (A) 中的文件运行测试。使用 (A) 上的两个目录来存储已扫描和未扫描的文件也有一些技巧,一旦 FTP GET 完成,文件就会被扫描。这种架构有很多选择。
最后一点:一些供应商使用 FTP,因为他们不知道如何从他们正在使用的系统中使用 SFTP(最明显的是这种情况发生在 AS/400 上)。可以让 AS/400 将文件通过 FTP 传输到其自身的环回地址 (127.0.0.1),然后让您通过 SFTP 访问它们。这比直接使用 FTP 安全得多。同样,您可以让供应商执行与我上面写的相反的操作,将这些文件发送到他们端的 SFTP 服务器,而不是强迫您使用 FTP。
或者,您可以通过 VPN 运行 FTP,该 VPN 仅允许您的组织启动与远程供应商的连接,但不允许他们访问您的网络。