openclaw-cloudflare-secure

🔐 Cloudflare 零信任安全访问方案

基于 Cloudflare 零信任架构,为 OpenClaw WebUI 提供安全公网访问,支持自动 DNS 与身份验证,无需开放端口。

收藏
12.1k
安装
3k
版本
v1.0.0
CLS 安全性认证2026-05-14
点击查看完整报告 >

使用说明

概述

openclaw-cloudflare-secure 是一款面向 VPS 用户的安全网关配置工具,旨在通过 Cloudflare Zero Trust Access 与 Cloudflare Tunnel(cloudflared)技术,为本地运行的 OpenClaw WebUI 构建安全的公网访问通道。该方案彻底避免了传统端口暴露带来的安全风险,通过身份验证层和加密隧道的双重保护,实现企业级的零信任访问控制。

核心用法

使用该技能需要完成以下关键步骤:首先,在 VPS 上安装 cloudflared 客户端并注册为系统服务;其次,通过提供的 DNS 助手脚本(cf_dns.py 及配套 Bash 脚本)自动化管理 Cloudflare DNS 记录,将自定义域名(如 openclaw.example.com)指向隧道端点;接着,在 Cloudflare Zero Trust 控制台中配置 Public Hostname,将隧道流量映射到本地服务(默认 http://127.0.0.1:18789);最后,设置 Access 应用策略,建立明确的允许列表(特定邮箱)与全局阻止规则,确保只有授权用户可访问。

显著优点

该方案的最大优势在于网络架构安全性:服务完全无需向公网开放任何端口,所有流量均通过 Cloudflare 的加密隧道传输,有效规避了扫描攻击和直接入侵风险。其次,权限管理精细化支持基于邮箱的身份验证和最小权限 API Token 配置(仅需 Zone:DNS:Edit 权限),降低了凭证泄露后的影响面。此外,自动化程度高,DNS 记录的创建、删除和切流操作均可通过脚本一键完成,支持从 Tailscale Serve 等方案的平滑迁移,且所有配置均遵循基础设施即代码(IaC)的最佳实践。

潜在缺点与局限性

该方案对外部服务依赖较重,要求用户必须拥有 Cloudflare 域名管理权限,且服务的可用性完全依赖于 Cloudflare 网络状态,一旦隧道服务或 Zero Trust 平台出现故障,将直接影响访问。配置流程相对复杂,涉及 Tunnel、Access、DNS 三个控制台的交互,对初学者有一定学习曲线。此外,功能单一性较强,该技能主要针对 OpenClaw WebUI 场景优化,对于非标准端口或复杂反向代理需求可能需要额外调整。

适合的目标群体

本技能最适合以下用户:拥有自托管 VPS 且需要安全暴露内部 Web 服务的开发者与运维人员;已使用 Cloudflare 托管域名并熟悉 Zero Trust 概念的技术团队;重视安全合规、希望实施零信任架构但缺乏专业网络安全团队的小型企业;以及需要从 Tailscale 等内网穿透方案迁移到更标准的企业级方案的用户。

使用风险

主要风险集中在凭证管理环节:若 CLOUDFLARE_API_TOKEN 环境变量配置不当或泄露,攻击者可能篡改 DNS 记录或劫持隧道配置。建议严格遵循最小权限原则,仅授予特定 Zone 的 DNS 编辑权限。网络供应链风险亦需注意,安装脚本从 GitHub Releases 动态下载 cloudflared 二进制文件,虽源自信官方渠道,但在受限网络环境或遭遇中间人攻击时可能存在完整性风险。此外,系统级服务安装需要 sudo 权限,在共享或不受信任的 VPS 环境中需谨慎操作。建议定期审计隧道日志并启用 Cloudflare 的审计日志功能,以监控异常访问行为。

安全解读

核心用法

本技能提供一套完整的方案,将运行在VPS本地的OpenClaw WebUI(默认http://127.0.0.1:18789)通过Cloudflare Tunnel安全暴露至公网,并配合Cloudflare Zero Trust Access实现身份认证访问控制。

主要功能模块:

1. 隧道服务部署:自动安装cloudflared并配置为systemd服务,通过Token认证建立反向隧道连接
2. DNS智能切换:提供辅助脚本cf_dns.pydns_point_hostname_to_tunnel.sh,自动清理现有DNS记录并创建指向隧道的CNAME记录(<TUNNEL_UUID>.cfargotunnel.com

3. 最小权限DNS管理:支持使用仅具有Zone:DNS:Edit + Zone:Zone:Read权限的API Token,让自动化代理安全地管理子域

4. Tailscale清理:可选移除之前的Tailscale Serve配置

技术亮点:

  • 全程HTTPS加密,无需暴露VPS任何公网端口
  • Cloudflare Access支持邮件白名单授权,自带Block Everyone兜底策略
  • 纯Python标准库 + Bash实现,零第三方依赖

显著优点

| 维度 | 优势 |
|------|------|

安全性 | 零公网暴露面,Cloudflare Access身份墙,TLS全链路加密 |
便捷性 | 一键DNS切换脚本,自动化处理记录冲突 |

权限控制 | 首创"agent-friendly"最小权限Token设计,避免全局API Key泄露风险 |

可维护性 | 无依赖包袱,157行代码清晰易审计 |

回滚能力 | 完整的systemd服务禁用和DNS回切方案 |

潜在缺点与局限性

  • 单点依赖:依赖Cloudflare服务可用性,若Cloudflare故障则服务中断
  • 功能单一:仅针对OpenClaw WebUI场景优化,通用性有限
  • 手动UI配置:Access策略和Tunnel Public Hostname仍需在Cloudflare Zero Trust控制台手动创建
  • 权限警告:仍需sudo执行systemctl操作,虽属必需但需用户审慎授权
  • 地域延迟:国内访问Cloudflare Tunnel可能存在网络延迟

适合人群

  • 拥有自托管OpenClaw Gateway的VPS用户
  • 追求"零信任网络架构"的技术爱好者
  • 需要为内部服务快速获取安全公网入口的开发者
  • 希望避免配置防火墙/Nginx反向代理的简化派用户

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|

API Token泄露 | 中 | 环境变量存储虽安全,但共享环境仍可能暴露 |
供应链攻击 | 低 | 从GitHub下载cloudflared,建议启用SHA256校验(报告已建议) |

DNS配置错误 | 低 | 脚本会清理冲突记录,但误操作可能导致域名解析中断 |

服务中断 | 低 | Cloudflare服务或隧道异常将导致访问失败 |

openclaw-cloudflare-secure 内容

scripts文件夹
手动下载zip · 6.3 kB
cf_dns.pytext/plain
请选择文件