思科ASA对FTPS(FTP显式SSL / TLS)的检查

我试图configuration我的Cisco ASA 5505代表我的FTP服务器打开一个被动端口。 运行FTP连接encryption(TLS / SSL)时有没有人试过?

FTP客户端日志报告,每一个都在工作,直到客户端发出PASV(并得到一个正确的命令),然后发出一个“LIST”命令。

我想这意味着ASA无法检查encryption的stream量?

对这个问题的任何启发将非常appricated!

configurationFTPS(隐式或显式)在NAT防火墙后工作可能会令人头疼。

您正确的是,ASA无法检查SSL / TLSencryption通信。 数据通道build立时发生故障。 无论处于主动还是被动模式,数据通道的L3(IP)和L4(端口)信息都在FTP / FTPS控制通道中传输。 使用传统的FTP和ASA的FTP检查,这个数据被“检查”和“固定”以匹配公共/外部/任何接口IP,并且ASAdynamic地添加许可ACL以允许数据信道业务量。

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

function包括以下内容:

  1. 能够将控制通道中发送的端口范围设置为被动模式(PASV)客户端使用的数据通道。
  2. 能够将控制通道中发送的IP地址设置为被动模式(PASV)客户端所使用的数据通道。
  3. 最后,在防火墙中,允许(通过nat /静态 ACL)在数字1中configuration的范围。

    在Windows环境下,Cerberus是一个很好的FTP / FTPS / SFTP服务器,具有必要的特性和function。

例如:

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

  • 将您的FTPS服务器软件configuration为使用TCP / 35000至TCP / 35999作为被动客户端的范围。
  • configuration您的FTPS服务器软件将1.1.1.2作为被动客户端的IP。 注意:Cerberus自动检测您的WAN IP并自动使用它。 Cerberus也默认configuration为不对本地IPnetworking客户端执行此修复(因为它会打破它们)。 Cerberus很聪明。 🙂
  • 对于TCP / 35000到TCP / 35999(加上TCP / 21,TCP / 990等),将ASAconfiguration为NAT(使用静态NAT或静态PAT范围)
  • configurationASA到ACL允许TCP / 35000到TCP / 35999到FTPS服务器(加上TCP / 21,TCP / 990等)

现在,当客户端使用隐式或显式FTPS从广域网接入时,FTPS服务器将发回正确的广域网IP地址(而不是其私有地址)和一个已知范围的TCP端口,以用于数据通道。 通过特定的NAT和ACL允许TCP端口,ASA检查/修复不是必需的。

有趣的(在FTP / FTPS / SFTP通过防火墙冗长的参考): FTP通过防火墙