使用 FTPS 时需要打开哪些防火墙端口?

34 firewall port ftp

我需要访问供应商站点上的 FTPS 服务器 (vsftpd)。供应商在 ftps 服务器前面有防火墙。我的 FTPS 客户端前面有防火墙。

我知道需要打开端口 990、991 和 989 以控制流量。

我有一些问题:

  1. 从供应商防火墙的角度来看,是否应该为入站和出站流量打开这些端口?
  2. DATA 通道的端口呢?
  3. 我是否必须打开 1000 以上的所有端口?
  4. 我应该对入站和出站流量都这样做吗?

Dav*_*vid 31

我相信 990 左右的端口用于隐式 SSL,这是一种旧的非标准方式来执行 FTP/SSL。现在“正确”的方式是显式 SSL,这意味着您仍然连接到端口 21,然后在发送您的好东西之前协商 SSL。要支持通过防火墙的连接,您需要使用 PASV 模式并硬设置要使用的数据端口。

我相信每个要支持的数据连接至少需要一个端口。如果只是您,您可能只需打开几个额外的端口就可以了。专门为我,我使用 21000-21010。

在 vsftpd.conf 中,我有这两行(以及支持 SSL 的所有其他内容):

pasv_min_port=21000

pasv_max_port=21010

在我的防火墙上,我有一个公共静态 IP,具有到内部 IP 的一对一/静态 NAT,并且只打开了 tcp 端口 21、21000-21010。


pca*_*mic 19

我对 FTP over SSL (ftps) 的理解是它不适用于防火墙和 NAT。在普通的 FTP 会话中,防火墙读取数据连接信息,并修改 NAT,以便防火墙动态打开所需的端口。如果该信息受 SSL 保护,则防火墙无法读取或更改它。

使用 SFTP 或 scp,使网络管理员的工作变得更加容易——一切都发生在服务器的 22 端口上,并且事务遵循正常的客户端/服务器模型。

没有提到的一件事是您的防火墙是否正在执行 NAT,以及它是静态 NAT 还是动态 NAT。如果您的客户端计算机具有静态地址或正在静态 NAT,则您可能不需要进行任何防火墙更改,假设您允许所有出站流量并且服务器仅在被动模式 (PASV) 下运行。

要确切知道您需要打开哪些端口,您需要:

a) 与供应商交谈以获取有关如何配置他们的系统的详细信息。

b) 使用协议分析器,例如 tcpdump 或wireshark,查看来自防火墙外部和防火墙内部的流量

您需要找出哪个端口是控制连接。你列出了 3,这对我来说似乎很奇怪。假设服务器仅在 PASV(被动)模式下工作,您需要弄清楚服务器是如何配置为分配 DATA 端口的。他们是否已将 DATA 通道锁定到单个入站端口?他们是否已将 DATA 通道锁定到小范围或端口?

有了这些答案,您就可以开始配置防火墙了。

  • 被动模式 FTPS 将使用端口号 1024 上的控制端口,因此与非被动模式相比,它与防火墙配合使用效果更好。客户端告诉端口 21 要打开哪个上界端口,因此您可以将客户端配置为“控制在端口 2000 或 2001 上”,然后服务器将打开出站端口 2000 或 2001。大多数 FTP 客户端支持定义特定范围用于“控制”的端口数量,这使得防火墙定义变得容易。 (3认同)

小智 12

我知道这是一个非常古老的线程,但是..

请注意,SFTP 与 FTPS 完全不同。( SSH 与 SSL )

FTPS 以两种方式工作。显式和隐式。Explicit 的安全性较低,因为在初始握手后会在数据传输期间跳过加密 [如果维护数据加密,则可以在服务器端使用 PROT P 进行配置],而 Implicit 也会在握手后保持数据加密。默认的 Explicit FTPS 端口是 21。默认的 Implicit 端口是 990(握手后会自动切换到 989 进行数据传输,如果没有不同的配置)。虽然端口 21 通常被接受为 EXPLICIT FTPS,而 990 被认为是 IMPLICIT FTPS,但实际上,除了 990/989 之外,您将配置的任何端口都将导致 EXPLICIT FTPS,而只有 990/989 将被接受为 IMPLICIT FTPS。

因此,要回答您的问题: - 根据 FTPS 服务器配置,您需要打开端口 21 或 990/989。但是,为了确定起见,您应该联系 FTPS 服务器管理员并询问方向。另外,请记住,对于被动模式,与其他所有 FTP 软件一样,您必须打开其他端口 (TCP/UDP),通常范围为 64000-65000。