mcpField
D
deploying-software-defined-perimeter

deploying-software-defined-perimeter

github.com/mukul975安全35.2k49 次安装8 周前更新
代码仓库

关于 deploying-software-defined-perimeter

面向安全架构人员的 Software-Defined Perimeter 部署与验证技能,涵盖 CSA SDP 组件、访问控制和零信任检查。

主要功能

  1. 01CSA SDP 部署流程
  2. 02SPA 与 mTLS 配置
  3. 03控制器和网关设置
  4. 04访问策略设计
  5. 05NIST 零信任验证

适用场景

  1. 01规划 SDP 部署
  2. 02配置网关访问控制
  3. 03核验零信任部署要求

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill deploying-software-defined-perimeter

安装后在 Claude Code 中输入/deploying-software-defined-perimeter确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.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 部署模式
  1. 客户端到网关:用户设备通过 SDP 网关连接到后端应用
  2. 客户端到服务器:用户与应用服务器之间直接连接
  3. 服务器到服务器:通过 SDP 进行工作负载到工作负载的通信
  4. 网关到网关:替代传统 VPN 隧道的站点到站点连接

关键概念

单包授权(SPA)

SPA 是一种网络安全机制,其中 SDP 网关默认丢弃所有 TCP/UDP 数据包。在建立任何连接之前,必须先发送一个经过加密签名的单包。网关验证 SPA 数据包,只有在此之后才会为已认证会话打开一个临时端口。这使网关对端口扫描器不可见。

双向 TLS(mTLS)

在 SPA 验证之后,客户端和服务器双方使用 X.509 证书相互认证。这种双向认证可防止中间人攻击,并确保两个端点均经过验证。

动态配置

SDP 连接根据实时策略评估按需配置。不存在持久网络隧道;每个会话都单独授权并加密。

工作流

阶段 1:SDP 控制器部署
  1. 部署 SDP 控制器

    • 在加固的冗余基础设施上安装 SDP 控制器
    • 配置 PKI 集成以颁发证书
    • 设置认证后端(LDAP、SAML、OIDC)
    • 使用应用定义配置策略数据库
    • 为所有控制器决策启用审计日志
  2. 配置认证

    • 通过 SAML 2.0 或 OIDC 与企业 IdP 集成
    • 配置设备证书注册(SCEP/EST)
    • 启用多因素认证要求
    • 设置证书吊销检查(OCSP/CRL)
  3. 定义访问策略

    • 将用户/组映射到已授权应用
    • 为每个应用定义设备姿态要求
    • 配置上下文条件(位置、时间、风险级别)
    • 设置会话时长和重新认证间隔
阶段 2:SDP 网关部署
  1. 部署接受主机(网关)

    • 在受保护应用前端安装 SDP 网关实例
    • 配置默认丢弃防火墙规则(拒绝所有入站)
    • 在指定端口启用 SPA 监听器
    • 使用控制器签发的证书配置 mTLS
    • 设置健康监控和故障转移
  2. 配置应用定义

    • 向控制器注册每个受保护应用
    • 定义后端服务器 IP、端口和协议
    • 为多实例应用配置负载均衡
    • 设置应用健康检查
阶段 3:客户端部署
  1. 部署发起主机(客户端)

    • 在用户终端上安装 SDP 客户端软件
    • 通过自动化配置注册设备证书
    • 配置 SPA 密钥材料分发
    • 测试身份验证流程:SPA → mTLS → 应用访问
  2. 验证端到端流程

    • 验证 SPA 数据包被网关接受
    • 确认 mTLS 握手使用有效证书成功
    • 测试通过 SDP 隧道访问应用
    • 验证未授权访问被阻止(无 SPA = 网关不可见)
阶段 4:运行验证
  1. 安全测试

    • 对 SDP 网关进行端口扫描以确认不可见性(所有端口显示为 filtered/closed)
    • 尝试在没有有效 SPA 的情况下连接(必须静默失败)
    • 使用已吊销的客户端证书进行测试(必须被拒绝)
    • 尝试从一个已授权应用横向移动到另一个未授权应用
    • 验证审计追踪的完整性
  2. 监控和维护

    • 为 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