Topics

“脱VPN”后,固定IP依然不能舍弃。小型企业零信任转型的现实解决方案

  • column

您好,我是Liberogic的CTO大冢。

“VPN 似乎快到极限了”

如果您在小公司兼任信息系统负责人,想必曾经有过这样的想法吧。
我们公司也正是如此。

零信任、SASE、摆脱VPN……
这些词我们经常看到,但它们似乎只适用于大企业,而且很难分辨该从哪里入手。

在这样的背景下,拥有约10名员工的网页制作公司Liberogic从VPN迁移到了零信任型架构。
本文将结合实际操作经验,记录迁移的原因、发生的变化,以及存在的弱点。

VPN 已是“接近极限”的信号

我们公司长期以来一直使用办公室路由器的 VPN 功能。
这是一种常见的架构:从家中或外出时先接入公司内网,再从内网访问互联网。
不过,近几年我们一直有以下几点顾虑。

  • “在外工作时请先连接VPN”这一规定,最终只停留在口头要求
  • 咖啡馆、出差地点或客户办公室的 Wi-Fi 有时无法通过 VPN 连接
  • 视频会议和云端文件同步全都经过公司线路,速度很慢
  • 路由器的职责是转发通信,它不会阻止危险网站。

如果有任何一项符合,或许就是重新审视的好时机。

其中最让我在意的是“无法强制所有人都使用 VPN”这一点。
macOS 自带的 VPN 每次启动都需要手动连接。 忘记连接的设备,其流量会在没有任何防护的情况下,直接通过当前网络出口发送出去。

不可信网络的风险正在上升

另外,也简单介绍一下最近发生的一件事。

2026年10月,印度证书颁发机构 eMudhra 的 8 个中间证书被发现私钥遭到泄露。
据 Cloudflare 的解读,由于密钥本身较弱,任何域名的伪造证书都可以被生成。
顺便一提,这些证书在浏览器和操作系统中都是被广泛信任的。

我之前在连接陌生 Wi-Fi 时的风险评估是:如今通信大多使用 HTTPS 而非 HTTP,因此风险相对较低。但读到这里,我觉得这部分还需要重新考虑。

零信任 / SASE / ZTNA 的区别简述

一开始研究时,这里往往最容易混淆。对于小公司来说,如果只掌握到这种程度,我认为已经足够。

术语

简单来说

零信任

不因“在公司内部就是安全的”而放行,而是每次连接时都进行确认的理念

ZTNA

通过确认人员和设备后,才允许连接公司内部系统和应用的机制。可替代VPN

SWG

检查互联网通信并阻止危险网站的机制

SASE

将网络与安全功能统一由云端提供的理念

零信任是一种理念的名称,实现它的服务形式包括ZTNA和SWG,而整合后的整体架构则是SASE,三者之间是这样的关系。

与其一开始就想着“必须导入SASE”,不如从你在VPN上具体遇到什么困扰、想解决什么问题出发,我认为这更适合小型公司。

我们公司几乎没有内部业务系统

提到VPN的一般用途,大概就是从公司外部访问内部业务系统或文件服务器吧。

不过,我们公司几乎没有这类内部机制。日常工作使用的工具基本都是云服务。因此,我们并没有“如何替换内部系统入口”这样的烦恼。

拥有内部业务系统的公司,通常会把这一点作为讨论的核心。

在迁移过程中卡住的是“固定 IP”。

对于开发公司而言,客户服务器的管理界面和 SSH 上往往设置了“只允许从特定 IP 地址访问”的限制。这是出于安全考虑,也是非常正确的运维做法。

而且,我们多年来一直请众多客户“请允许我们的固定 IP 访问”。这项设置可以说是我们长期积累的资产。

零信任类服务也具备从固定 IP 发出通信的功能。
Cloudflare 也提供“专用 egress IP”功能,但它是 Enterprise 套餐的附加功能,前提是签订面向大企业的合同。
对我们这样的小公司来说,很难使用。

此外,一旦出口 IP 发生变化,就需要请所有客户重新修改设置。
这并不现实。

也就是说,我们想要的是以下三点。

  1. 无论身在何处,都不遗漏连接,保护所有人
  2. 普通通信不想特意经过公司中转
  3. 但对于需要的目标地址,仍希望像以前一样从公司固定 IP 发出

我们的选择:防护交给云端,只有出口保留现有固定IP

我们选择的是Cloudflare One。

架构示意:员工的Mac(通过WARP)经由Cloudflare One访问网络;普通网页流量由Cloudflare直接连接,仅发往客户服务器的流量通过公司隧道,并从固定IP发出。
  • 在每台电脑上安装名为 WARP 的软件:启动后即会自动连接,不易出现忘记连接的情况
  • Gateway 阻止访问危险网站:根据全公司统一的规则,拦截与恶意软件、钓鱼网站相关的连接
  • 普通流量直接从 Cloudflare 出站:不经过公司线路
  • 仅客户服务器的流量通过公司固定IP出站:在公司内部放置一台小型设备,通过名为 Cloudflare Tunnel 的通道与公司连接

最关键的一点是,我们可以按目标地址指定“仅这些地址的流量经由公司网络出站”。
对客户而言,访问来源与之前的固定IP完全相同,因此对方无需更改任何设置。

此外,公司内部设备只会主动连接 Cloudflare,无需开放路由器端口,因此不会增加从外部进入公司网络的入口。

当然,像中间证书问题这类情况发生时,无需单纯依赖人工注意,这也是一个重要优势。
在 eMudhra 的问题上,Cloudflare 也表示,只要使用 Gateway 和最新客户端,即可自动获得保护。

有哪些变化

以往

现在

在外部工作

连接VPN后再工作

只需打开PC

忘记连接

容易发生

不易发生

危险网站

依赖各台PC的安全软件

由公司统一规则拦截

Web会议和云服务

全部流量都经过公司网络

不经过公司网络

客户的服务器

来自公司的固定IP

来自公司的固定IP(无变更)

WARP 会在 Mac 开机时同步启动并自动连接。员工无需记住 VPN 的连接步骤,也不必在意各种细节设置。 安全加固往往会增加现场的工作量,而这次反而减少了工作量。 导入之后,我最惊讶的正是这种 UX 的便捷性。

还可以搭建只能通过 WARP 访问的内部应用

Cloudflare One 提供 Access 功能,可以限制访问 Web 应用的用户和设备。利用该功能,可以搭建只能通过 WARP 连接到公司 Cloudflare One 的设备才能访问的应用。

例如,只有同时满足以下两个条件时才允许访问。

  • 已使用公司邮箱登录
  • 通过 WARP 连接到公司的 Cloudflare One

即使 URL 被他人获知,不满足条件的设备也无法打开。这与将内部系统“放在 VPN 内侧”的做法十分接近,却无需使用 VPN 即可实现。

运行在公司服务器上的应用,只要通过 Cloudflare Tunnel 连接,也无需开放端口即可同样得到保护。

接下来介绍的管理应用也采用了这种方式进行保护。

本着 DIY 精神,我们还开发了一款小型管理应用

但仍有一个问题尚未解决。每当客户的服务器增加时,都需要登记“此目标通过固定 IP 发出”的设置;而 Cloudflare 的管理界面术语较多,一旦设置出错,就会影响所有人的通信。同时,也不能将管理员权限交给所有人。

因此,我们开发了一款公司内部应用,工作人员只需选择用途即可完成登记。

我们自主开发的内部应用“EGRESS-CONSOLE”的管理界面
  • 记录谁、出于什么目的进行了注册
  • 无法注册面向全公司使用的服务或范围过大的设置
  • 注册后可以立即确认设置是否已正确生效

Cloudflare 可以通过 API 进行配置操作,因此也能开发这类内部工具。我们平时就在开发 Web 应用,这方面是我们的擅长领域。

关于费用

Cloudflare One 提供最多 50 名用户的免费额度。
这与用于内部工具登录管理的 Cloudflare Access 使用相同的用户额度,因此如果贵公司已经在使用 Access,我想您可以更轻松地试用。
超过 50 名用户时将转为付费方案,公开价格为每位用户每月 7 美元。

固定 IP 线路沿用现有的线路。
另外只需要在公司内放置一台常时开机的设备。
我们准备了一台专用的小型 PC。

坦白说,它并非万能

只写优点也不妥,因此在此也列出需要注意的地方。

  • 如果�隧道中断,将无法通过固定 IP 对外连接:一旦公司内的小型 PC 或线路停止,就无法访问客户的服务器。普通网页仍可访问,但必须设置能够及时发现中断的通知。
  • 对 Cloudflare 的依赖会增加:认证和网络路径都会集中到一家公司。这是便利性的代价。
  • 每台电脑都需要安装:WARP 和证书的设置每台设备需进行一次。智能手机需要更多手动操作。
  • 与客户指定的 VPN 并用时需要确认:根据路由和 DNS 设置,Gateway 的防护可能无法生效。我们在连接手册中说明了具体操作步骤。
  • 并不会检查通信内容:我们不进行 TLS 解密。如果希望对所有通信进行细致检查,则需要另行考虑。
  • 免费套餐的支持并不完善:问题基本上需要自行查找解决。免费套餐下日志的最长保存期限也仅为 24 小时。

适合与不适合的公司

我认为以下这类公司比较适合。

  • 员工数为几人到几十人,且有在外部或远程工作的人员
  • 无法放弃基于固定 IP 的访问限制
  • 以云服务为主,内部服务器较少
  • 至少有一位熟悉的人在旁边,可以边查资料边尝试

相反,如果遇到以下情况,建议考虑其他产品或咨询专业公司。

  • 行业规范要求长期保存日志,或需要详细检查通信内容
  • 公司无法管理的设备较多,无法安装软件
  • 隧道中断时,无人能够应对

总结

此前只是请 Mac 安装杀毒软件,并未具体指定详细设置。这次在导入 Cloudflare One 的同时,我们在公司内部统一配置了 macOS 的各项设置以及杀毒软件的设置。

然而,针对开发者和创作者的攻击日益激烈,需要守护的并不只有这些。Liberogic 还在以下方面持续努力。

依赖包管理
鉴于针对开发者的供应链攻击日益增多,我们不再以“先升级到最新版本”为由随意添加或更新包,而是重新审视引入方式和确认流程。

机密信息管理
API 密钥和 SSH 密钥依据 1Password 的规则进行管理,并尽可能避免在开发环境中以明文形式保存。

最小化权限与定期清查
客户环境及各项服务的账户、密钥和权限仅限于必要范围,并确保项目结束后不再保留这些权限。

经验共享
我们以实际公开的安全事件作为内部学习会的素材,结合“如果是我们,会受到什么影响”,把它们对照到自身环境中思考。

避免发生重大安全事故自然是我们的首要目标,但鉴于公司规模,我们与大型客户的交易较多,必须始终保持稳定的安全标准。
这些工作都不起眼,但我们正在扎实地一步步积累我们能做的事。

如果这些经验能为同样面临类似困扰的公司提供一些参考,我们将深感欣慰。

撰写本文的人

Liberogic技术部门的中坚力量。每当听到“要是有这样的东西就好了,要是能有就方便了”这样的想法,便凭借与生俱来的智慧加以延伸,转眼间就将其实现。沟通能力出众,深受客户喜爱,是本公司的宝贝,同时也是十足的爱猫人士。

大塚 翔

董事 CTO / 首席工程师 / 合同会社猫穴 代表 / 外表不必要地显年轻

查看此员工的文章

以稳健的团队体制和迅速的应对能力为傲

Liberogic 的资深团队积极推动项目,因此深受客户好评。
我们致力于合理配置项目经理与总监,确保整个项目顺利推进。 我们采用按需投入的方式,避免不必要的全员投入导致成本增加,合理分配资源、人尽其才。同时,我们在掌握业务内容、制作与提交报价方面的速度也广受好评。

※ 当社不积极开展 SES 类驻场业务,敬请谅解。

您可以使用 Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webex 等几乎所有主流的项目管理工具和聊天工具。

Web 方面的烦恼,欢迎随时咨询。

案例分析