使用 HTTPS 检查对加密通道进行控制
多年以来,用户一直被建议为执行安全的在线交易,必须使用带有 SSL 的 HTTP (HTTPS)。但是,此安全通道也被用于恶意目的。用户使用 HTTPS 启动交易时,此通信通常是端到端(从用户到目标服务器)加密,从而使在两端之间交换的内容不会由两端之间的任何设备访问。虽然这是需要的行为,但由于您不希望任何人查看您的在线信用卡交易,由此造成的缺点是无法评估此通道内发生的恶意操作。图 4 突出显示了使用 ISA Server 2006 作为防火墙时此操作的主要部分。
图 4 传统 HTTPS 方案
图 4 说明了客户端访问 HTTPS 站点的完整代理方案。总结起来,步骤分为两个主要阶段,概述如下:
阶段 1 – SSL 隧道
- 客户端连接到 Web 代理。
- 客户端发出 SSL 隧道请求:CONNECT malicious.contoso.com:443 HTTP/1.1。
- Web 代理将 malicious.contoso.com 解析为 IP 地址 1.2.3.4。
- Web 代理在 TCP 端口 443 上连接到 1.2.3.4。
- Web 代理将“200 OK”发送到客户端。
阶段 2 – 加密对话
- 客户端与 Web 服务器交换 SSL 握手消息、加密密钥和证书。
- 客户端现在与目标服务器建立了端到端的加密隧道,并将通过此隧道开始进行发送和接收方面的通信。
- ISA Server 使客户端与服务器之间的该隧道保持打开,但不检查通信,因为它没有此功能。
此方案中的阶段 2 存在潜在风险,边缘防火墙并不了解该通道中真正传输的内容。在目标服务器已被劫持并插入了恶意代码的情况下,存在的潜在风险是目标服务器将通过此加密通道发送恶意软件,而客户端将毫不迟疑地接收,因为恶意软件来自理应受信任的连接。
Forefront TMG HTTPS 检查功能可检查通信,并在用户与服务器之间维护单独的加密通道,从而减少此威胁。图 5 说明 Forefront TMG 如何达到此目的。
图 5 运行中的 HTTPS 检查
总结起来,步骤仍分为两个主要阶段,但该过程现在包括检查:
阶段 1 – 客户端请求
- 客户端连接到 TMG 代理侦听器。
- 客户端发出 SSL 隧道请求:CONNECT malicious.contoso.com:443 HTTP/1.1。
- TMG 将 malicious.contoso.com 解析为 IP 地址 1.2.3.4。
- TMG 在 TCP 端口 443 上连接到 1.2.3.4。
- TMG 与服务器协商 SSL 连接并评估证书。
- 如果证书有效可信,则 TMG 将向客户端发送“200 OK”响应。
阶段 2 – 带有检查的加密对话
- 客户端和 TMG 交换 SSL 握手消息、加密密钥和证书。请注意,由于 TMG 使用派生自 Web 服务器证书的信息构建服务器证书,因此客户端相信自身在与 Web 服务器通信。
- 现在,客户端与 Forefront TMG 之间有加密隧道,而 Forefront TMG 与目标服务器之间有加密隧道。Forefront TMG 将能够按以下顺序检查客户端与服务器之间的所有通信:
a) TMG 接收并解密来自目标服务器的加密通信。
b) TMG 将恶意软件检查功能和 NIS 筛选器应用到通信。c) 如果恶意软件和 NIS 筛选器允许,TMG 会加密结果并发送到客户端工作站。
d) 客户端将接收、解密并处理通信。
若要与客户端建立 SSL 握手,Forefront TMG 需要服务器证书。为了创建证书,Forefront TMG 根据原始服务器证书数据创建仿冒证书,并使用 HTTPS 检查 CA 证书对其签名。为确保获得最佳性能,Forefront TMG 维护复制服务器证书的缓存。TMG 将在本地缓存中搜索复制服务器证书,如果未找到证书,则会复制上游服务器证书并放在缓存中。缓存仅存储在内存中。因此,在重新启动防火墙服务后,仿冒证书缓存为空。
注意:缓存的大小(由证书数决定)由 LowLevelSettings.ClonedCertificatesCacheSize COM 属性控制。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22903988/viewspace-631550/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22903988/viewspace-631550/