deploying-software-defined-perimeter

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

9 stars

Best use case

deploying-software-defined-perimeter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using deploying-software-defined-perimeter should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/deploying-software-defined-perimeter/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/deploying-software-defined-perimeter/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/deploying-software-defined-perimeter/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How deploying-software-defined-perimeter Compares

Feature / Agentdeploying-software-defined-perimeterStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 部署软件定义边界

---
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 网关部署

4. **部署接受主机(网关)**
   - 在受保护应用前面安装 SDP 网关实例
   - 配置默认丢弃防火墙规则(拒绝所有入站)
   - 在指定端口上启用 SPA 监听器
   - 使用控制器颁发的证书配置 mTLS
   - 设置健康监控和故障转移

5. **配置应用定义**
   - 向控制器注册每个受保护的应用
   - 定义后端服务器 IP、端口和协议
   - 为多实例应用配置负载均衡
   - 设置应用健康检查

### 阶段 3:客户端部署

6. **部署发起主机(客户端)**
   - 在用户端点上安装 SDP 客户端软件
   - 通过自动配置注册设备证书
   - 配置 SPA 密钥材料分发
   - 测试认证流程:SPA → mTLS → 应用访问

7. **验证端到端流程**
   - 验证 SPA 数据包被网关接受
   - 确认使用有效证书的 mTLS 握手成功
   - 测试通过 SDP 隧道的应用访问
   - 验证未授权访问被阻断(无 SPA = 网关不可见)

### 阶段 4:运营验证

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

9. **监控与维护**
   - 为 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:单包授权实现

Related Skills

deploying-tailscale-for-zero-trust-vpn

9
from killvxk/cybersecurity-skills-zh

部署并配置 Tailscale 作为基于 WireGuard 的零信任网状 VPN,具备身份感知访问控制、ACL 和出口节点,实现安全的点对点连接。

deploying-ransomware-canary-files

9
from killvxk/cybersecurity-skills-zh

使用 Python watchdog 库在关键目录中部署并监控勒索软件诱饵文件(Canary File),实现实时文件系统事件检测。 将策略性命名的诱饵文件(模拟高价值目标,如财务记录、凭据、数据库导出)放置在勒索软件通常优先枚举的 目录中,监控对诱饵文件的任何读取、修改、重命名或删除操作,并在检测到交互时通过 Email、Slack Webhook 或 Syslog 触发即时告警,在完整加密开始前提供早期预警。

deploying-palo-alto-prisma-access-zero-trust

9
from killvxk/cybersecurity-skills-zh

部署 Palo Alto Networks Prisma Access,通过 GlobalProtect Agent、ZTNA Connector、 安全策略执行以及与 Strata Cloud Manager 集成,实现基于 SASE 的零信任网络访问统一安全管理。

deploying-osquery-for-endpoint-monitoring

9
from killvxk/cybersecurity-skills-zh

部署和配置 osquery,使用基于 SQL 的查询对运行进程、开放端口、已安装软件和系统配置进行实时端点监控。 适用于构建端点状态可见性、跨部署范围进行威胁狩猎或实施合规监控的场景。

deploying-edr-agent-with-crowdstrike

9
from killvxk/cybersecurity-skills-zh

在企业端点上部署和配置 CrowdStrike Falcon EDR 代理,实现实时威胁检测、行为分析和自动化响应。 适用于将端点接入 EDR 覆盖范围、配置检测策略,或将 Falcon 遥测数据与 SIEM 平台集成的场景。

deploying-cloudflare-access-for-zero-trust

9
from killvxk/cybersecurity-skills-zh

部署 Cloudflare Access 和 Cloudflare Tunnel,为自托管和私有应用程序提供零信任访问, 配置身份感知访问策略、设备态势检查,以及用于 VPN 替代的 WARP 客户端注册。

triaging-vulnerabilities-with-ssvc-framework

9
from killvxk/cybersecurity-skills-zh

使用 CISA 的利益相关方特定漏洞分类(SSVC)决策树框架对漏洞进行分类和优先排序,产出可操作的修复优先级:Track、Track*、Attend 或 Act。

triaging-security-incident

9
from killvxk/cybersecurity-skills-zh

使用 NIST SP 800-61r3 和 SANS PICERL 框架对安全事件进行初始分类,确定严重性、范围和所需响应行动。 按类型对事件分类,根据业务影响分配优先级,并路由到相应的响应团队。适用于事件分类、 安全告警分类、严重性评估、事件优先级排序或初始事件分析等请求场景。

triaging-security-incident-with-ir-playbook

9
from killvxk/cybersecurity-skills-zh

使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。

triaging-security-alerts-in-splunk

9
from killvxk/cybersecurity-skills-zh

在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。

tracking-threat-actor-infrastructure

9
from killvxk/cybersecurity-skills-zh

威胁行为者基础设施追踪涉及使用被动 DNS、证书透明度日志、Shodan/Censys 扫描、WHOIS 分析和网络指纹技术,对对手控制的 C2 服务器、钓鱼域名和暂存服务器等资产进行监控、映射和持续追踪

testing-websocket-api-security

9
from killvxk/cybersecurity-skills-zh

测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。