零信任安全模型概述
各位同学,咱们今天聊聊零信任。说实话,这个名词在安全圈已经火了好几年了。但真正把它讲清楚、用明白的人,其实不多。
我最早接触零信任是在2018年,当时给一家金融客户做安全架构改造。客户说:“我们要上零信任。”我问他们为什么,回答是“因为大家都在做”。嗯,这其实是个典型的误区。零信任不是赶时髦,它是应对现代网络威胁的必然选择。
零信任的核心理念
零信任到底是什么?说白了就一句话:不再信任任何网络位置,只信任经过验证的身份和设备。
传统安全模型是什么思路?内网是安全的,外网是危险的。所以我们在边界上堆防火墙、堆VPN。但现实是,攻击者一旦突破边界,内网就变成了“不设防的游乐场”。我见过太多案例了——攻击者通过一个钓鱼邮件拿到内网权限,然后横向移动,把整个数据中心翻了个底朝天。
零信任的逻辑完全不同。它假设:网络已经被攻破。不管是内网还是外网,每一个访问请求都要经过严格验证。没有默认信任,没有隐式授权。
核心转变:从“基于位置的信任”转向“基于身份和上下文的信任”。网络位置不再是安全决策的主要依据。
NIST SP 800-207 标准解读
聊零信任,绕不开NIST SP 800-207。这份标准是2020年发布的,可以说是零信任领域的“圣经”。我建议每位同学都去读一遍原文,不长,也就60多页。
标准里定义了零信任架构的七个核心组件,我整理成了表格,方便大家对照:
| 组件 | 作用 | 我的一点体会 |
|---|---|---|
| 策略引擎(PE) | 制定访问决策 | 这是大脑,决策逻辑必须清晰 |
| 策略管理员(PA) | 执行策略引擎的决策 | 负责下发配置,别让它成为瓶颈 |
| 策略执行点(PEP) | 在网关处拦截/放行流量 | 我习惯用网关组件来做,性能要够 |
| 身份提供商(IdP) | 管理用户身份和认证 | 建议对接企业已有的AD/LDAP |
| 设备管理(MDM/UEM) | 确保设备合规 | 设备健康度是信任评估的重要输入 |
| 数据安全策略 | 保护数据本身 | 别忘了数据分级和DLP |
| 威胁情报 | 提供实时风险信息 | 动态调整信任等级的关键 |
标准还提出了两种部署模式:网关代理模式和服务网格模式。前者适合传统应用,后者适合云原生。我在实际项目中两种都用过,各有优劣。网关代理模式部署简单,但容易成为单点;服务网格模式灵活,但运维复杂度高。
我的建议:如果企业刚开始做零信任,先从网关代理模式入手。等团队成熟了,再考虑服务网格。别一上来就搞复杂的,容易翻车。
零信任的三大原则
NIST标准里提炼了零信任的三大原则。这三点,我建议你刻在脑子里。
原则一:永不信任
永远不要假设任何请求是安全的。不管来源是内网还是外网,不管IP地址是不是公司分配的,每一个请求都要验证。
我曾经帮一家电商公司做安全审计。他们的数据库只允许内网访问,听起来挺安全对吧?结果呢,攻击者通过一个内网跳板机,直接连上了数据库。为什么?因为内网防火墙默认放行了所有内网流量。这就是“信任”带来的漏洞。
零信任的做法是:即使是内网流量,也要经过策略引擎的评估。没有例外。
原则二:始终验证
验证不是一次性的。用户登录时验证一次,然后全天都信任?不行。零信任要求持续验证。
验证的内容包括:
- 用户身份:是不是本人?有没有被盗号?
- 设备状态:有没有打补丁?有没有安装恶意软件?
- 行为模式:访问时间、地点、频率是否异常?
- 数据敏感性:要访问的数据属于什么级别?
我见过一个真实的攻击场景:攻击者拿到了合法用户的凭证,在凌晨3点登录系统。传统模型不会拦截,因为凭证是有效的。但零信任会检测到“凌晨3点登录”这个异常行为,触发二次验证或直接拒绝。
注意:持续验证不等于每秒钟都弹MFA。那样用户体验会崩溃。正确的做法是:根据风险等级动态调整验证频率。低风险操作,验证间隔可以长一些;高风险操作,立即重新验证。
原则三:最小权限
只给用户完成工作所需的最小权限。不多给,不少给。
这个原则说起来简单,做起来难。我在项目中遇到的最大挑战是:权限粒度怎么定?
太粗了,比如“所有数据库的读权限”,那和没限制差不多。太细了,比如“只能读表A的列B,且行数不超过100”,运维成本又太高。
我的经验是:从业务场景出发,而不是从技术能力出发。先梳理用户的真实工作流,再定义每个步骤需要的权限。比如:
- 开发人员:只需要读生产日志,不需要写权限
- 运维人员:需要重启服务,但不需要访问客户数据
- 审计人员:只能查看日志,不能修改配置
另外,权限应该是动态的。用户角色变了,权限跟着变。任务完成了,权限自动回收。别让权限变成“永久授权”。
知识体系总览
下面这张图,是我梳理的零信任知识体系。它把核心理念、标准框架和三大原则串在了一起。你可以把它当作本章的“思维导图”。
这张图把零信任的三大原则、NIST核心组件和核心理念串在了一起。你可以看到,原则是顶层指导,标准是落地框架,组件是具体实现。三者缺一不可。