1. 场景:VPN成为最大安全黑洞
2025年9月的一个周一早晨,我负责的某中型企业IT系统遭遇了一次严重的勒索攻击。事后溯源发现,攻击链路异常清晰:一位远程办公员工的笔记本电脑被钓鱼邮件植入木马 → 木马潜伏2周窃取VPN凭证 → 攻击者通过VPN拨入内网 → 利用SMB漏洞横向移动 → 3台核心业务服务器被勒索软件加密 → 业务中断14小时,直接损失超过200万元。
VPN的核心问题是过度信任。 一旦用户通过VPN认证接入,就获得了整个网段的访问权限,相当于把一台不受控的终端直接放进内网。这台终端是否装了杀毒软件?OS补丁是否更新?有没有恶意进程?VPN一概不管。
这次事件成了转折点。 安全团队调研后决定引入阿里云SASE(安全访问服务边缘),将网络架构从"城堡式"彻底转向"零信任"——不再信任任何网络位置,每次访问都必须经过身份验证、设备评估和最小权限授权。
2. 传统VPN的5大安全痛点
在决定迁移之前,我们先系统梳理了传统VPN方案的核心问题:
痛点1:过度信任——一张门票逛全城
VPN认证通过后,用户获得整个内网网段的访问权限。开发人员能访问财务系统,运维人员能访问代码仓库,一个账号被攻破等于全盘沦陷。
传统VPN访问模型:
用户 → VPN认证 → 获得内网IP → 可访问内网所有资源(192.168.0.0/16)
零信任访问模型:
用户 → 身份认证 + 设备评估 → 按策略访问授权应用 → 仅可见已授权资源
痛点2:无设备评估——带病终端直入内网
VPN完全不关心接入设备的健康状态。一台没有杀毒软件、系统补丁缺失、甚至已经被植入后门的笔记本电脑,只要凭证正确就能接入内网。
痛点3:无应用级控制——网络层授权粒度太粗
VPN只能做到网络层(IP/端口)的访问控制,无法做到应用级授权。不能限制"只能访问OA系统的审批模块",只能限制"能访问OA服务器所在的网段"。
痛点4:审计缺失——出了事追查困难
VPN只记录"谁在什么时间连接/断开",不记录"访问了哪些应用、做了什么操作"。勒索事件溯源时,我们花了3天才还原攻击者的完整操作轨迹。
痛点5:性能差——远程办公体验糟糕
VPN隧道封装导致延迟增加30-50%,高峰期带宽争抢严重。海外分支访问国内内网应用时,延迟超过500ms,视频会议频繁卡顿。
3. SASE零信任架构解析
3.1 架构全景
阿里云SASE的核心思想是:身份是新的边界,设备是信任的基础,应用是授权的粒度。用户不再"接入内网",而是"访问已授权应用"。

3.2 四大核心机制
身份认证(Identity Verification)。 每次访问应用前,用户必须通过身份认证。支持多因素认证(MFA),对接企业AD/LDAP、钉钉、企业微信等身份源,确保"你是你声称的那个人"。
设备评估(Device Posture)。 评估终端设备的安全状态:OS版本、补丁级别、杀毒软件状态、磁盘加密、是否有恶意进程。不合规设备将被降级访问或直接拒绝。
应用代理(Application Proxy)。 用户不再直连内网应用,而是通过SASE应用代理访问。内网应用零暴露公网,所有流量经代理转发,实现应用级访问控制。
持续验证(Continuous Verification)。 不同于VPN的一次认证终身有效,SASE在用户访问过程中持续评估信任等级。设备状态变化、异常访问行为都会触发重新认证或降权。
3.3 SASE vs VPN 核心对比
| 维度 | 传统VPN | 阿里云SASE |
|---|---|---|
| 信任模型 | 网络位置信任(内网=安全) | 零信任(持续验证) |
| 授权粒度 | 网段/端口级 | 应用/功能级 |
| 设备评估 | 无 | OS/补丁/杀毒/加密全量检查 |
| 内网暴露 | 全网段可达 | 零暴露,仅代理授权应用 |
| 审计能力 | 连接日志 | 全链路访问审计 |
| 性能体验 | 隧道封装,延迟高 | 代理直连,延迟低 |
| MFA支持 | 额外配置 | 内置集成 |
4. SASE配置实战
4.1 身份源对接
为什么需要先对接身份源?因为零信任的第一原则是"身份即边界",没有可靠的身份源,后续的设备评估和访问策略都无从谈起。
对接企业AD/LDAP。
在SASE控制台进入「身份管理 → 身份源配置」,选择LDAP协议:
# LDAP身份源配置
身份源类型: OpenLDAP / Active Directory
服务器地址: ldap://10.0.1.100:389
Base DN: dc=company,dc=com
绑定DN: cn=admin,dc=company,dc=com
同步策略:
同步范围: ou=employees,dc=company,dc=com
同步频率: 每30分钟
用户过滤: (objectClass=person)(employeeType=active)
组织映射: ou字段 → SASE部门
对接钉钉/企业微信。
对于没有AD的中小企业,钉钉和企业微信是更轻量的选择:
# 钉钉身份源配置
身份源类型: 钉钉
应用Key: dingxxxxxxxxx
应用Secret: ********
同步策略:
同步范围: 全组织
同步频率: 每15分钟
部门映射: 钉钉部门 → SASE部门
角色映射: 钉钉角色 → SASE用户组
配置MFA多因素认证。
在身份认证基础上强制开启MFA,防止凭证泄露导致越权访问:
# MFA策略配置
MFA类型: TOTP(基于时间的一次性密码)
强制范围: 全部用户
例外策略:
- 条件: 设备信任分 ≥ 90 且 内网IP
动作: 免MFA(可信设备免验证)
- 条件: 访问敏感应用(ERP/财务)
动作: 强制MFA + 短信验证
4.2 设备信任评估
为什么设备评估是零信任的关键?因为身份认证只能保证"你是你",不能保证"你的设备安全"。一个被盗用的合法账号在一台被植入后门的设备上,等同于攻击者本人。
配置终端安全检查策略。
在SASE控制台进入「终端管理 → 信任评估策略」:
# 设备信任评估规则
评估维度:
- 操作系统版本:
Windows: ≥ Win10 21H2
macOS: ≥ 13.0 (Ventura)
不合规动作: 降级为只读访问
- 系统补丁级别:
要求: 30天内安装最新安全补丁
不合规动作: 拒绝访问敏感应用
- 杀毒软件:
要求: 必须运行以下之一
- Windows Defender(实时保护开启)
- 360企业版
- 火绒企业版
不合规动作: 拒绝所有应用访问
- 磁盘加密:
Windows: BitLocker已启用
macOS: FileVault已启用
不合规动作: 降级为只读访问
- SASE客户端版本:
要求: 最新版本 ± 1个版本
不合规动作: 提示升级,7天后强制
- 越狱/Root检测:
要求: 未越狱/未Root
不合规动作: 拒绝所有应用访问
设备信任评分机制。
SASE根据以上检查项综合计算设备信任分(0-100分),信任分决定访问权限:
| 信任分 | 信任等级 | 可访问范围 |
|---|---|---|
| 90-100 | 高度可信 | 全部授权应用,正常权限 |
| 70-89 | 基本可信 | 非敏感应用,部分功能受限 |
| 50-69 | 低信任 | 仅OA基础功能,禁止文件下载 |
| 0-49 | 不可信 | 拒绝所有访问 |
4.3 应用访问策略
为什么需要应用级访问策略?因为最小权限原则要求每个用户只能访问其工作所需的最少资源,而不是整个内网。
配置应用接入。
在SASE控制台进入「应用管理 → 应用接入」,逐一添加内网应用:
# OA系统应用配置
应用名称: 内部OA系统
应用类型: Web应用
内网地址: http://10.0.1.50:8080
公网映射: oa.sase.company.com(SASE自动分配)
证书: 自动申请HTTPS证书
健康检查:
路径: /health
间隔: 30秒
超时: 5秒
配置访问策略。
# OA系统访问策略
策略名称: OA系统-标准访问
应用: 内部OA系统
授权用户组:
- 全体员工(基础功能)
- OA管理员(全部功能)
授权条件:
设备信任分: ≥ 70
IP白名单: 无限制(远程办公场景)
时间策略: 工作日 07:00-23:00
地理位置限制: 中国大陆
策略名称: OA系统-财务模块
应用: 内部OA系统 → 财务审批模块
授权用户组:
- 财务部
- 高管团队
授权条件:
设备信任分: ≥ 90
强制MFA: 是
时间策略: 工作日 09:00-18:00
IP白名单: 办公室网段 + 指定家庭IP
4.4 内网应用零暴露
为什么内网应用不能暴露公网?因为暴露公网就意味着任何人都可以尝试攻击,而SASE的零暴露模式让攻击者连目标都看不到。
SASE应用代理工作原理。

关键配置点:
# 内网应用零暴露配置
网络模式: 私网连接(PrivateLink)
内网应用安全组:
- 入方向: 仅允许SASE代理网关IP段
- 入方向: 拒绝所有其他公网/内网访问
- 出方向: 允许必要的外部依赖
DNS配置:
内网DNS: 将应用域名解析到内网IP(10.0.1.50)
公网DNS: 不解析(不暴露)
SASE DNS: 解析到代理网关地址
4.5 数据审计与DLP
为什么审计和DLP是最后一道防线?因为即使身份和设备都可信,合法用户也可能无意或有意泄露敏感数据,审计提供追溯能力,DLP提供实时拦截能力。
配置全链路访问审计。
# 访问审计配置
审计范围: 全部已接入应用
审计内容:
- 访问日志: 谁、何时、从哪里、访问了哪个应用
- 操作日志: 点击了哪些页面、执行了哪些操作
- 文件操作: 上传/下载/预览/删除
- 数据导出: 报表导出、批量下载
日志存储:
存储服务: SLS日志服务
保留周期: 180天(满足等保要求)
实时告警: 异常行为触发钉钉/短信告警
配置DLP数据防泄漏策略。
# DLP策略配置
策略名称: 敏感数据外发防护
检测范围: 所有应用的文件下载/复制操作
检测规则:
- 身份证号: 正则匹配 /\d{
17}[\dXx]/
- 手机号码: 正则匹配 /1[3-9]\d{
9}/
- 银行卡号: Luhn算法校验
- 关键字: "机密"/"绝密"/"内部资料"
响应动作:
低敏感: 记录审计 + 钉钉告警通知管理员
高敏感: 阻断操作 + 弹窗提示 + 管理员审批
批量导出(>100条): 强制阻断 + 安全事件工单
5. 迁移实施:三阶段切换
迁移不能一刀切——VPN承载着所有远程访问,任何中断都是生产事故。我们采用三阶段渐进式迁移,确保业务零中断。
5.1 阶段1:并行运行(第1-2周)
目标: VPN和SASE双通道并存,灰度验证SASE可用性。

关键操作:
# 灰度切流策略
灰度范围: IT部门(20人)
灰度比例: 10%流量走SASE
回滚策略: 一键切回VPN全量
并行期监控指标:
- SASE连接成功率: ≥ 99.5%
- SASE访问延迟: ≤ VPN延迟 × 1.2
- 用户投诉数: ≤ 2件/天
- 设备信任评估准确率: ≥ 95%
此阶段验证的核心问题:
- SASE客户端在不同OS(Windows/macOS/Linux)上是否稳定
- 身份源同步是否准确、延迟是否可接受
- 设备信任评估是否误判(把合规设备判为不合规)
- 内网应用通过代理访问是否有兼容性问题
5.2 阶段2:核心系统迁移(第3-4周)
目标: OA、代码仓库、内部Wiki逐个从VPN切换到SASE。
# 核心系统迁移顺序
第1批(第3周初): OA系统、内部Wiki
切换方式: VPN中移除OA/Wiki的路由,仅SASE可访问
观察: 3天无异常后继续
第2批(第3周末): 代码仓库(GitLab)、CI/CD平台
切换方式: 代码仓库流量切换到SASE
注意: 确保Git clone/push通过代理无性能损耗
观察: 3天无异常后继续
第3批(第4周): ERP系统、财务系统
切换方式: ERP/财务切换到SASE + 强制MFA
注意: 财务系统敏感度高,提前与财务部确认访问体验
切换时的网络配置变更:
# 切换前后安全组对比(以OA系统为例)
切换前(VPN访问):
入方向: 允许 VPN网段 10.0.100.0/24 → 10.0.1.50:8080
入方向: 允许 办公室网段 10.0.1.0/24 → 10.0.1.50:8080
切换后(SASE访问):
入方向: 允许 SASE代理网关 10.0.200.0/24 → 10.0.1.50:8080
入方向: 允许 办公室网段 10.0.1.0/24 → 10.0.1.50:8080
入方向: 删除 VPN网段规则
5.3 阶段3:VPN下线(第5-6周)
目标: 全量切换到SASE,关闭VPN服务。
# VPN下线检查清单
前置条件:
- 所有应用已迁移到SASE ✓
- 连续7天无VPN访问记录 ✓
- SASE连接成功率 ≥ 99.9% ✓
- 用户满意度调查通过 ✓
下线步骤:
1. VPN服务设为只读(不再接受新连接)
2. 保留3天观察期,监控是否有遗漏访问
3. 第4天关闭VPN服务进程
4. 第7天回收VPN服务器资源
5. 更新网络拓扑文档和安全策略文档
6. 安全效果对比
迁移完成后6个月,我们统计了5个维度的安全效果:
| 维度 | VPN时期 | SASE时期 | 变化 |
|---|---|---|---|
| 攻击面 | 全网段暴露(65535端口) | 仅5个应用域名可被发现 | ⬇️ 缩减92% |
| 横向移动风险 | 高(网段内自由移动) | 零(应用间隔离) | ⬇️ 降为零 |
| 审计覆盖率 | 30%(仅连接日志) | 100%(全链路审计) | ⬆️ +233% |
| 设备合规率 | 45%(无检查机制) | 98%(强制信任评估) | ⬆️ +118% |
| 平均访问延迟 | 180ms(VPN隧道封装) | 95ms(代理直连) | ⬇️ 降低47% |
关键数据说明:
- 攻击面缩减92%: VPN时期内网65535个端口对远程用户全部可达,SASE时期仅暴露5个应用的HTTPS端口,且需要身份+设备双重认证
- 横向移动降为零: SASE代理模式下用户只能访问已授权的单个应用,无法扫描或访问其他内网资源
- 审计覆盖率100%: 从"谁连了VPN"升级到"谁在什么设备上访问了哪个应用的哪个操作"
7. 踩坑实录
坑1:SASE客户端与杀毒软件冲突
现象: Windows终端安装SASE客户端后,360企业版频繁报病毒警告,SASE客户端反复被隔离,导致用户断连。
根因: SASE客户端的内核驱动(网络过滤器)被360误识别为Rootkit行为。
解决:
# 360企业版排除规则
排除路径:
- C:\Program Files\Alibaba\SASE\**
- C:\ProgramData\Alibaba\SASE\**
排除进程:
- sase-client.exe
- sase-filter.sys
- sase-daemon.exe
# 长期方案:与360企业版厂商沟通白名单
白名单方式: 数字签名白名单(Alibaba Cloud SASE签名)
经验: 在灰度阶段就要覆盖所有杀毒软件组合测试,不要等到全面铺开才发现兼容问题。
坑2:内网DNS解析失败
现象: 用户通过SASE访问内部Wiki时,浏览器显示DNS解析失败,但通过IP直连可以访问。
根因: SASE客户端接管了DNS,但内网域名(wiki.internal.company.com)在公网DNS上无法解析,而SASE的DNS分流规则未正确配置内网域名回源到内网DNS。
解决:
# SASE DNS分流配置
DNS分流规则:
- 域名后缀: .internal.company.com
DNS服务器: 10.0.1.1(内网DNS)
- 域名后缀: .company.local
DNS服务器: 10.0.1.1(内网DNS)
- 其他域名
DNS服务器: 系统默认DNS
# 验证命令
nslookup wiki.internal.company.com 10.0.1.1
经验: 迁移前必须梳理所有内网域名清单,逐条配置DNS分流,遗漏任何一个都会导致应用不可访问。
坑3:大文件上传超时
现象: 开发人员通过SASE上传代码仓库的大文件(超过500MB的构建产物)时,频繁超时失败。
根因: SASE代理默认的连接超时为60秒,大文件上传需要更长时间;同时代理缓冲区较小,大文件需要分块传输。
解决:
# SASE代理超时配置
代理超时:
连接超时: 30秒
读取超时: 300秒(5分钟)
写入超时: 300秒(5分钟)
传输优化:
分块大小: 8MB
启用压缩: 是(对文本类文件有效)
断点续传: 启用
# 对于超大文件(>1GB),建议走内网直传
特殊策略:
条件: 文件大小 > 1GB
动作: 引导用户使用内网SFTP上传
经验: SASE代理适合常规Web应用访问,大文件传输场景需要特殊优化或走专用通道。
坑4:老旧应用不支持现代TLS
现象: 内部一个2018年部署的旧版OA子系统,通过SASE代理访问时返回SSL握手失败。
根因: SASE代理网关强制使用TLS 1.2+,而旧版OA仅支持TLS 1.0和过时的加密套件。
解决:
# 方案1(推荐):升级旧版OA支持TLS 1.2
# 但改造周期长,短期不可行
# 方案2(过渡):为该应用单独配置TLS策略
应用: 旧版OA子系统
TLS策略:
最低版本: TLS 1.0
加密套件: 兼容模式(包含旧套件)
安全告警: 开启(每次访问记录低版本TLS告警)
# 方案3(终极):在旧版OA前加Nginx反向代理
Nginx配置:
listen 443 ssl http2
ssl_protocols TLSv1.2 TLSv1.3
proxy_pass http://10.0.1.60:8080 # 旧版OA内网地址
经验: 迁移前对所有内网应用做TLS版本摸底,提前规划老旧应用的升级或兼容方案。
坑5:多品牌终端信任评估不一致
现象: Windows终端的设备信任评分正常,但macOS和Linux终端的杀毒软件检测项始终不合规,导致信任分偏低被降权。
根因: SASE默认的设备检查策略以Windows为模板,macOS和Linux的杀毒软件检测规则不同(macOS没有传统杀毒软件概念,XProtect不被识别为杀毒软件)。
解决:
# 按平台差异化配置设备评估策略
Windows策略:
杀毒软件: 必须运行(Defender/360/火绒)
磁盘加密: BitLocker
防火墙: Windows Firewall开启
macOS策略:
杀毒软件: 不强制(macOS安全机制不同)
磁盘加密: FileVault必须开启
防火墙: 应用防火墙开启
Gatekeeper: 必须开启
XProtect: 版本必须最新
Linux策略:
杀毒软件: ClamAV可选
磁盘加密: LUKS推荐但不强制
防火墙: iptables/firewalld开启
内核版本: ≥ 5.4
经验: 零信任不是一刀切,不同平台的安全基线不同,信任评估策略必须按平台差异化配置。
8. 最佳实践
8.1 迁移决策树
不是所有企业都适合立即迁移SASE,以下决策树帮助判断:

8.2 零信任安全检查清单
迁移完成后,逐项检查确保零信任架构真正落地:
身份安全:
□ 身份源已对接并稳定同步
□ MFA已强制开启(至少关键应用)
□ 账号生命周期管理(入职/离职自动同步)
□ 异常登录告警(异地/异常时间/新设备)
设备安全:
□ 设备信任评估策略按平台差异化配置
□ 不合规设备自动降权/拒绝
□ 设备注册和注销流程完整
□ 个人BYOD有独立的受限策略
应用安全:
□ 所有内网应用零暴露公网
□ 访问策略遵循最小权限原则
□ 敏感应用有额外的MFA/时间/IP限制
□ 应用健康检查和故障自动切换
数据安全:
□ 全链路访问审计已开启
□ DLP策略覆盖敏感数据类型
□ 审计日志保留期满足合规要求
□ 异常数据外发自动告警
运维安全:
□ VPN已下线或仅保留应急通道
□ 安全组规则已更新(仅SASE代理可达)
□ 迁移文档和应急预案已归档
□ 定期进行零信任架构安全演练
📜 真实性声明
本文所有内容均基于作者在2025年9月至2026年2月期间参与的某企业零信任架构迁移项目中的真实经验。所有案例、配置和踩坑记录均来自实际迁移过程,经过实践验证。为保护商业机密,部分敏感信息已做脱敏处理,但技术细节保持完整和真实。
如有任何疑问,欢迎在评论区交流讨论。