Thegitfiddler/Azure-Security-Lab
GitHub: Thegitfiddler/Azure-Security-Lab
一个使用 Terraform 全量构建的 Azure 安全实验室,演示了覆盖身份、检测、合规与 DevSecOps 的完整云安全工程生命周期。
Stars: 0 | Forks: 0
# Azure 安全实验室
一个完全使用 Terraform 构建的生产级 Azure 安全实验室,展示了涵盖身份、检测、合规性和 DevSecOps 的完整安全工程生命周期。
## 阶段
### 阶段 1 — 身份与零信任
- 代表真实组织角色的 Entra ID 用户(安全管理员、开发人员、SOC 分析师)
- 在资源组级别限定范围并采用最小权限 RBAC 的安全组
- 为 SOC 分析师分配了安全读者和 Log Analytics 读者角色
### 阶段 2 — 检测与响应
- 部署在 Log Analytics Workspace 上的 Microsoft Sentinel
- 引入订阅范围内事件的 Azure Activity 和 Security 日志解决方案
- 映射到 MITRE ATT&CK 的三个 KQL 检测规则:
- 暴力破解登录检测(凭证访问)
- 不可能旅行检测(初始访问)
- 权限提升检测(权限提升)
### 阶段 3 — 合规与态势
- 在 VM、Storage、Containers、Key Vaults 和 ARM 中启用 Microsoft Defender for Cloud
- Defender 警报直接路由到 Sentinel workspace
- 在订阅级别分配 CIS Microsoft Azure Foundations Benchmark
- 在订阅级别分配 NIST SP 800-53 Rev. 5
### 阶段 4 — 安全的 DevSecOps Pipeline
- 使用 OIDC 身份验证的 GitHub Actions pipeline(无存储的凭证)
- 安全门任务在任何部署之前并行运行:
- **Gitleaks** — 跨提交历史的机密扫描
- **Checkov** — Terraform IaC 安全扫描
- **Trivy** — 容器镜像 CVE 扫描(CRITICAL/HIGH)
- 构建 Docker 镜像并将其推送到 Azure Container Registry (ACR)
- 使用 managed identity 部署到 AKS 集群(无需密码)
- AKS 日志流式传输到 Sentinel workspace
## 技术栈
| 工具 | 用途 |
|---|---|
| Terraform | 基础设施即代码 |
| Azure Entra ID | 身份与访问管理 |
| Microsoft Sentinel | SIEM 与检测 |
| Defender for Cloud | 态势管理 |
| Azure Kubernetes Service | 容器编排 |
| Azure Container Registry | 私有容器镜像仓库 |
| GitHub Actions | CI/CD Pipeline |
| Gitleaks | 机密扫描 |
| Checkov | IaC 安全扫描 |
| Trivy | 容器漏洞扫描 |
| KQL | 检测规则语言 |
## 安全决策
- **无存储的凭证** — GitHub 和 Azure 之间的 OIDC 信任,AKS 和 ACR 之间的 managed identity
- **最小权限** — 每个角色都限定在最低要求的边界内
- **左移安全** — 所有扫描在构建之前运行,构建在部署之前运行
- **集中式日志记录** — 所有阶段都汇集到一个 Log Analytics Workspace
- **多框架合规性** — 持续评估 CIS 和 NIST 控制
## 前置条件
- Azure 订阅
- Terraform >= 1.5.0
- Azure CLI
- Docker
- kubectl
## 用法
```
# 克隆 repo
git clone https://github.com/Thegitfiddler/Azure-Security-Lab.git
cd Azure-Security-Lab
# 复制并填写变量
cp terraform.tfvars.example terraform.tfvars
# 初始化 Terraform
terraform init
# 部署
terraform apply
```
## 作者
Michael Jones | [GitHub](https://github.com/Thegitfiddler) | 云安全工程师
标签:Azure, CCS 2025, DevSecOps, ECS, Terraform, 上游代理, 请求拦截