Cloudflare 宣布将 Cloudflare Gateway 和 Data Loss Prevention 与边缘计算平台 Cloudflare Workers 集成,此举将安全 Web 网关从允许、阻止和隔离等固定决策模式,转变为可在安全策略评估路径内部执行自定义代码。
该集成面向 Zero Trust 计划,提供两种从 Gateway 策略调用 Worker 的主要方式:名为 Forward 的新操作目前已进入公开测试阶段;Custom Functions 预计将在 2026 年年底前推出。
转换请求或执行自定义逻辑
Forward 操作充当与策略匹配的请求的内联中介。Worker 会接收 HTTP 请求标头和请求正文,并可在将其发送至源服务前对其进行修改,然后在将响应返回给用户前修改响应。Gateway 负责 TCP 连接、TLS 终止与重新加密、证书管理以及 HTTP 版本协商,因此 Worker 只需负责转换逻辑。
Forward 还可用于执行不会中断请求路径的旁路操作,例如向 Slack 或 PagerDuty 发送警报、将数据记录到 R2、调用 webhook 或更新 KV 存储。Cloudflare 表示,Worker 的调用发生在运行 Gateway 的同一基础设施上,并通过本地调用完成,无需将流量转发经过独立网络。
Custom Functions 则会在策略评估期间调用 Worker,并返回字符串、数字或布尔值。该值可作为 HTTP 或网络策略中的 selector 使用。根据策略阶段的不同,Worker 可以接收包含源 IP 地址、用户身份、设备状态、HTTP 标头和连接数据的上下文。
使用示例
Cloudflare 说明,自定义函数可以读取 JWT 声明并提取用户角色或用户组,然后使用结果允许访问,或将 X-App-Role 等标头添加到发往源服务的请求中。还可以构建拦截页面,要求用户说明访问敏感目标的理由,同时将会话保存到 KV,并通过 Hyperdrive 将审计日志保存到 D1 或内部数据库。
其他用途包括通过外部 sandbox 服务检查文件、在匹配 DLP 规则时发送即时警报,以及执行依赖多个内部来源的风险计算。Cloudflare 明确区分了两条路径:Custom Functions 适用于快速、限定范围且无状态的评估,而 Forward 面向实时请求转换以及请求和响应处理。
扩展 DLP 能力
Cloudflare 还宣布提供用于 DLP 的自定义验证函数。这些函数允许客户使用自己的事实来源,在采取执行决策前验证检测结果。例如,可以验证检测到的 GitHub 密钥是否确实处于活动状态,而不是仅满足类似秘密或令牌的模式。
验证函数会接收一段数据和匹配部分的位置,随后可以调用外部接口,并返回包含匹配度或 veto 决策的结果。这样便能够区分敏感模式的存在,和具体情况是否代表实际泄露或未经授权的使用。
实际会发生什么变化?
Cloudflare 希望减少对由安全团队管理的中间基础设施的需求,例如仅用于读取 JWT 声明或修改标头的 NGINX 集群。但新的灵活性也将部分责任转移给客户代码:使用 Forward 的应用必须经过谨慎设计,以免对用户体验产生负面影响;此外,Custom Function 失败或执行超时后应采取何种备用行为,也需要预先确定。
转发到 Workers 的流量会按普通 Workers 请求计费。这些函数可与 Workers Free、Workers Paid 和 Workers for Enterprise 配合使用,但免费计划会限制执行时间和每日请求数。Cloudflare 表示,两条路径正式公开后将面向所有客户和所有类型的计划,同时计划扩展 Cloudflare One 套件中的集成点,下一步将涉及 Email Security。