| name | deploying-software-defined-perimeter |
| description | 部署软件定义边界(Software-Defined Perimeter,SDP),围绕各个资源创建动态配置的、以身份为中心的边界,通过"暗云"方法实现零信任访问控制。 |
| domain | cybersecurity |
| subdomain | security-operations |
| tags | ["cybersecurity"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
部署软件定义边界
domain: cybersecurity
subdomain: zero-trust-architecture
author: mahipal
tags: [zero-trust, sdp, software-defined-perimeter, network-access, ztna]
difficulty: advanced
estimated_time: 4-6 hours
prerequisites:
- 理解零信任原则(NIST SP 800-207)
- 了解 CSA 软件定义边界规范
- 熟悉 PKI 和双向 TLS 认证
- 具备网络安全架构经验
概述
软件定义边界(Software-Defined Perimeter,SDP)通过围绕各个资源创建动态配置的、以身份为中心的边界来实现零信任。由云安全联盟(CSA)定义,SDP 通过"暗云"方法使未授权用户无法看到应用基础设施,即在认证和授权之前服务处于隐藏状态。与传统 VPN 不同,SDP 在经过验证的用户与特定应用之间建立一对一加密连接。
本技能涵盖使用 CSA v2.0 规范部署 SDP、实施单包授权(Single Packet Authorization,SPA)、配置 SDP 控制器和网关,以及根据 NIST SP 800-207 要求验证部署。
架构
SDP 组件(CSA 规范)
┌─────────────────────┐
│ SDP 控制器 │
│ - 认证 │
│ - 授权 │
│ - 策略管理 │
│ - 密钥管理 │
└──────────┬──────────┘
│
┌──────┴──────┐
│ │
v v
┌────────┐ ┌────────────┐
│ IH │ │ AH │
│(客户端)│ │(网关) │
│ │ │ │
│ SPA │──│ 受保护 │
│ mTLS │ │ 资源 │
└────────┘ └────────────┘
IH = 发起主机(Initiating Host,用户设备)
AH = 接受主机(Accepting Host,应用网关)
SPA = 单包授权(Single Packet Authorization)
SDP 部署模型
- 客户端到网关:用户设备通过 SDP 网关连接到后端应用
- 客户端到服务器:用户与应用服务器之间的直接连接
- 服务器到服务器:通过 SDP 的工作负载间通信
- 网关到网关:替代传统 VPN 隧道的站点到站点连接
关键概念
单包授权(SPA)
SPA 是一种网络安全机制,SDP 网关默认丢弃所有 TCP/UDP 数据包。在建立任何连接之前,必须发送经过密码签名的单个数据包。网关验证 SPA 数据包后,才为经过身份验证的会话临时开放端口。这使网关对端口扫描器不可见。
双向 TLS(mTLS)
SPA 验证后,客户端和服务器使用 X.509 证书相互认证。这种双向认证防止中间人攻击,确保两个端点都经过验证。
动态配置
SDP 连接基于实时策略评估按需配置。不存在持久性网络隧道;每个会话都单独授权和加密。
流程
阶段 1:SDP 控制器部署
-
部署 SDP 控制器
- 在经过加固的冗余基础设施上安装 SDP 控制器
- 配置 PKI 集成以颁发证书
- 设置认证后端(LDAP、SAML、OIDC)
- 使用应用定义配置策略数据库
- 为所有控制器决策启用审计日志记录
-
配置认证
- 通过 SAML 2.0 或 OIDC 与企业 IdP 集成
- 配置设备证书注册(SCEP/EST)
- 启用多因素认证要求
- 设置证书吊销检查(OCSP/CRL)
-
定义访问策略
- 将用户/组映射到授权应用
- 按应用定义设备态势要求
- 配置上下文条件(位置、时间、风险级别)
- 设置会话持续时间和重新认证间隔
阶段 2:SDP 网关部署
-
部署接受主机(网关)
- 在受保护应用前面安装 SDP 网关实例
- 配置默认丢弃防火墙规则(拒绝所有入站)
- 在指定端口上启用 SPA 监听器
- 使用控制器颁发的证书配置 mTLS
- 设置健康监控和故障转移
-
配置应用定义
- 向控制器注册每个受保护的应用
- 定义后端服务器 IP、端口和协议
- 为多实例应用配置负载均衡
- 设置应用健康检查
阶段 3:客户端部署
-
部署发起主机(客户端)
- 在用户端点上安装 SDP 客户端软件
- 通过自动配置注册设备证书
- 配置 SPA 密钥材料分发
- 测试认证流程:SPA → mTLS → 应用访问
-
验证端到端流程
- 验证 SPA 数据包被网关接受
- 确认使用有效证书的 mTLS 握手成功
- 测试通过 SDP 隧道的应用访问
- 验证未授权访问被阻断(无 SPA = 网关不可见)
阶段 4:运营验证
-
安全测试
- 对 SDP 网关进行端口扫描以确认不可见性(所有端口显示为过滤/关闭)
- 尝试在没有有效 SPA 的情况下连接(必须静默失败)
- 使用已吊销的客户端证书测试(必须被拒绝)
- 尝试从一个授权应用横向移动到另一个未授权应用
- 验证审计跟踪的完整性
-
监控与维护
- 为 SDP 控制器和网关日志配置 SIEM 集成
- 为失败的 SPA 尝试和证书错误设置告警
- 建立证书轮换计划
- 记录 SDP 事件的事件响应程序
验证检查清单
参考资料
- CSA 软件定义边界架构指南 v3
- CSA SDP 规范 v2.0
- NIST SP 800-207:零信任架构
- CISA 零信任成熟度模型 v2.0
- fwknop:单包授权实现