Cisco ASA 检查 FTPS(FTP 显式 SSL/TLS)

Cisco ASA 检查 FTPS(FTP 显式 SSL/TLS)

我正在尝试配置我的 Cisco ASA 5505 以代表我的 FTP 服务器打开一个被动端口。有人在运行加密的 FTP 连接(TLS/SSL)时尝试过这个吗?

FTP 客户端日志报告一切正常,直到客户端发出 PASV(并得到正确的命令)然后发出“LIST”命令。

我猜这意味着 ASA 无法检查加密流量?

对此事的任何启示都将非常感激!

答案1

配置 FTPS(隐式或显式)以在 NAT 防火墙后面工作可能会很麻烦。

您说得对,ASA 无法检查 SSL/TLS 加密流量。故障发生在数据通道建立时。无论是主动模式还是被动模式,有关数据通道的 L3(IP)和 L4(端口)信息都会在 FTP/FTPS 控制通道中传输。使用传统 FTP 和 ASA 的 FTP 检查,这些数据会被“检查”和“修复”,以匹配公共/外部/任何接口 IP,并且 ASA 会动态添加允许 ACL 以允许数据通道流量。

使用 SSL/TLS(作为 FTPS 的一部分),ASA 无法看到必要的控制通道详细信息,因此无法“检查”或“修复”使数据通道正常工作所需的内容。因此,您需要在所使用的 FTPS 服务器应用程序中内置一些额外的智能/功能。

功能包括:

  1. 能够设置在控制通道中发送的端口范围,以供被动模式 (PASV) 客户端使用的数据通道使用。
  2. 能够设置在控制通道中发送的 IP 地址,以供被动模式 (PASV) 客户端使用的数据通道使用。
  3. 最后,在防火墙中允许(通过 nat/staticACL)是1号中配置的范围。

    在 Windows 环境中,Cerberus 是一个具有必要特性和功能的出色的 FTP/FTPS/SFTP 服务器。

例如:

假设您的 FTPS 服务器有一个内部 IP 192.168.1.10 和外部 IP 1.1.1.2。

  • 配置您的 FTPS 服务器软件以使用 TCP/35000 到 TCP/35999 作为被动客户端的范围。
  • 配置您的 FTPS 服务器软件以发送 1.1.1.2 作为被动客户端的 IP。注意:Cerberus 会自动检测您的 WAN IP 并自动使用它。Cerberus 还默认配置为不对本地 IP 网络客户端执行此修复(因为这会破坏它们)。Cerberus 很聪明。:)
  • 将 ASA 配置为 NAT(使用静态 NAT 或静态 PAT 范围),以适应 TCP/35000 到 TCP/35999(加上 TCP/21、TCP/990 等)
  • 配置 ASA 以允许 ACL 将 TCP/35000 到 TCP/35999 连接到 FTPS 服务器(加上 TCP/21、TCP/990 等)

现在,当客户端使用隐式或显式 FTPS 从 WAN 连接时,FTPS 服务器将发回正确的 WAN IP 地址(而非其私有地址)和在数据通道中使用的已知范围内的 TCP 端口。由于进行了专门的 NAT 并且 ACL 允许 TCP 端口,因此不需要 ASA 检查/修复。

有趣(关于通过防火墙的 FTP/FTPS/SFTP 的详细参考):FTP 穿越防火墙

相关内容