EricBorba/ce-lab-inspect-workload-misconfiguration
GitHub: EricBorba/ce-lab-inspect-workload-misconfiguration
一个 AWS 云安全错误配置动手实验项目,通过创建、检测、修复三类常见云安全风险来教学安全配置管理实践。
Stars: 0 | Forks: 0
# 实验室 M8.02 — 检查工作负载错误配置示例






本动手实验旨在刻意创建并修复云安全错误配置,使用 AWS Config 进行检测,并使用 STRIDE 威胁模型记录风险。
## 本实验室的用途
创建三个故意的错误配置,使用 AWS Config 规则进行检测,然后进行修复和验证:
| # | 错误配置 | 检测方法 | STRIDE |
|---|-----------------|-----------------|--------|
| 1 | 禁用了 Block Public Access 的 S3 存储桶 | AWS Config `s3-bucket-public-read-prohibited` | I |
| 2 | 对 0.0.0.0/0 开放 SSH 的安全组 | AWS Config `restricted-ssh` | S |
| 3 | 具有 AdministratorAccess 的 IAM 角色 | 人工审查 | E |
## 文件
| 文件 | 描述 |
|------|-------------|
| `findings-report.md` | 包含真实资源 ID、截图和修复措施的完整错误配置发现报告 |
| `threat-model.md` | 针对简单 Web 应用程序(S3 + ALB + EC2 + RDS)的 STRIDE 威胁模型 |
| `app-policy.json` | 在 IAM 修复期间应用的最小权限 IAM 策略 |
| `cli-commands.md` | 实验期间执行的所有 CLI 命令的按时间顺序记录 |
| `screenshots/` | 所有错误配置和合规性结果的证据截图 |
## 截图
| 文件 | 内容 |
|------|---------|
| `01-s3-misconfiguration-bucket-public-access-disabled.png` | 禁用了 Block Public Access 的 S3 存储桶创建 |
| `02-security-group-ssh-open-to-internet.png` | 创建了允许来自 0.0.0.0/0 的 SSH 的安全组 |
| `03-iam-role-administrator-access-attached.png` | 附加了 AdministratorAccess 策略的 IAM 角色 |
| `04-config-role-and-s3-bucket-setup.png` | 创建 Config IAM 角色和 S3 日志存储桶 |
| `05-config-recorder-delivery-channel-started.png` | 启用 Config recorder 和交付通道 |
| `06-config-rules-s3-and-ssh-created.png` | 为 S3 和 SSH 检测创建的 Config 规则 |
| `07-compliance-non-compliant-before-remediation.png` | 修复前两条规则均为 NON_COMPLIANT |
| `08-security-group-ssh-remediated.png` | 吊销 SSH 规则并应用受限的 CIDR |
| `09-iam-role-least-privilege-applied.png` | 分离 AdministratorAccess,应用最小权限策略 |
| `10-s3-bucket-compliant-after-remediation.png` | 重新启用 Block Public Access 后 S3 存储桶变为 COMPLIANT |
| `11-security-group-compliant-after-remediation.png` | SSH 受限后安全组变为 COMPLIANT |
## 关键发现
- `restricted-ssh` Config 规则在账户中发现了 **6 个不合规的安全组**——而不仅仅是为本次实验创建的那一个。这凸显了安全组是如何随着时间推移积累开放规则的。
- 现代 AWS 账户默认强制执行 **BucketOwnerEnforced** Object Ownership,从而完全禁用 ACL。这是除 Block Public Access 之外的额外保护层。
- AWS Config 是从头开始设置的——该实验室最初的说明中缺少 IAM 角色且 recorder 语法不正确,这两点都在执行过程中得到了修复。
标签:AWS, DPI, 威胁建模, 安全配置核查, 应用安全, 运维审计