有防火墙可以分析通过的流量,并阻止不需要的流量。这些防火墙对加密流量(例如 HTTPS 或 IMAP over SSL)的防护效果如何?
举个例子:防火墙能否区分端口 443 上的 HTTPS 流量和 443 上的安全远程桌面流量?
答案1
在您的具体例子中,是的,这是可能的。
HTTPS 启动与远程端的 TLS 会话。
TLSv1 Client Hello
安全 RDP 启动一个 RDP 会话,在会话的两端之间协商 TLS 安全连接。
X.224 Connection Request (0xe0)
由于会话启动协议不同,状态防火墙应该能够区分 HTTPS 连接启动和其他连接启动。
对于一般情况,防火墙无法检测到 SSH-over-HTTPS 之类的东西,因为 SSH 流量隐藏在 HTTPS 流量中。它能够检测到它的唯一方法是通过启发式分析流量模式,但我不知道有什么可以做到这一点。
对于 IMAP,有两种保护模式。一种是通过 SSL,另一种是通过 TLS。SSL 方法看起来就像 HTTPS 连接,只是端口不同,如果远程端口相同,则它无能为力。另一方面,TLS 是在对话的两端之间协商的,因此会话启动明显不同,并且很容易被检测到。
需要牢记的关键一点是 SSL 会创建一个 TCP 包装器,流量会通过该包装器进行传输。许多协议在协议本身内都包含一种协商安全方法,该方法利用了包装器所使用的大量相同技术,但使用了不同的会话启动方法,这使得其具有可区分性。
答案2
一些防火墙/代理产品可以对 TLS 连接执行“授权中间人攻击”;例如,Squid 称此功能为“SSL 撞击”。执行此操作的代理服务器将具有对 TLS 会话内传输的纯文本数据的完全访问权限。但是,此类代理后面的客户端将获得不同的服务器证书(由代理本身而不是真实服务器提供),这将导致 TLS 错误或警告,除非客户端配置为期望此类证书(通过将代理 CA 证书添加到受信任的根证书列表中)。