我有一台 Web 服务器,IIS 7 在其上托管一个启用 SSL 的站点。
我尝试连接的客户端位于企业 Forefront TMG 后面。该应用程序是 Total Commander - 一个文件管理器外壳,它能够通过在 FTP 连接设置中勾选 SSL/TLS 来连接到 SSL FTP。
当 FF 中的 FTP 访问过滤器启用时,我的连接尝试在 FTP 连接的协商 TLS 步骤上失败。即使我在过滤器的设置中启用允许主动 FTP,也会发生同样的情况。
但是当我完全禁用 FF 上的 FTP 访问过滤器时,我能够正常连接。
如何配置 FF TMG 以允许 FTPS?
答案1
TMG 不支持 FTPS(即 FTP + SSL,而不是 SFTP 或 SSH 文件传输,后者通常可以正常工作)
使用 FTP 过滤器执行 FTPS 确实非常困难,因为 FTP NAT 过滤器会监视 NAT 后面的客户端发送到 FTP 服务器的信息,而加密会导致这些信息不可见。这让 NAT 检查员很恼火。
如果 Total Commander 支持使用 HTTP 代理,您可以通过将其配置为使用 HTTPS 连接(通过古老的 CONNECT-to-get-a-plain-TCP-channel 黑客技术)轻松解决此问题。
为了使其正常工作,您还需要配置 TunnelPortRanges 以允许目标端口就像它是 SSL 一样。 http://technet.microsoft.com/en-us/library/cc302450.aspx
另类选择!
如果(此处列出长名单)
- 您仅使用 PASV(因此有多个出站连接)
- 您的初始连接在端口 21
- 你对客户端使用“所有协议”规则并不感到不满
然后你就可以设置
- TCP 出站协议定义,目标端口 21,未绑定到 FTP 过滤器(“NONFTP FTPS”)
- 允许从客户端 IP 到服务器 IP 的 NONFTP FTPS 规则
- (我假设它只需要锁定到一个客户端和服务器;否则如果您同意的话“任何地方”都可以)
- 紧接着的规则是拒绝具有相同源/目标的 FTP(真正的 FTP)
- 遵循该规则,允许源 IP 和目标 IP 之间的所有出站流量(或至少允许预期端口上的所有 TCP 连接)
并且,这组规则应该排在任何其他允许客户端完全访问所有协议和端口的规则之前。
拒绝 FTP 规则很重要
a) 紧接着使用未绑定应用程序过滤器的协议的特殊 FTP 规则,并且
b) 在任何其他可能允许客户端使用 Good Old FTP 连接到目标 IP 的规则之前(否则 TMG 会优先使用应用程序过滤器的协议定义,而这正是我们不希望看到的 - 我们希望 TMG 将其视为直接 TCP)
我思考这将涵盖所有 FTPS 场景。原理与这。