TLS 检查概览

传输层安全协议 (TLS) 加密流量占 Web 流量的绝大部分。由于威胁行为者经常使用这些加密通道来隐藏恶意活动,因此在这些流量到达目的地之前对其进行检查至关重要。

Secure Web Proxy 提供集成的 TLS 检查服务,可让您拦截和解密 HTTPS 流量。通过了解加密请求,Secure Web Proxy 可以应用高级安全政策(例如对完整请求路径进行网址过滤和 HTTP 标头检查),以保护您的环境免受隐藏在加密隧道中的威胁。

工作原理

TLS 检查的工作原理是建立两个单独的加密连接,其中 Secure Web Proxy 充当安全中介。

  • 客户端握手:当客户端尝试连接到外部网站(例如 www.example.com)时,Secure Web Proxy 会拦截该请求。

  • 证书生成:Secure Web Proxy 会实时为 www.example.com 生成临时证书。根据配置的证书颁发模式,代理会直接从 CA Service 为每个网域请求叶证书,或使用 CA 池中缓存的中间 CA 证书在本地对叶证书进行签名。

  • 信任验证:客户端随后会收到该临时证书。

  • 检查点:流量在 Secure Web Proxy 实例中解密。在此阶段,安全政策会应用于纯文本 HTTP 数据。

  • 服务器握手:Secure Web Proxy 随后会启动与实际目标服务器的第二个 TLS 连接。流量会被重新加密并发送到目标地址。

主要特性

Secure Web Proxy TLS 检查服务提供了一个灵活、可伸缩的框架,可通过以下功能管理加密流量:

  • 集成式私有信任:与 CA Service 的内置集成可为您的私有 CA 提供由 Google 管理的高可用性代码库。

  • 灵活的信任根:使用现有的本地根证书授权机构 (CA) 为 CA Service 中托管的从属 CA 签名。然后,您可以直接在 CA Service 中生成和管理全新的根证书。

  • 特定解密:使用 SessionMatcher 精确定义要解密的流量。您可以根据以下参数触发 TLS 检查:

    • 网站域名:使用正则表达式和域名列表匹配特定网站。
    • 网络条件:定位到特定来源 IP 地址范围或无类别域间路由 (CIDR) 块(例如 10.0.0.0/24),以定义网络边界。
    • 布尔逻辑:组合多个条件(例如来源 IP 和目标网址),以创建高度具体的安全规则。
  • 可扩缩的政策架构:

    • 专用政策:为每个 Secure Web Proxy 政策分配唯一的 TLS 检查政策和 CA 池,以实现严格隔离。

    • 共享政策:通过在多个代理政策之间共享单个 TLS 检查配置,简化政策管理。

  • 完整的统一资源标识符 (URI) 可见性:检查整个 URI(包括网域、路径和查询字符串,例如 www.example.com/downloads/malware.exe),而不仅仅是域名。

  • 精确访问权限控制:使用 TLS 检查对网站的特定路径强制执行政策。例如,您可以允许访问 www.example.com/documentation,但禁止访问 www.example.com/uploads。

  • 中间 CA 支持:通过在本地缓存单个中间 CA 来对叶证书进行签名,而不是直接向 CA Service 发出每个网域的请求,从而降低 CA Service 使用费。如需了解详情,请参阅证书颁发模式。

证书授权机构在 TLS 检查中的角色

为了检查加密流量,Secure Web Proxy 会充当可信中介。这涉及代理、CA Service 和客户端设备之间的协调过程。

客户端信任要求

TLS 检查专为组织对客户端设备(例如受管笔记本电脑、服务器或虚拟机 [VM])拥有管理控制权的环境而设计。

  • 智能体容器信任:在路由来自容器化 AI 智能体(例如在 Cloud Run 或 Google Kubernetes Engine [GKE] 中)的出站 Web 流量时,您必须从 CA 池或私有公钥基础架构 (PKI) 导出根 CA 证书,并将其注入容器的证书信任存储区。例如,您可以配置容器运行时,也可以设置 AGENT_GATEWAY_ROOT_CERTIFICATES 或 SSL_CERT_FILE 环境变量。如需详细了解如何配置根 CA,请参阅“将 Secure Web Proxy 部署为 Agent Gateway”中的设置 TLS 检查。

  • 私有信任锚:由于 Secure Web Proxy 提供的证书由内部 CA 而非公共 CA 签名,因此只有在预安装了私有根 CA 的情况下,客户端才会信任连接。

  • 管理范围:来自非受管硬件的连接通常会触发 Insecure connection 警告,因为这些设备缺少贵组织的特定信任锚。

处理拦截失败

即使在受管设备上,由于证书固定,某些连接也无法被拦截。当应用被硬编码为仅接受特定公钥或特定公共 CA 链时,就会发生证书固定。

  • 证书固定示例:使用固定的常见服务包括 Windows 和 macOS 系统更新、Google Chrome 更新以及某些高安全性移动应用。
  • 证书固定的结果:当 Secure Web Proxy 提供其签名证书时,应用会检测到该证书与其硬编码的预期不符,并终止连接。

缓解和精确控制

为防止固定应用的服务中断或维护敏感网站的隐私,您可以使用 SessionMatcher 属性绕过检查。您可以根据以下参数限制或跳过检查:

  • 目标属性:特定的完全限定域名 (FQDN)。
  • 来源属性:安全标记、服务账号或 IP 地址。
  • 自定义逻辑:使用布尔表达式排除特定流量,同时检查环境的其余部分。

证书颁发模式

Secure Web Proxy 支持两种模式来预配其在 TLS 检查过程中用于解密流量的证书。具体选择取决于您的费用、性能和审核日志记录要求。

如需了解详情,请参阅配置本地中间 CA 签名。

本地中间 CA 签名

如果您将 certificateIssuanceMode 设置为 LOCAL_INTERMEDIATE_CA_SIGNING,Secure Web Proxy 会从 CA 池请求单个中间 CA 证书。代理会缓存此中间 CA,并在本地为所需网域对各个叶证书进行签名。

本地中间 CA 签名证书颁发模式的功能如下:

  • 降低 CA Service 费用:对 CA Service 的请求仅限于中间 CA 的刷新周期(通常每天一次),而不是针对每个网域发生,从而降低了交易费用。

  • 可观测性降低:代理在本地签名的各个叶证书不会记录在 CA Service 审计日志中。

直接叶节点预配

如果您将 certificateIssuanceMode 设置为 DIRECT_LEAF_PROVISIONING,Secure Web Proxy 会直接与每个唯一网域的 CA Service 池通信,以请求叶证书。

直接叶证书预配证书颁发模式的功能如下:

  • 更高的可观测性:每个生成的证书请求都会记录在 CA Service 审计日志中,以便您跟踪和审计所有证书生成活动。

  • CA Service 费用较高:由于请求会发送到每个网域的 CA Service,因此在具有多个唯一网域或代理任务的环境中,此过程可能会导致较高的交易费用。

证书授权机构配置方法

如需启用 TLS 检查,请使用以下任一方法设置证书授权机构 (CA):

  • CA Service 中的从属 CA:使用现有外部根 CA 为存储在 Google Cloud中的从属 CA 签名。

  • 外部根 CA:使用外部根 CA 对在运行时通过从属 CA 生成的证书进行签名。

  • Google 管理的根 CA:直接在 CA Service 中生成新的根证书,用于为从属 CA 签名。

如需详细了解这些方法,请参阅创建从属 CA 池。

后续步骤