Krishanub5/SecureMultiCloudPlatform
GitHub: Krishanub5/SecureMultiCloudPlatform
跨越 AWS EKS 和 Azure AKS 的安全多云 Kubernetes 平台参考实现,覆盖从身份认证、集群加固、CI/CD 供应链安全到检测响应的完整安全生命周期。
Stars: 0 | Forks: 0
# 安全多云平台
## 概述
本仓库包含一个跨越 AWS EKS 和 Azure AKS 的安全多云 Kubernetes 平台参考实现。相关材料包括架构与底层设计文档、技术宣讲 PPT、Terraform 模块骨架、Kubernetes 加固控制措施、CI/CD 安全门禁、可观测性仪表盘、检测规则以及事件响应包。
该设计侧重于五个可供审查的核心领域:
1. 无静态凭证的身份认证
2. 私有集群与工作负载加固
3. 跨云和 Kubernetes 来源的遥测数据标准化
4. 映射至 MITRE ATT&CK 的检测质量
5. 事件发生后的永久性修复
## 平台范围
| 领域 | 设计选择 |
|---|---|
| AWS 区域 | `ap-southeast-2` |
| Azure 区域 | `australiaeast` |
| AWS Kubernetes | EKS 1.29 私有集群 |
| Azure Kubernetes | AKS 1.29 私有集群 |
| AWS 工作负载身份 | 带有 OIDC 联合身份验证的 IRSA |
| Azure 工作负载身份 | AKS Workload Identity Federation |
| CNI / Network Policy | Cilium eBPF |
| Admission Policy | Kyverno enforce + OPA Gatekeeper audit |
| Runtime Detection | Falco eBPF |
| Supply Chain | Trivy, Grype, Syft, Cosign keyless, Rekor |
| Observability | Fluent Bit, OpenSearch / Elastic, Prometheus, Grafana |
| Compliance Alignment | AU ISM, ISO 27001, SOC 2 Type II |
## 仓库结构
```
secure-multicloud-platform/
├── README.md
├── docs/
│ ├── SecureMultiCloud-LLD.docx
│ ├── SecureMultiCloud-Architecture.pptx
│ └── readout-deck.html
├── diagrams/
│ ├── trust-boundary-architecture.mmd
│ ├── identity-flow-aws-irsa.mmd
│ ├── identity-flow-azure-workload-identity.mmd
│ └── telemetry-path.mmd
├── terraform/
│ ├── modules/
│ └── envs/
├── kubernetes/
│ ├── kyverno-policies/
│ ├── opa-gatekeeper/
│ ├── network-policies/
│ ├── falco-rules/
│ └── workloads/
├── cicd/
│ ├── github-actions/
│ ├── policy/
│ └── release-controls/
├── observability/
│ ├── fluent-bit/
│ ├── elastic/
│ ├── grafana/
│ ├── prometheus/
│ └── detections/
└── incident-response/
```
## 交付物映射
| 需求 | 位置 |
|---|---|
| 包含信任边界的架构图 | `docs/SecureMultiCloud-Architecture.pptx`, `diagrams/trust-boundary-architecture.mmd` |
| 身份验证流 | `diagrams/identity-flow-aws-irsa.mmd`, `diagrams/identity-flow-azure-workload-identity.mmd` |
| 遥测路径 | `diagrams/telemetry-path.mmd`, `observability/` |
| Terraform 模块与环境 overlay | `terraform/modules/`, `terraform/envs/` |
| 集群加固控制措施 | `kubernetes/kyverno-policies/`, `kubernetes/opa-gatekeeper/`, `kubernetes/network-policies/` |
| Admission 与 Runtime 策略 | `kubernetes/kyverno-policies/`, `kubernetes/falco-rules/` |
| 带有门禁、扫描、签名和发布控制的 CI/CD 流水线 | `cicd/github-actions/secure-release.yml` |
| ELK / Grafana 仪表盘、检测项和告警逻辑 | `observability/elastic/`, `observability/grafana/`, `observability/detections/` |
| 事件响应摘要与持久修复 | `incident-response/` |
| 最终宣讲 PPT | `docs/SecureMultiCloud-Architecture.pptx`, `docs/readout-deck.html` |
## 15–20 分钟审查者验证指南
### 1. 审查架构与决策说明 — 4 分钟
打开:
```
open docs/SecureMultiCloud-Architecture.pptx
open docs/readout-deck.html
```
验证:
- 四个信任区域清晰可见:Internet、DMZ / Ingress、Application、Data / Secrets。
- AWS EKS 和 Azure AKS 均为私有集群。
- 身份验证流使用 IRSA 和 Azure Workload Identity,而非静态 Secret。
- 遥测路径展示了来源、收集、标准化、存储、检测和告警。
### 2. 检查 Terraform 模块 Overlay — 4 分钟
```
find terraform -maxdepth 3 -type f | sort
```
验证:
- `terraform/modules` 分离了 AWS network、AWS EKS、AWS security、Azure network、Azure AKS 和 observability。
- `terraform/envs/dev`、`staging` 和 `prod` 展示了 overlay 风格的组合。
- 生产环境使用了更严格的默认设置,如 private endpoint、审计日志、加密和策略强制执行。
### 3. 检查 Kubernetes 加固控制措施 — 4 分钟
```
find kubernetes -type f | sort
```
验证:
- Kyverno 阻止了特权 Pod、以 root 运行的容器、缺失 resource limit、未签名镜像、host namespace、hostPath 以及 `latest` 标签。
- Cilium / Kubernetes network policy 起始于默认拒绝。
- Falco eBPF 规则检测 shell 生成、service account token 读取、IMDS 访问、包管理器使用以及挖矿行为。
### 4. 检查 CI/CD 门禁 — 4 分钟
```
sed -n '1,260p' cicd/github-actions/secure-release.yml
```
验证硬停止门禁:
- Secret 扫描:Gitleaks 和 TruffleHog
- IaC 扫描:Checkov 和 Conftest
- SAST:Semgrep
- SBOM:Syft
- 漏洞扫描:Trivy 和 Grype
- 签名:Cosign keyless
- Admission 预检查:kubeconform 和 Kyverno CLI
- 发布控制:staging 冒烟测试、生产环境审批、canary 发布
### 5. 检查检测规则与仪表盘 — 3 分钟
```
find observability -type f | sort
```
验证:
- 检测规则已映射至 MITRE ATT&CK。
- 告警路由至 PagerDuty 和 Slack。
- Grafana 仪表盘 JSON 包含 runtime、admission、CI/CD 和 incident-response 面板。
## 关键设计决策
### 工作负载身份优于静态凭证
AWS 工作负载使用 IRSA,Azure 工作负载使用 AKS Workload Identity Federation。这避免了在 Kubernetes 中存储云访问密钥、客户端密钥或长期有效的 token。token 作用域限定为 service account,生命周期短且可审计。
### 私有集群与基于 Endpoint 的数据访问
EKS 和 AKS API 服务器是私有的。数据平面访问云服务使用 VPC endpoint 或 Azure Private Link,以避免 Secret、存储、数据库和控制平面遥测数据经过公共互联网路径。
### 多层策略即代码
Kyverno 在 admission 阶段执行 Kubernetes 原生策略。OPA / Conftest 在 CI 中用于防止配置错误的基础设施和 manifest 进入集群。Falco 覆盖 admission 之后的 runtime 行为。
### 生产环境仅允许已签名镜像
镜像基于锁定的依赖构建,经过两次扫描,分配 SBOM,使用 Cosign keyless 签名,记录在 Rekor 中,并在生产部署前和 admission 阶段进行验证。
### 遥测数据标准化
来自 Kubernetes、Falco、AWS、Azure 和应用程序的日志映射为 ECS 风格字段。这改善了跨来源的关联性,并使检测规则与具体云平台无关。
## 重要说明
- Terraform 代码是一个可运行的参考结构,并非即插即用的生产部署。在应用之前,请填入 account ID、subscription ID、DNS zone 和 remote backend 设置。
- 本仓库刻意避免了不透明的、仅限控制台的操作。每个关键控制都以 Terraform、YAML、策略、仪表盘 JSON 或文档的形式体现。
- 生产 Secret 应通过云原生的 secret manager 在本仓库外创建,并通过 workload identity 和 CSI provider 进行引用。
标签:AMSI绕过, API集成, AWS EKS, AWS IRSA, Azure AKS, Azure Workload Identity, Chrome Headless, CI/CD安全, Cilium, CISA项目, Cloudflare, Cosign, DevSecOps, ECS, Falco, Fluent Bit, Grafana, Kubernetes安全, Llama, MITRE ATT&CK, Modbus, NPM, OIDC联合身份, OISF, OPA Gatekeeper, SBOM, StruQ, Terraform, 上游代理, 人工智能安全, 可观测性, 合规性, 威胁检测, 子域名突变, 安全参考架构, 安全架构, 安全门禁, 实时处理, 工作负载身份, 敏感词过滤, 日志管理, 模拟器, 硬件无关, 私有集群, 网络策略, 自定义请求头, 足迹分析, 遥测, 镜像签名, 集群加固