零信任架构设计与实施指南
2025.06.01
7 min
2.7k 字
// 目录 · contents
前言
传统的”城堡与护城河”安全模型假设内网是安全的,外网是不可信的。随着云计算、远程办公和微服务架构的普及,网络边界变得模糊,这种假设不再成立。零信任架构(Zero Trust Architecture, ZTA)的核心理念是”永不信任,始终验证”(Never Trust, Always Verify)。本文将深入探讨零信任的核心原则和实施方案。
传统安全模型 vs 零信任
graph TB
subgraph "传统模型: 城堡与护城河"
FW1[防火墙/VPN] --> INTERNAL[内部网络]
INTERNAL --> S1[服务A]
INTERNAL --> S2[服务B]
INTERNAL --> S3[数据库]
ATTACKER[攻击者] -.->|突破边界后<br>横向移动自由| INTERNAL
style ATTACKER fill:#d32f2f,color:#fff
end
subgraph "零信任模型: 无边界"
USER[用户/设备] --> PEP1[策略执行点]
PEP1 --> |验证身份+设备+上下文| PA1[服务A]
USER --> PEP2[策略执行点]
PEP2 --> |验证身份+设备+上下文| PA2[服务B]
USER --> PEP3[策略执行点]
PEP3 --> |验证身份+设备+上下文| PA3[数据库]
ATTACKER2[攻击者] -.->|每次访问都需验证<br>横向移动困难| PEP1
style ATTACKER2 fill:#d32f2f,color:#fff
end
零信任核心原则
NIST零信任原则(SP 800-207)
mindmap
root((零信任原则))
身份为中心
所有资源访问<br>需要身份验证
最小权限原则
动态策略决策
假设被攻破
微隔离
持续监控
自动化响应
显式验证
多因素认证
设备合规性
网络位置无关
数据保护
加密传输
数据分类
DLP策略
七大原则详述:
- 所有数据源和计算服务都被视为资源
- 无论网络位置如何,所有通信都必须安全
- 对单个企业资源的访问按会话授予
- 资源访问由动态策略决定
- 企业监控所有资产的完整性和安全态势
- 所有资源认证和授权在访问前严格执行
- 企业收集资产、网络、通信的状态信息以改进安全态势
BeyondCorp模型
Google的BeyondCorp是零信任架构的先驱实践。
graph TB
subgraph "BeyondCorp Architecture"
USER[User + Device] --> AP[Access Proxy<br>入口代理]
AP --> ACE[Access Control Engine<br>访问控制引擎]
ACE --> |查询| TI[Trust Inferer<br>信任推断器]
ACE --> |查询| POLICY[Policy Engine<br>策略引擎]
TI --> DD[Device Database<br>设备数据库]
TI --> UD[User Database<br>用户数据库]
TI --> CERT[Certificate Authority]
POLICY --> |决策| ACE
ACE --> |允许/拒绝| AP
AP --> |安全访问| RESOURCES[Internal Resources]
end
核心组件
1 | |
身份验证(Identity Verification)
多因素认证(MFA)
sequenceDiagram
participant U as User
participant App as Application
participant IdP as Identity Provider
participant MFA as MFA Service
U->>App: 访问请求
App->>IdP: 重定向到认证
U->>IdP: 用户名 + 密码
IdP->>IdP: 评估风险等级
alt 低风险 (已知设备, 常用位置)
IdP->>App: 认证成功 + Token
else 中风险 (新位置)
IdP->>MFA: 请求二次验证
MFA->>U: Push通知 / TOTP
U->>MFA: 确认
MFA->>IdP: 验证通过
IdP->>App: 认证成功 + Token
else 高风险 (异常行为)
IdP->>U: 要求硬件密钥 (FIDO2/WebAuthn)
U->>IdP: 硬件密钥验证
IdP->>App: 认证成功 + Token (受限权限)
end
条件访问策略
1 | |
微隔离(Micro-Segmentation)
微隔离将网络划分为细粒度的安全域,限制横向移动。
graph TB
subgraph "传统网络分段"
direction LR
VLAN1[VLAN 1: Web] --- VLAN2[VLAN 2: App] --- VLAN3[VLAN 3: DB]
NOTE1[粗粒度,VLAN内自由通信]
end
subgraph "微隔离"
WEB1[Web-1] -->|HTTPS only| APP1[App-1]
WEB2[Web-2] -->|HTTPS only| APP2[App-2]
APP1 -->|Port 5432 only| DB1[DB-Primary]
APP2 -->|Port 5432, Read only| DB2[DB-Replica]
WEB1 -.x APP2
WEB2 -.x APP1
APP1 -.x DB2
end
Kubernetes网络策略
1 | |
服务网格实现
1 | |
设备信任(Device Trust)
flowchart TB
DEVICE[设备接入] --> CHECK1{设备已注册?}
CHECK1 -->|否| REGISTER[引导注册MDM]
CHECK1 -->|是| CHECK2{设备证书有效?}
CHECK2 -->|否| BLOCK1[拒绝访问]
CHECK2 -->|是| CHECK3{合规性检查}
CHECK3 --> OS[OS版本最新?]
CHECK3 --> AV[防病毒运行?]
CHECK3 --> DISK[磁盘加密?]
CHECK3 --> FW[防火墙开启?]
CHECK3 --> JAIL[未越狱/Root?]
OS & AV & DISK & FW & JAIL --> SCORE{合规评分}
SCORE -->|合规| FULL[完整访问]
SCORE -->|部分合规| LIMITED[受限访问<br>+修复提示]
SCORE -->|不合规| BLOCK2[拒绝访问<br>+强制修复]
1 | |
持续授权(Continuous Authorization)
零信任不是”一次验证,永远信任”,而是持续评估。
sequenceDiagram
participant U as User Session
participant PDP as Policy Decision Point
participant SIEM as SIEM/UEBA
participant EDR as EDR Agent
loop 每N分钟 或 触发事件
PDP->>SIEM: 查询用户行为异常?
SIEM-->>PDP: 风险评分
PDP->>EDR: 查询设备安全态势?
EDR-->>PDP: 设备合规状态
alt 风险升高
PDP->>U: 要求重新认证
else 设备不合规
PDP->>U: 降级权限或断开
else 正常
PDP->>U: 继续允许访问
end
end
实施路线图
gantt
title 零信任实施路线图
dateFormat YYYY-MM
axisFormat %Y-%m
section 阶段1: 基础
资产盘点与分类 :a1, 2025-01, 2M
统一身份管理 (IdP) :a2, 2025-02, 3M
全面启用MFA :a3, 2025-03, 2M
网络流量加密 (mTLS) :a4, 2025-04, 2M
section 阶段2: 增强
设备管理 (MDM/UEM) :b1, 2025-06, 3M
微隔离 (网络策略) :b2, 2025-07, 3M
条件访问策略 :b3, 2025-08, 2M
日志集中与SIEM :b4, 2025-08, 3M
section 阶段3: 成熟
UEBA行为分析 :c1, 2025-11, 3M
自动化响应 (SOAR) :c2, 2026-01, 3M
持续合规监控 :c3, 2026-02, 2M
红队演练与优化 :c4, 2026-03, 2M
分阶段实施建议
1 | |
技术栈参考
| 领域 | 开源方案 | 商业方案 |
|---|---|---|
| 身份提供商 | Keycloak | Okta, Azure AD |
| 设备管理 | - | Intune, Jamf |
| 网络代理 | Pomerium, Teleport | Zscaler, Cloudflare Access |
| 服务网格 | Istio, Linkerd | Consul Connect |
| SIEM | Wazuh, ELK | Splunk, Sentinel |
| EDR | OSSEC, Velociraptor | CrowdStrike, SentinelOne |
总结
零信任不是一个产品,而是一种安全架构理念。实施零信任的核心要点:
- 身份为中心:所有访问都基于身份验证和授权,而非网络位置
- 最小权限:只授予完成工作所需的最小权限
- 微隔离:即使攻击者进入内部,也无法自由横向移动
- 持续验证:不是一次认证永远信任,而是持续评估风险
- 渐进实施:从身份管理开始,逐步增强设备管理和行为分析
零信任是一个持续的旅程,而非一次性项目。从身份管理和MFA开始,逐步扩展到设备信任、微隔离和持续授权,是最务实的实施路径。
$ echo "comments" · 评论