Cloudflare Agent — Seamless Deployment at Scale

一年前,我们推出了 WARP for Desktop,以此为所有人提供快速、私密的互联网通道。对于我们的企业客户,IT 和安全管理员也可使用同一个代理,将其组织中的设备注册到 Cloudflare for Teams。注册完毕后,其团队成员便可加速进入互联网,并通过 Cloudflare 实现从网络防火墙功能到远程浏览器隔离的全面安全性过滤。

当去年推出这款产品时,我们旨在用一套简单的配置选项来尽可能支持最广泛的部署机制,以使您的组织迅速得到保护。我们专注于帮助各组织从任何位置通过 HTTP 和 DNS 过滤来确保用户和数据的安全。我们从支持 Mac、Windows、iOS 和 Android 开始。

自推出以来,已有数千家组织部署该代理,以确保其团队成员和端点的安全。我们已经听到有些客户很希望扩大自己的部署范围,但却需要更多的操作系统支持和对配置的更佳控制。

我们今天隆重宣布:我们的 Zero Trust 代理现已在所有主要平台实现功能同等。除此之外,您还可控制新选项来决定流量的路由,而您的管理员则可协调大规模的部署。凭借目前这个版本,我们已经准备好帮助您完全抛弃您的 IT 团队讨厌的传统 VPN 和网络安全工具。

按比例打造

在我们的 Zero Trust 代理中,最重要的两个因素就是跨平台可靠性和连接可靠性。如果您曾发布过这种规模的软件,您就会知道在所有主要操作系统上维护客户端是一项艰巨(且容易出错)的任务。

为了避免平台陷阱,我们用 Rust 编写了该代理的核心,其允许跨所有设备共享 95% 的代码。在内部,我们将此公共代码称为共享后台程序(或服务,对于 Windows 用户)。一个通用的、基于 Rust 的实现允许我们的工程师可花更少的时间跨多个平台复制代码,同时确保大多数质量得到改进并惠及每个人。

在连接可靠性方面,如果您对传统 VPN 有任何经验,就会知道其很容易出错且速度很慢。我们的网络基础建立在我们自己的 WireGuard 实现(称为 BoringTun)之上。与传统的慢速 VPN 不同,我们通过 UDP 运行,并针对当今用户连接的各种互联网基础设施进行了优化(例如,在飞机上、在咖啡馆里、在城市拥挤的网络中等)。随着规模的逐年增长,我们已拥有数以百万计的消费者设备,BoringTun 借此可确保对您的流量进行加密,并为您任何政策的决策做好准备。

凭借可靠的扩展能力,我们的代理现在完全支持以下操作系统

  • Windows 8.1、Windows 10 和 Windows 11
  • macOS Mojave、Catalina、Big Sur、Monterey
  • 包括对 M1 的支持
  • ChromeBooks(2019 年后制造) (新版)
  • Linux CentOS 8、RHEL、Ubuntu、Debian (新版)
  • iOS
  • Android

为满足您的部署模式而打造

首次推出时,我们的代理重点是加密到 Cloudflare 网络的所有设备流量,并允许管理员围绕流量建立 HTTP 和 DNS 策略 。我们也知道,客户正处于向 Zero Trust 模式迁移的过程中。有时,这种转变需要一步一脚印地进行。

我们用大量时间创建了一些功能,使您不仅能完全替换传统的解决方案,还能与这些传统解决方案一起运行我们的软件,从而确保迁移更顺利。

  • 基于域的拆分隧道——有时,您无需通过安全层来发送所有流量。我们已支持 IP 排除,现在可很容易地用域名(如 *.example.com 或 example.com)创建拆分隧道规则,而不是强迫您去查找特定域名的 IP 地址 CIDR。
  • 仅包含拆分隧道——我们的代理在最初创建时的前提是,所有设备流量已加密并发送到我们的网络。这确保了流量不会被窥探,并允许管理员保持可见性。但是,有时您只是希望将一些流量发送至 Cloudflare,并默认排除其余流量。仅包含拆分隧道可执行这一操作,允许您选择前往我们网络的路线。如果您需要快速替代传统 VPN 以连接到 Cloudflare 隧道资源或只是希望确保对通往敏感基础设施的流量进行 HTTP 检查,请使用仅包含拆分隧道规则。
  • 改进的私有域——有些组织将现有的第三方 VPN 与 Cloudflare 的 Zero Trust 产品一起运行,以开始执行迁移。在过去,我们的代理支持这种配置,方法是让管理员设置回退域名解析,通过 VPN 为某些使用情况发送 DNS 查询。然而,这种操作是全局性的,缺乏对查询发送地点的控制。我们现在新增了指定 DNS 服务器响应私有域的功能,正如本周早些时候讨论的那样,这种功能可与我们新的 Zero Trust 网络功能一起使用。
  • 纯态势模式(即将推出) — 我们之前已经讨论了有关设备态势和我们能力的重要性。在 2022 年第一季度,我们将为代理提供在纯态势模式下运行的能力。也就是说,我们的客户不会处理任何 DNS 请求或向我们发送任何其他流量。这使您能采用 Cloudflare Access 态势策略,而无需为您的用户开启 HTTP 检查。

为实现无缝配置而打造

将任何代理部署到上万个用户可能在后勤方面带来很大障碍。我们构建了 Cloudflare for Teams,以无缝地在您的团队中大规模部署。今天的公告为您提供了更多选项来使用基于 API 和 Terraform 的控制将代理推广到您的整个组织。

自动执行管理任务是使其保持一致的最佳方式。在 Cloudflare,我们在基于 HTTPS 请求和 JSON 响应的一组 RESTful API 基础上构建我们的 UI。这些用于设备管理的相同 API 会通过我们的 API 文档以及通过我们的 Terraform 提供商向用户公开。https://dash.teams.cloudflare.com/ 的 Web 版本中公开的一切内容都通过其中某个界面提供。

作为实现自动化的方法示例,我们会考察一下基于域的拆分隧道。这里有 API 文档Terraform 等效文档,以供参考。

要为 example.com 创建基于域的包含规则:

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/699d98642c564d2e855e9661899b7252/devices/policy/include" \
     -H "X-Auth-Email: [email protected]" \
     -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
     -H "Content-Type: application/json" \
     --data '[{"host":"*.example","description":"Include all traffic to example.com in the tunnel"}]'

在 Terraform 中可以使用以下内容创建这一相同规则:

# Including *.example.com in WARP routes
resource "cloudflare_split_tunnel" "example_split_tunnel_include" {
  account_id = "699d98642c564d2e855e9661899b7252"
  mode       = "include"
  tunnels {
    host        = "*.example.com",
    description = "Include all traffic to example.com in the tunnel"
  }
}

另一个常见任务是生成注册设备的报告。使用设备列表 API,以下示例将显示如何列出向您的组织注册的所有 Windows 设备:

curl -X GET "https://api.cloudflare.com/client/v4/accounts/699d98642c564d2e855e9661899b7252/devices?type=windows" \

curl -X GET "https://api.cloudflare.com/client/v4/accounts/699d98642c564d2e855e9661899b7252/devices?type=windows" \
     --header 'Authorization: Bearer 8M7wS6hCpXVc-DoRnPPY_UCWPgy8aea4Wy6kCe5T' \
     -H "Content-Type: application/json"

运行该命令将返回类似于以下内容的 JSON:

        {
            "created": "2021-12-01T17:14:23.847538Z",
            "device_type": "windows",
            "gateway_device_id": "215f9adc-52ca-11ec-9ece-f240956bdf5f",
            "id": "215f9adc-52ca-11ec-9ece-f240956bdf5f",
            "ip": "150.111.29.1",
            "key": "0mS9vj2gk0KNcXoi50pwfuL49WT0rLGAcX2gVze3ixA=",
            "last_seen": "2021-12-01T17:14:30.110663Z",
            "mac_address": "00:0c:29:6f:11:93",
            "model": "VMware7,1",
            "name": "MYVMWin10",
            "os_version": "10.0.19042",
            "serial_number": "VMware-56",
            "updated": "2021-12-01T17:14:30.110663Z",
            "user": {
                "email": "[email protected]",
                "id": "6a8e079d-8a33-4677-b610-a5e361c0c959"
            },
            "version": "2021.11.278"
        },
        {
            "created": "2021-11-08T23:59:37.621164Z",
            "device_type": "windows",
            "gateway_device_id": "ee02da10-40ef-11ec-bb68-6a56f426bb46",
            "id": "ee02da10-40ef-11ec-bb68-6a56f426bb46",
            "ip": "98.247.211.1",
            "key": "DhUI8nqeVrXL1JFhYbeCFmkeu/XEkkEjVmcZ8UraTDI=",
            "last_seen": "2021-11-08T23:59:37.621164Z",
            "model": "Latitude 7400",
            "name": "CloudBox",
            "os_version": "10.0.19043",
            "serial_number": "7CHR3Z2",
            "updated": "2021-11-23T20:03:12.046067Z",
            "user": {
                "email": "[email protected]",
                "id": "39663a0d-9f7c-4a24-ae7f-f869a8cf07f1"
            },
            "version": "2021.11.34"
        },

专为所有人进行管理而构建

作为今天的发布的一部分,我们还宣布与 MDM 提供商建立合作伙伴关系,以便您可以为用户部署软件。我们也知道,一些组织还没有 MDM,或者其管理部署的管理员偏好可视用户界面。

在未来几周,我们将在测试版中开启直接从仪表板管理客户端行为的各个方面的功能。这样一来,您可以立即对客户端配置进行更改,而无需推送客户端的新版本。

敬请期待

明年,我们会加倍努力提高部署后的客户端的可支持性和灵活性,这对于客户端来说是个令人振奋的好消息。我们特别想交付的一些功能包括:

  • 按用户/组进行设备设置,您将能够为不同的用户指定客户端设置(例如,允许谁进行更新、拆分隧道规则,等等)
  • 纯状态模式,允许您在尚未针对 Cloudflare Gateway 做好准备时上线更多 Cloudflare Access 状态控件
  • 更多 Linux 发行版本支持,这样可以保护您组织中的所有人
  • 遥测和分析,涉及您组织中的设备的表现情况,与我们的客户端和流入 Cloudflare 的网络的流量相关

立即进行连接

您可以在下面找到我们的所有客户端的所列示下载:

Windows 下载测试版 下载版本
macOS 下载测试版 下载版本
Linux 设置存储库 下载程序包
iOS 下载版本
Android/Chrome 下载版本