인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
배포 및 운영 · SKILL.md

deploying-software-defined-perimeter

deploying-software-defined-perimeter

部署软件定义边界(Software-Defined Perimeter,SDP),围绕各个资源创建动态配置的、以身份为中心的边界,通过"暗云"方法实现零信任访问控制。

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

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 部署模型

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

    • 为 SDP 控制器和网关日志配置 SIEM 集成
    • 为失败的 SPA 尝试和证书错误设置告警
    • 建立证书轮换计划
    • 记录 SDP 事件的事件响应程序

验证检查清单

  • SDP 控制器已部署,具备高可用性和审计日志记录
  • IdP 集成已通过 SAML/OIDC 和 MFA 测试
  • SDP 网关已部署并配置默认丢弃防火墙
  • SPA 机制已验证(网关对端口扫描不可见)
  • 客户端与网关之间已建立 mTLS
  • 访问策略对每个用户/应用执行最小权限
  • 设备证书注册已自动化
  • 未授权访问尝试被静默阻断
  • 应用间的横向移动被阻止
  • 日志流式传输到 SIEM 并配置了告警
  • 证书轮换和吊销程序已测试

参考资料

  • CSA 软件定义边界架构指南 v3
  • CSA SDP 规范 v2.0
  • NIST SP 800-207:零信任架构
  • CISA 零信任成熟度模型 v2.0
  • fwknop:单包授权实现
저장한 Skills