我们必须在我们的服务器上使用 FTP over SSL,并使用具有 5 个端口的端口范围进行数据连接。防火墙位于客户端和服务器之间。我们必须知道我们必须在防火墙上打开什么:端口、协议、传入或传出。有人知道这个吗?
答案1
Slacksite 对 FTP 的运行方式进行了很好的解释主动模式与被动模式,有关数据连接行为的明确信息位于RFC 4217,第 7 节。
基本上,假设您的客户端使用被动模式和显式 SSL(例如,在控制端口 21 上进行连接,而不是在隐式 SSL 上进行连接 990),您需要允许从任何客户端高端口范围到服务器的控制端口 21 和 5 个数据端口的传入连接,以及从相应端口到随机高端口的传出已建立的连接数据包。主动 FTP 通常不是一个好主意,因为服务器将尝试主动打开与客户端的连接,如果没有进行相应配置,大多数客户端状态防火墙都不会允许这样做。
答案2
是的,FTPS 在端口使用方面存在很大问题。它对 FTP 协议进行了加密改造,而 FTP 协议是为没有防火墙和黑帽的网络而设计的。
但是 SFTP重大绩效问题处理大文件和高延迟(或长距离)连接。因此,随着带宽改进允许传输更大的文件,SSH/SFTP 的局限性变得更加明显,FTPS 是唯一的其他替代方案。
答案3
答案4
FTPS 的问题在于,防火墙为处理 FTP 协议怪异现象而实施的所有变通方法都不再起作用。这是因为防火墙无法检查加密连接以动态打开所需的端口。
也就是说:您在服务器软件中为被动 FTP 配置的端口范围需要从客户端向服务器开放。此外,客户端需要知道它必须使用被动模式。我在过去几周进行了第一次 FTPS 部署,它的工作原理正是如此。
(最近 FTPS 的复兴是怎么回事?FTP 是 20 世纪 70 年代一种古老的噩梦协议,为了人类的利益,人们应该远离它,无论是否加密。)