FTP/SSL 在带有 portrange 的被动模式下,防火墙上必须打开哪些端口?

FTP/SSL 在带有 portrange 的被动模式下,防火墙上必须打开哪些端口?

我们必须在我们的服务器上使用 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

通常,明确的“主动” FTPS 是端口 990,控制端口是 989。被动与主动相同,但仅意味着除了 989 之外,您还使用服务器上打开的 1024+ 范围内的几个端口(供客户端启动数据连接),具体取决于您如何配置服务器。

我个人更喜欢使用 NULL FTP 服务器,运行隐式端口 22 上的 SFTP,并且仅有单端口实现。

答案4

FTPS 的问题在于,防火墙为处理 FTP 协议怪异现象而实施的所有变通方法都不再起作用。这是因为防火墙无法检查加密连接以动态打开所需的端口。

也就是说:您在服务器软件中为被动 FTP 配置的端口范围需要从客户端向服务器开放。此外,客户端需要知道它必须使用被动模式。我在过去几周进行了第一次 FTPS 部署,它的工作原理正是如此。

(最近 FTPS 的复兴是怎么回事?FTP 是 20 世纪 70 年代一种古老的噩梦协议,为了人类的利益,人们应该远离它,无论是否加密。)

相关内容