关于 deploying-software-defined-perimeter
面向安全架构人员的 Software-Defined Perimeter 部署与验证技能,涵盖 CSA SDP 组件、访问控制和零信任检查。
主要功能
- 01CSA SDP 部署流程
- 02SPA 与 mTLS 配置
- 03控制器和网关设置
- 04访问策略设计
- 05NIST 零信任验证
适用场景
- 01规划 SDP 部署
- 02配置网关访问控制
- 03核验零信任部署要求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill deploying-software-defined-perimeter安装后在 Claude Code 中输入/deploying-software-defined-perimeter确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
部署软件定义边界
前置条件
- 理解零信任原则(NIST SP 800-207)
- 了解 CSA 软件定义边界规范
- 熟悉 PKI 和双向 TLS 认证
- 具备网络安全架构经验
概述
软件定义边界(SDP)通过围绕单个资源创建动态配置、以身份为中心的边界来实现零信任。SDP 由云安全联盟(CSA)定义,通过“暗云”方法使应用基础设施对未授权用户不可见,即服务在通过认证和授权之前一直处于隐藏状态。与传统 VPN 不同,SDP 在已验证用户与特定应用之间建立一对一的加密连接。
本技能涵盖使用 CSA v2.0 规范部署 SDP、实现单包授权(SPA)、配置 SDP 控制器和网关,以及根据 NIST SP 800-207 要求验证部署。
何时使用
- 在环境中部署或配置软件定义边界能力时
- 建立与合规要求一致的安全控制时
- 为该领域构建或改进安全架构时
- 执行需要此实现的安全评估时
前置条件
- 熟悉零信任架构概念和工具
- 可访问测试或实验环境以安全执行
- Python 3.8+ 并安装所需依赖
- 对任何测试活动具备适当授权
架构
SDP 组件(CSA 规范)
┌─────────────────────┐
│ SDP Controller │
│ - Authentication │
│ - Authorization │
│ - Policy management │
│ - Key management │
└──────────┬──────────┘
│
┌──────┴──────┐
│ │
v v
┌────────┐ ┌────────────┐
│ IH │ │ AH │
│(Client)│ │(Gateway) │
│ │ │ │
│ SPA │──│ Protected │
│ mTLS │ │ Resources │
└────────┘ └────────────┘
IH = Initiating Host (User Device)
AH = Accepting Host (Application Gateway)
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 网关进行端口扫描以确认不可见性(所有端口显示为 filtered/closed)
- 尝试在没有有效 SPA 的情况下连接(必须静默失败)
- 使用已吊销的客户端证书进行测试(必须被拒绝)
- 尝试从一个已授权应用横向移动到另一个未授权应用
- 验证审计追踪的完整性
-
监控和维护
- 为 SDP 控制器和网关日志配置 SIEM 集成
- 为失败的 SPA 尝试和证书错误设置告警
- 建立证书轮换计划
- 记录 SDP 事件的事件响应程序
验证清单
- SDP 控制器已部署,具备 HA 和审计日志记录
- IdP 集成已通过 SAML/OIDC 和 MFA 测试
- SDP 网关已部署,采用默认丢弃防火墙
- SPA 机制已验证(网关对端口扫描不可见)
- 客户端与网关之间已建立 mTLS
- 访问策略按用户/应用强制执行最小权限
- 设备证书注册已自动化
- 未授权访问尝试被静默阻止
- 已阻止应用之间的横向移动
- 日志已流式传输到 SIEM,并配置了告警
- 证书轮换和吊销程序已测试
参考资料
- CSA Software-Defined Perimeter Architecture Guide v3
- CSA SDP Specification v2.0
- NIST SP 800-207: Zero Trust Architecture
- CISA Zero Trust Maturity Model v2.0
- fwknop: Single Packet Authorization implementation
评论
支持 Markdown