mcpField
C
cloudflare-one-migrations

cloudflare-one-migrations

github.com/cloudflare安全3.2k91.7k 次安装今天更新
代码仓库

关于 cloudflare-one-migrations

用于将 Zscaler、Palo Alto、VPN 等安全配置迁移到 Cloudflare One 的规划技能,强调基于导出文件盘点、标明不完整映射,并在启用策略前分阶段验证。

主要功能

  1. 01源配置导出盘点
  2. 02Cloudflare One 映射计划
  3. 03按依赖关系安排迁移
  4. 04分阶段部署指导
  5. 05逐条规则核算
  6. 06验证与回滚关卡

适用场景

  1. 01评估 ZIA 或 ZPA 迁移范围
  2. 02将 Palo Alto 策略映射到 Cloudflare
  3. 03规划 VPN 或 SWG 替换

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cloudflare/skills --skill cloudflare-one-migrations

安装后在 Claude Code 中输入/cloudflare-one-migrations确认已加载。

详细介绍

Cloudflare One 迁移

生成精确配置前,请先检索最新的 Cloudflare 文档、Cloudflare API 架构和源厂商导出文档。

工作流

  1. 确定源技术栈:Zscaler ZIA、Zscaler ZPA、Palo Alto NGFW/Prisma/GlobalProtect、旧版 VPN/SWG/SD-WAN 或其他。
  2. 映射前先索取导出文件和日志。优先使用结构化导出,而非截图或文字摘要。
  3. 建立清单:身份、群组、应用、目标、连接器/隧道、DNS/URL/防火墙/DLP/TLS 策略、对象/列表、位置/站点、例外、命中次数和合规日志记录。
  4. 制定映射计划:源对象、Cloudflare One 目标资源、可信度、前提条件、不支持/部分支持的映射,以及需要人工决策的事项。
  5. 优先创建依赖项:身份/SCIM、连接器/接入点、路由/DNS、列表/对象、TLS 绕过项、Access 应用/策略、Gateway 策略、DLP/CASB、日志记录。
  6. 安全地分阶段实施:使用迁移前缀,默认创建已禁用/审计模式规则,先在小型群组/站点中试点、对比日志,然后扩大部署范围。
  7. 逐一处理所有源规则。每条规则都必须映射到 Cloudflare 对象,或在明确说明原因和安全影响的“未迁移”行中列出。

需要索取的导出文件

  • ZIA:URL 过滤、防火墙过滤、SSL 检查、DLP、自定义 URL 类别、IP 群组、网络服务/服务群组、用户/群组/部门、位置、GRE 隧道和静态 IP。
  • ZPA:应用网段、网段群组、服务器群组、应用连接器/连接器群组、访问策略、IdP/群组映射、专用 DNS 域名、端口和协议。
  • Palo Alto/Prisma:安全/NAT/解密规则、地址/服务对象及群组、URL 类别、HIP 配置文件、GlobalProtect 配置、Prisma Access 远程网络/服务连接配置、区域、标签、日志和命中次数。

映射启发式

迁移评估提示词

  • 源配置覆盖范围:哪些产品在迁移范围内、有哪些可用导出,以及截图或文字摘要是否掩盖了缺失的对象文件。
  • 规则数量和命中数据:按规则类型统计的数量、已停用或过时的规则、零命中规则、高命中规则,以及业务关键例外。
  • 对象依赖关系:地址对象、服务对象、组、自定义类别、网络服务、应用 ID、区域、标签、连接器和服务器组。
  • 身份准备情况:IdP、SCIM/组同步、组名规范化、个人用户规则、本地组、服务账号和承包商身份。
  • TLS/DLP 准备情况:源解密规则、证书固定绕过项、DLP 引擎/配置文件、自定义正则表达式、精确匹配数据,以及负载日志记录要求。
  • 连接准备情况:源隧道/连接器、私有 DNS、拆分隧道或绕过行为、源 IP 保留、出口 IP 允许列表,以及站点到站点要求。
  • 推出准备情况:试点组/站点、并行运行期、回滚负责人、源堆栈停用标准,以及监控/日志比较计划。

特定来源的注意事项

Zscaler ZIA / SWG
  • 自定义 URL 类别通常会拆分为独立的 IP、域名和 URL 列表。应统计生成的列表数量,而不只是源类别数量。
  • 带有 IP 的 ZIA 位置可用作源 IP 列表;它们不会自动成为用于 DNS 策略范围限定的 Gateway DNS 位置。
  • GRE 隧道源 IP 可用于策略条件,但传输迁移属于单独的 Cloudflare Mesh(前称 WARP Connector)或 Cloudflare WAN 工作流。
  • CAUTION/警告行为没有完全对应的 Gateway 功能。应将其视为需要客户明确决策的事项,而不是悄然选择允许或阻止。
  • DLP 引擎和自定义正则表达式通常需要手动重新创建 Cloudflare DLP 配置文件。不得启用占位策略并将其视为已完成 DLP 配置。
  • 网络应用组和不受支持的协议只能部分映射。启用前请先审查。
  • 如果无法使用 SCIM,身份范围限定的源规则会变得过于宽泛,除非添加可强制执行的替代方案,例如用户/电子邮件列表。创建这些规则前,请查看 Gateway 身份选择器。
Zscaler ZPA / Private Access
  • ZPA 应用网段、服务器组和连接器组并非一一对应。Cloudflare 将 Access 应用、隧道路由、DNS 和策略分开管理。
  • 通过 API 创建隧道并不代表连接器部署已完成。请另行规划 cloudflared 的安装、身份验证和源站连通性。
  • 无论 ZPA 连接器组的运行状态如何(AUTHENTICATED、DISCONNECTED 或已禁用),都要为每个组创建一个 Cloudflare Tunnel。状态属于运行层面,而非架构层面。在隧道描述中标记已断开连接或旧版组,并由客户在验证后决定要停用哪些组。
  • 每个组中的每个 ZPA 连接器实例,都对应一个使用该隧道令牌运行的 cloudflared 副本。每组的副本数量应与连接器实例数量一致,以保持相同的拓扑结构。单个隧道令牌支持多个 cloudflared 进程同时运行。建议在同一数据中心的不同主机或子网上安装副本。
  • 对于每个连接器组,找出与其关联的所有服务器组,以及分配给这些服务器组的所有应用网段。这些应用网段中的 IP 地址和 CIDR 网段将成为相应隧道上的 CIDR 路由;域名将成为同一隧道上的主机名路由。如果较大的子网涵盖了应用网段中的所有 IP,优先使用每个子网一条 CIDR 路由,而不是针对每台主机配置 /32 路由。
  • ZPA 绕过对应的是 Cloudflare 中的拆分隧道绕过,而非 Access 的 bypass 决策。绕过规则应映射到 Cloudflare One Client 拆分隧道排除项。这是一个手动配置步骤,无法通过 API 自动化——客户必须通过控制面板,将绕过的域名和 IP 添加到设备配置文件的拆分隧道排除列表中。
  • 无 Agent/浏览器应用可能会按域名拆分为独立的公共主机名 Access 应用。WARP 私有应用仍属于私有目标应用。
  • Cloudflare Access 应用的默认目标数量上限为 5 个主机名。迁移包含大量应用网段的 ZPA 时,请在实施前联系 Cloudflare 客户团队,申请将上限提高至最多 50 个。创建应用前,请确认该上限已在账户中生效;否则,必须将大型网段拆分为多个策略相同的应用,这会大幅增加对象数量。
  • 以 IP 为锚点的应用在迁移前必须明确出口方案:通过客户出口保留源 IP、在可用时使用 Cloudflare 专用出口,或接受必须更新目标服务以允许新的源 IP。这是客户必须做出的决定;若尚未确定,将阻碍实施。
  • 解析器策略可能适用于整个账户。请注意不同站点或虚拟网络之间重叠的私有 DNS 命名空间;更改 DNS 前,请先查阅解析器策略文档。
  • 每条 ZPA 访问策略规则都对应一条可重复使用的 Cloudflare Access 策略。将策略附加到 Access 应用前,先创建所有可重复使用的策略。在默认拒绝的 Gateway Network 环境中,还要创建一条 Network 允许规则,选择器设为“存在带私有地址的自托管 Access 应用”(wirefilter:any(access.private_app[*] in {"*"})),并将其优先级设为高于任何宽泛的 L4 阻止规则;否则,Gateway 会在 Access 策略进行评估之前阻止私有应用流量。
  • 在 ZIA 和 ZPA 组合迁移中,Gateway Network 规则可能会意外阻止 Access 私有应用流量。解决方法是添加上述 Gateway Network 允许规则,并将其优先级设为高于(编号低于)从 ZIA 迁移的阻止规则。启用宽泛的 L4 阻止规则前,请先添加并验证此规则。
Palo Alto / Prisma / NGFW
  • 一条 Palo Alto 规则可能对应多个 Cloudflare 资源。应保留规则意图,而不是规则数量。
  • App-ID、URL 类别、区域、HIP、计划和解密行为很少能完全对应。应标记部分映射,而不是强行制造虚假的等价关系。
  • 应随规则一并导出地址/服务对象和组。若缺少对象导出,可能会出现看似无提示的丢弃,除非明确检测到这一情况。
  • 目标/服务为 any 的宽泛规则和范围很大的 CIDR 需要人工审核。不要自动创建宽泛的兜底规则。
  • 在执行 HIP/设备检查之前,需要先集成 Cloudflare 设备姿态。

注意事项

  • 源导出文件通常会将引用拆分到多个文件中。在判定规则无法映射之前,应先根据对象、服务和组文件解析 ID。
  • 单个用户、本地组、部门和动态应用 ID 通常需要进行身份规范化。SCIM/组同步是使用组选择器的先决条件。
  • Zscaler 的警告行为、Palo Alto 的 App-ID 行为以及 TLS/解密例外可能没有完全对应的选项。应将它们标记为决策点,而不是强行进行 1:1 映射。
  • 尽可能保留源规则顺序和命中次数。只有获得用户批准后,才能停用或删除过时或未命中的规则。
  • 除非用户明确要求且设定了时限,否则切勿创建宽泛的全部放行兜底规则来维持连接。

验证关卡

  • 每个迁移阶段结束后,将 Cloudflare 对象数量与解析出的源对象数量进行比较。若不匹配,则停止迁移。
  • 启用策略之前,审核每个 unsupported、partial、unmapped、needs_identity、needs_posture 和 manual_review 项。
  • SCIM 同步并重新认证后,使用真实的试点用户验证组匹配情况。
  • 在大范围启用 HTTP/DLP 阻止策略之前,测试 TLS 检查和“不检查”行为。
  • 明确保留回滚路径:按前缀停用迁移后的规则、恢复源路由,或还原试点组/站点。
  • 在宣布完成之前,生成源规则核算表,其中列出每条规则的迁移对象、部分映射、未迁移原因、安全影响,以及每项人工操作的负责人。

评估模板

## Migration Assessment

Source stack:
Artifacts reviewed:
Assumptions / missing exports:
Recommended Cloudflare One target:
Mapping summary:
Risks / partial mappings:
Not migrated:
Pilot plan:
Validation:
Rollback:

评论

支持 Markdown