TLS 检查概览

传输层安全协议 (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 属性来绕过检查。您可以根据以下参数限制或跳过检查:

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

证书授权机构配置方法

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

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

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

  • Google 管理的根 CA:直接在 CA Service 中生成新的根证书,以签署您的从属 CA。

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

后续步骤