Cloudflare Zero Trust / Access / Tunnel

Cloudflare Zero Trust

让员工不用 VPN 就能安全访问公司内网系统,顺便替代掉那台又慢又危险的 VPN 服务器。

安全与身份出现时间 · 2018 年前后50 用户以内免费;之后按席位计费,约 7 美元/人/月起。零信任内网访问SSOVPN 替代
看官方文档

01 它是干嘛的

零信任的核心口号是「永不默认信任,每次访问都验证」。Access 负责判断「你是谁、能不能进这个应用」,Tunnel 负责把内网服务安全地暴露给云端而不开公网端口,两者合起来取代传统 VPN。

02 为什么会有它

VPN 的问题:进了门就等于进了所有房间

传统远程办公靠 VPN:员工先拨号进入公司内网,之后就和坐在办公室一样,能访问内网所有系统。这带来两个老问题:一是权限过大,一个被钓鱼的员工电脑就等于把整个内网交出去;二是体验差,所有流量都绕回总部出口,慢且容易被墙。

另一个隐患是「开端口」。为了让外部访问内部系统,运维往往在防火墙上开个口子把服务暴露到公网,一旦这个服务有漏洞,就等于把门敞开着。

零信任换了一个思路:不做「进内网」这件事,而是对「每一个应用」单独判断身份。员工访问财务系统要过财务组的验证,访问测试环境只需普通身份,权限颗粒度从「整栋楼」缩到「每个房间」。Tunnel 则彻底关掉公网端口——由内网机器主动向外建立长连接,外面的人只能通过这条隧道进来。

03 它怎么工作

身份验证在边缘完成,只有通过策略校验的请求才会沿着已建立的加密隧道抵达内网服务,整个过程不需要暴露公网 IP 与端口。

零信任:不开公网端口也能访问内网① 访问 hr.company.com② 跳转登录③ 校验身份 + 设备合规④ 策略通过才转发⑤ 沿隧道进入内网员工设备在家 / 咖啡馆企业身份源Entra ID / Okta零信任边缘每个请求都验证加密隧道内网主动向外连接内网系统HR / 数据库后台内网不需要开任何公网端口,因此外部扫不到、打不进。策略判定点加密链路
关键在两个细节:验证发生在边缘(第 2-3 步),内网侧只有「主动外连」的隧道(第 4 步),因此防火墙无需开放任何入站端口。

一次零信任访问的完整判定链路

  1. 1
    ① 用户访问内部应用域名

    员工访问 hr.company.com,这个域名解析到 Cloudflare 边缘,而不是内网或某台服务器。

  2. 2
    ② 边缘拦截并要求身份

    Access 判断请求没有有效会话,跳转到企业身份源(如 Entra ID、Google Workspace、Okta)登录。

  3. 3
    ③ 策略引擎评估

    除身份外还可叠加设备合规、所在国家、连接是否被越狱、时间窗口等条件,全部满足才放行。

  4. 4
    ④ 通过隧道转发到内网

    cloudflared 程序在内网机器上主动向外建了隧道,边缘把请求塞进隧道送达目标服务,全程不开公网端口。

  5. 5
    ⑤ 记录与审计

    每次访问的身份、设备、时间、目标全部留痕,事后可追溯,满足合规审计要求。

04 谁在用它

远程与混合办公

员工在家、在咖啡馆访问内部系统,体验等同公网网站,无需拨 VPN。

第三方与外包协作

给外部供应商开通仅限某个系统的访问权限,到期自动失效,无需发 VPN 账号。

消灭公网暴露面

把有漏洞风险的内部后台、数据库管理界面通过 Tunnel 收进内网,只允许白名单身份访问。

开发测试环境按人授权

按团队与项目分配访问权,实习生看不到生产数据库。

05 怎么用

零信任是从「开通 Cloudflare 免费版」到「装一个命令行工具」的改造过程,不需要换掉现有系统。

  1. 01在 Cloudflare 控制台进入 Zero Trust,选择团队名称与免费套餐(50 用户内免费)。
  2. 02在 Settings → Authentication 中接入身份源:Entra ID、Google、Okta 或一次性 PIN 邮件。
  3. 03在内网服务器安装 cloudflared,执行 cloudflared tunnel login 与 tunnel create 建立隧道。
  4. 04配置隧道路由(如 hr.company.com → http://localhost:8080),并作为系统服务常驻。
  5. 05在 Access → Applications 中把域名加进来,编写策略:仅允许财务组邮箱访问,并启用设备健康检查。
  6. 06最后在防火墙关闭原先为该系统开放的公网端口,完成收敛。
在内网机器上建立隧道(典型命令)bash
# 1. 登录并授权(浏览器弹窗,选择域名)
cloudflared tunnel login

# 2. 创建一条隧道,得到隧道 ID
cloudflared tunnel create internal-apps

# 3. 把域名指向隧道(创建 DNS 记录)
cloudflared tunnel route dns internal-apps hr.your-company.com

# 4. 本地快速验证:把内网 8080 端口通过隧道暴露给 Access 管控
cloudflared tunnel --url http://localhost:8080

# 5. 常驻运行(生产环境请安装为系统服务)
sudo cloudflared service install

避坑提示

  • !策略要按「应用」而不是按「网络」来写,一个策略覆盖整个内网等于又变回了 VPN 模式。
  • !务必保留一个应急访问路径(如另一条隧道或堡垒机),避免身份源故障时全员无法登录。
  • !免费版有用户数上限,超过后需升级套餐,规划时先把总人数算清楚。

06 关键概念

零信任(Zero Trust)
不因为你在内网就信任你,每次访问都单独验身份、验设备。
隧道(Tunnel)
内网机器主动向云端建立的加密长连接,外网只能顺着这条连接进来。
身份源(IdP)
企业存放账号的地方,如 Entra ID、Okta、Google Workspace。
SSO
单点登录。一次登录,多个系统通用,不用记十套密码。

07 容易混淆的对比

传统 VPN(OpenVPN、AnyConnect)一次性开通整网权限,管理粗放;成本低但风险大。
Zscaler / Netskope同属零信任赛道的老牌厂商,企业功能更完备,价格与实施门槛也更高。
图软件图鉴

纯静态站点,无后端、无追踪。内容为中文原创撰写,用于帮助非技术读者理解主流软件产品。

关于本站

全部内容在构建时生成
产品名称与商标归各自公司所有

© 2026 软件图鉴Nuxt 4 · Vue 3 · Tailwind 4 · 纯静态