phour44/Vulnerability-mgt-cloud-asset-aws--prowler

GitHub: phour44/Vulnerability-mgt-cloud-asset-aws--prowler

基于 Prowler 对 AWS 账户执行云安全态势评估,将漏洞扫描结果转化为结构化的网络风险登记册和优先级补救计划。

Stars: 0 | Forks: 0

☁️ 云漏洞管理:使用 Prowler 进行 AWS 资产安全评估

识别 → 评估 → 排定优先级 → 补救 → 验证
使用 Prowler 云安全态势管理,将完整的漏洞管理生命周期应用于真实的 AWS 账户。

## 📌 执行摘要 本项目使用开源云安全态势管理 (CSPM) 平台 **Prowler**,将**漏洞管理生命周期**应用于真实的 Amazon Web Services 账户(`819211780002`,别名 *Phour Global Limited*)的*虚拟资产*。 我们配置了一个最小权限扫描身份,在 6 分 20 秒内扫描了 **跨 17 个 AWS 区域的 285 个资源**,并将结果汇总到结构化的**网络风险登记册**中,使用 5x5 矩阵进行评分,最后转化为由责任人指定的**补救计划**。 | 指标 | 结果 | |---|---| | 🎯 总体 Prowler ThreatScore | **85.05%** | | 🖥️ 已评估资源 | 跨 **17** 个区域的 **285** 个 | | ❌ 失败的发现 | **81** | | 🚨 严重失败的要求 | **6** | | 📋 已正式登记并排定优先级的风险 | **10** (4 个严重,6 个高) | | 🛡️ 扫描身份 | 专用的**最小权限** IAM 用户 | ## 🧭 目录 - [目标](#-objectives) - [方法论](#-methodology-the-vulnerability-management-lifecycle) - [阶段 1:最小权限扫描身份](#-phase-1-least-privilege-scanning-identity) - [阶段 2:扫描执行](#-phase-2-scan-execution) - [阶段 3:评估结果](#-phase-3-assessment-results) - [阶段 4:风险分析与优先级排序](#-phase-4-risk-analysis-and-prioritization) - [阶段 5:补救计划](#-phase-5-remediation-plan) - [关键要点](#-key-takeaways) - [仓库结构](#-repository-structure) - [完整文档](#-full-documentation) - [作者](#-author) ## 🎯 目标 1. 为云安全扫描配置一个专用的、**最小权限**的身份。 2. 使用 Prowler 对 AWS 账户执行自动化的漏洞与合规性评估。 3. 解读 **ThreatScore** 并识别最实质性的弱点。 4. 将发现汇总并排定优先级至结构化的**网络风险登记册**(5x5 矩阵)中。 5. 制定一份包含明确响应策略的**责任人指定补救计划**。 ## 🔄 方法论:漏洞管理生命周期 ``` ┌────────────┐ ┌──────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────┐ │ IDENTIFY │ → │ ASSESS │ → │ PRIORITIZE │ → │ REMEDIATE │ → │ VERIFY │ │ (Prowler │ │ (Threat │ │ (5x5 Risk │ │ (Owners + │ │ (Re-scan │ │ inventory)│ │ Score) │ │ Register) │ │ Strategy) │ │ planned)│ └────────────┘ └──────────┘ └──────────────┘ └─────────────┘ └──────────┘ ``` 本仓库记录了从识别到补救(计划)阶段的过程。验证(补救后的重新扫描)被定义为下一步。 ## 🔐 阶段 1:最小权限扫描身份 扫描由专用的 IAM 用户(`Prowler-scan-user`)执行,该用户**仅具有编程访问权限**,绝不由特权管理员执行。附加了三个策略: | 策略 | 类型 | 用途 | |---|---|---| | `SecurityAudit` | AWS 托管 | 读取跨服务的安全配置 | | `ViewOnlyAccess` | AWS 托管 | 枚举资源而不进行修改 | | `prowler-additions-policy` | 客户托管 | Prowler 所需的最少额外读取权限 |


Least-privilege permission set attached to the dedicated scanning user.

## ⚡ 阶段 2:扫描执行 针对已连接的 AWS provider 启动了手动 ThreatScore 扫描,并顺利完成。


Completed scan: 285 resources, 6 min 20 sec, 17 regions (scan ID 019ee5c2...).

## 📊 阶段 3:评估结果 ### 各支柱的 ThreatScore | 支柱 | 分数 | 评级 | |---|---|---| | 身份与访问管理 | 70.3% | ⚠️ 中等:密码策略和 root MFA 存在缺失 | | 攻击面 | 91.2% | ✅ 强:公开暴露有限 | | **日志与监控** | **0.0%** | 🔴 **严重:无检测控制** | | 加密 | 92.0% | ✅ 强:存在少量的静态加密缺失 | | **总体 ThreatScore** | **85.05%** | 加权汇总 |


85.05% ThreatScore. The 0.0% Logging and Monitoring pillar is hidden behind a healthy aggregate.

### 严重失败的要求 (6) | ID | 要求 | 支柱 | 风险 / 权重 | |---|---|---|---| | 1.1.2 | 为 **root** 用户启用硬件 MFA | IAM | 5 / 1000 | | 2.1.6 | 实例的常用端口未暴露在互联网上 | 攻击面 | 5 / 1000 | | 2.1.7 | 安全组不允许流入常用端口 | 攻击面 | 5 / 1000 | | 1.3.1 | 未附加具有完全 `*:*` 权限的 IAM 策略 | IAM | 4 / 100 | | 2.1.4 | 没有安全组允许从 `0.0.0.0/0` 流入管理端口 | 攻击面 | 4 / 100 | | 3.1.1 | 在所有区域启用 CloudTrail | 日志与监控 | 4 / 100 |


Failed-findings list, ranked by severity, used to drive risk consolidation.

## 🗂️ 阶段 4:风险分析与优先级排序 81 个失败的发现跨区域进行了去重,并汇总为网络风险登记册中的 **10 个独立风险**,每个风险都在 **5x5(影响 x 可能性)** 矩阵上进行了评分。 | 等级 | 分数范围 | |---|---| | 🟩 低 | 1 到 5 | | 🟨 中等 | 6 到 10 | | 🟧 高 | 11 到 15 | | 🟥 极高 | 16 到 25 | ### 已排定优先级的风险登记册(摘要) | 编号 | 风险 (Prowler 发现) | 等级 | 策略 | |---|---|---|---| | RI-001 | IAM 用户直接附加了 `AdministratorAccess` | 🟥 严重 | 缓解 | | RI-002 | Root 账户缺少硬件 MFA 设备 | 🟥 严重 | 缓解 | | RI-003 | AWS 托管策略允许 `*:*` 管理员权限 | 🟥 严重 | 缓解 | | RI-004 | EC2 实例向互联网暴露了 TCP 22 (SSH) | 🟥 严重 | 缓解 | | RI-005 | 未启用带有标准/集成的 Security Hub | 🟧 高 | 缓解 | | RI-006 | 未启用 GuardDuty detector | 🟧 高 | 缓解 | | RI-007 | GuardDuty 缺少委托管理员 / 组织自动启用 | 🟧 高 | 缓解 | | RI-008 | CloudTrail 未在所有区域记录日志 | 🟧 高 | 缓解 | | RI-009 | IAM 用户缺少硬件 MFA | 🟧 高 | 缓解 | | RI-010 | VPC 子网默认分配公共 IP | 🟧 高 | 缓解 | 📥 包含描述、责任人、日期和状态的完整登记册:[`docs/Cyber-Risk-Register.xlsx`](docs/Cyber-Risk-Register.xlsx) ## 🛠️ 阶段 5:补救计划 每个风险都被分配了责任人和**缓解**策略。按领域划分的计划操作:
领域关键计划操作
身份与访问在 root 上注册硬件 MFA 并删除 root 访问密钥 · 移除直接的 AdministratorAccess 并应用限定的最小权限策略 · 为 IAM 用户强制执行硬件 MFA 和更强的密码策略
日志与监控部署多区域 CloudTrail · 在组织范围内启用 Security Hub 和 GuardDuty · 启用 AWS Config · 为敏感事件添加 CloudWatch 指标过滤器和警报
攻击面限制 SG/NACL 流入,确保管理端口永远不对 0.0.0.0/0 开放 · 禁用在私有子网上自动分配公共 IP
加密强制执行 IMDSv2 · 拒绝非 HTTPS S3 访问 · 使用 KMS CMK 加密 EBS 卷和 CloudTrail 日志


Prowler finding detail with built-in remediation guidance for the root hardware MFA gap.

## 💡 关键要点 - **高总分可能会掩盖系统性缺失。** 总体 85.05%,但检测控制覆盖率为 **0.0%**。 - **检测控制是不可妥协的。** 由于 17 个区域均缺少 CloudTrail、Config、GuardDuty 和 Security Hub,该账户对恶意活动的可见性为*零*。 - **强大的外围防御并不等于强大的安全态势。** 攻击面 (91.2%) 和加密 (92.0%) 表现稳健;薄弱环节在于*可观测性与身份*,而不是暴露。 - **实践中的最小权限。** 评估本身通过只读、无写入的扫描身份树立了良好的安全卫生典范。 ## 📁 仓库结构 ``` . ├── README.md ← you are here ├── assets/ │ └── screenshots/ ← highlight images used in this README └── docs/ ├── Cyber-Risk-Register.xlsx ← full 5x5 risk register ├── Prowler-ThreatScore-Report.pdf ← raw Prowler ThreatScore export ├── AWS-Cloud-Vulnerability-Management-APA-Report.pdf ← full APA report (chronological walkthrough) └── build_docx.py ← report generator (reproducible) ``` ## 📄 完整文档 | 文档 | 描述 | |---|---| | 📘 [APA 评估报告 (PDF)](docs/AWS-Cloud-Vulnerability-Management-APA-Report.pdf) | 完整的时间线演练,APA 第 7 版,按顺序包含所有捕获的截图,以及风险分析和补救计划 | | 📊 [网络风险登记册 (XLSX)](docs/Cyber-Risk-Register.xlsx) | 风险评分、责任人、响应策略和状态 | | 📑 [Prowler ThreatScore 报告 (PDF)](docs/Prowler-ThreatScore-Report.pdf) | 所有失败要求的原生 Prowler 导出文件 | ## 👤 作者 **Ibrahim Fayomi** · 网络安全指导计划 云安全 · 漏洞管理 · 安全态势管理 ⚠️ 出于教育目的在受控的实验室账户中进行。未影响任何生产系统。
标签:AWS, CSPM, DPI, GPT, Prowler, TinkerPop, 漏洞利用检测, 漏洞管理, 逆向工具