传输层安全协议 (TLS) 加密流量占网络流量的绝大部分。由于威胁行为者通常会使用这些加密通道来隐藏恶意活动,因此在流量到达目的地之前对其进行检查至关重要。
安全 Web 代理提供集成式 TLS 检查服务,让您可以拦截和解密 HTTPS 流量。通过了解加密请求,安全 Web 代理可以应用高级安全政策(例如对完整请求路径进行网址过滤和 HTTP 标头检查),从而保护您的环境免受加密隧道中隐藏的威胁。
工作原理
TLS 检查的工作原理是建立两个单独的加密连接,安全 Web 代理充当安全中介。
客户端握手:当客户端尝试连接到外部网站(例如
www.example.com)时,安全 Web 代理会拦截该请求。证书生成:安全 Web 代理与专用 Certificate Authority Service (CA Service) 通信。代理会实时为
www.example.com生成临时证书,该证书由您组织的私有下级 CA 签名。信任验证:然后,客户端会收到该临时证书。
检查点:流量在 Secure Web Proxy 实例中解密。在此阶段,安全政策会应用于纯文本 HTTP 数据。
服务器握手:然后,安全 Web 代理会启动与实际目标服务器的第二个 TLS 连接。流量会被重新加密并发送到目标地址。
主要特性
安全 Web 代理 TLS 检查服务提供灵活且可伸缩的框架,可通过以下功能管理加密流量:
集成式私有信任:与 CA Service 的内置集成可为您的私有 CA 提供由 Google 管理的高可用性存储库。
灵活的信任根:使用现有的本地根证书授权机构 (CA) 对托管在 CA Service 中的从属 CA 进行签名。然后,您就可以直接在 CA Service 中生成和管理全新的根证书。
具体解密:使用
SessionMatcher精确定义要解密的流量。您可以根据以下参数触发 TLS 检查:- 网站域名:使用正则表达式和域名列表匹配特定网站。
- 网络条件:指定特定的来源 IP 地址范围或无类别域间路由 (CIDR) 地址块(例如
10.0.0.0/24),以定义网络边界。 - 布尔逻辑:组合使用多个条件(例如来源 IP 和目标网址)来创建高度具体的安全规则。
可扩缩的政策架构:
专用政策:为每项安全 Web 代理政策分配唯一的 TLS 检查政策和 CA 池,以实现严格隔离。
共享政策:通过在多个代理政策之间共享单个 TLS 检查配置,简化政策管理。
完整的统一资源标识符 (URI) 可见性:检查整个 URI(包括网域、路径和查询字符串,例如
www.example.com/downloads/malware.exe),而不仅仅是网域名。精细的访问控制:使用 TLS 检查来针对网站的特定路径强制执行政策。例如,您可以允许访问
www.example.com/documentation,但屏蔽www.example.com/uploads。
证书授权机构在 TLS 检查中的角色
为了检查加密流量,安全 Web 代理充当可信的中介。这涉及代理、CA 服务和客户端设备之间的协调过程。
客户端信任要求
TLS 检查专为组织对客户端设备(例如受管理的笔记本电脑、服务器或虚拟机 [VM])具有管理控制权的环境而设计。
- 私有信任锚点:由于安全 Web 代理提供的证书是由您的内部 CA 而非公共 CA 签名的,因此只有在预安装了您的私有根 CA 的情况下,客户端才会信任该连接。
- 管理范围:来自非受管硬件的连接通常会触发
Insecure connection警告,因为这些设备缺少您组织的特定信任锚点。
处理拦截失败
即使在受管理的设备上,由于证书锁定,某些连接也无法被拦截。当应用硬编码为仅接受特定公钥或特定公共 CA 链时,就会发生证书固定。
- 证书固定的示例:使用固定的常见服务包括 Windows 和 macOS 系统更新、Google Chrome 更新以及某些高安全性的移动应用。
- 证书固定的结果:当安全 Web 代理出示其签名证书时,应用会检测到该证书与其硬编码的预期不符,并终止连接。
缓解和精准控制
为了防止固定应用的服务中断,或为了维护敏感网站的隐私,您可以使用 SessionMatcher 属性来绕过检查。您可以根据以下参数限制或跳过检查:
证书授权机构配置方法
如需启用 TLS 检查,请使用以下任一方法设置证书授权机构 (CA):
CA Service 中的从属 CA:使用现有的外部根 CA 对存储在 Google Cloud中的从属 CA 进行签名。
外部根 CA:使用外部根 CA 对通过从属 CA 在运行时生成的证书进行签名。
Google 管理的根 CA:直接在 CA Service 中生成新的根证书,以签署您的从属 CA。
如需详细了解这些方法,请参阅创建从属 CA 池。