saachiaggarwal7/cloudguard

GitHub: saachiaggarwal7/cloudguard

基于 Python 的 AWS 云安全态势管理工具,通过扫描 IAM、S3、EC2 和安全组资源来发现配置错误并生成结构化安全报告。

Stars: 0 | Forks: 0

# CLOUDGUARD ![Python](https://img.shields.io/badge/Python-3.10+-blue) ![AWS](https://img.shields.io/badge/AWS-Boto3-orange) ![License](https://img.shields.io/badge/License-MIT-green) CloudGuard 是一个基于 Python 的 AWS 云安全态势管理 (CSPM) 工具,它通过扫描 AWS 资源来发现常见的安全配置错误,并生成详细的 JSON 和 HTML 安全报告。 它利用 AWS SDK for Python (Boto3) 帮助识别跨多个 AWS 服务的潜在安全风险。 ## 目录 - [功能](#features-of-cloudguard) - [安装说明](#installation) - [工作流](#workflow) - [用法](#usage) - [IAM 扫描器](#iam-scanner) - [S3 扫描器](#s3-scanner) - [EC2 扫描器](#ec2-scanner) - [安全组扫描器](#security-group-scanner) - [报告示例](#reporting) - [未来改进](#future-improvements) - [许可证](#license) ## 快速概览 CloudGuard 目前支持扫描 **4 项 AWS 服务**,并执行 **22 项以上的安全检查**,以识别常见的云资源配置错误。 ### 支持的 AWS 服务 | 服务 | 检查项 | |---------|--------:| | IAM | 9 | | Amazon S3 | 5 | | EC2 | 4 | | Security Groups | 4 | ### 报告格式 - HTML 报告 - JSON 报告 ### 构建技术 - Python - Boto3 - AWS SDK ## 工作流 ``` flowchart TD A[AWS Account] --> B[CloudGuard] B --> C[IAM Scanner] B --> D[S3 Scanner] B --> E[EC2 Scanner] B --> F[Security Group Scanner] C --> G[Findings] D --> G E --> G F --> G G --> H[JSON Report] G --> I[HTML Report] ``` ## 前置条件 在运行 CloudGuard 之前,请确保您具备: - Python 3.10 或更高版本 - 一个 AWS 账户 - 已安装 AWS CLI - 已配置 AWS 凭证 - 已安装所需的 Python 包 ## 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/saachiaggarwal7/cloudguard.git ``` ### 2. 进入项目目录 ``` cd cloudguard ``` ### 3. 安装依赖项 ``` pip install -r requirements.txt ``` ### 4. 配置 AWS 凭证 ``` aws configure ``` 输入: - AWS Access Key ID - AWS Secret Access Key - 区域 (例如 eu-north-1) - 输出格式 (json) ### 5. 运行 CloudGuard ``` python main.py ``` ## ▶ 用法 运行 CloudGuard 会显示以下菜单: ``` ==================== CLOUDGUARD ==================== 1. Scan Everything 2. Scan IAM 3. Scan S3 4. Scan EC2 5. Scan Security Groups 6. Generate Report 7. Exit ``` ## CloudGuard 功能 ### IAM 扫描器 - 根账户 MFA - 用户 MFA - AdministratorAccess 策略 - 内联 IAM 策略 - 未使用的访问密钥 - 过时的访问密钥 | 规则 ID | 检查项 | 严重程度 | | ---------- | --------------------------------------------- | -------- | | CG-IAM-001 | 根账户未启用 MFA | 严重 | | CG-IAM-002 | IAM 用户未启用 MFA | 高 | | CG-IAM-003 | AdministratorAccess 直接附加给用户 | 中等 | | CG-IAM-004 | 通过 IAM 组继承的 AdministratorAccess | 中等 | | CG-IAM-005 | 附加给 IAM 用户的内联策略 | 低 | | CG-IAM-006 | 通过 IAM 组继承的内联策略 | 低 | | CG-IAM-007 | 超过 90 天未使用的访问密钥 | 高 | | CG-IAM-008 | 从未使用过的访问密钥 | 低 | | CG-IAM-009 | 超过 180 天的访问密钥 | 高 | ### S3 扫描器 - 公开的存储桶策略 - 阻止公开访问设置 - 存储桶版本控制 - 服务器访问日志记录 - 存储桶标签 | 规则 ID | 检查项 | 严重程度 | | --------- | ----------------------------------------- | -------- | | CG-S3-001 | 存储桶策略允许公开访问 | 高 | | CG-S3-002 | 阻止公开访问设置已禁用 | 高 | | CG-S3-003 | 存储桶版本控制已禁用 | 中等 | | CG-S3-004 | 服务器访问日志记录已禁用 | 低 | | CG-S3-005 | 存储桶没有标签 | 低 | ### EC2 扫描器 - 公开的 EC2 实例 - 强制执行 IMDSv2 - CloudWatch 详细监控 - EBS 卷加密 | 规则 ID | 检查项 | 严重程度 | | ---------- | --------------------------------------- | -------- | | CG-EC2-001 | EC2 实例分配了公网 IP | 高 | | CG-EC2-002 | 未强制执行 IMDSv2 | 高 | | CG-EC2-003 | CloudWatch 详细监控已禁用 | 低 | | CG-EC2-004 | 未加密的 EBS 卷 | 高 | ### 安全组扫描器 - 公开的 SSH (端口 22) - 公开的 RDP (端口 3389) - 无限制的入站流量 - 未使用的安全组 | 规则 ID | 检查项 | 严重程度 | | --------- | ----------------------------------------- | -------- | | CG-SG-001 | SSH (22) 对 Internet 开放 | 高 | | CG-SG-002 | RDP (3389) 对 Internet 开放 | 高 | | CG-SG-003 | 允许所有入站流量 (`0.0.0.0/0`) | 严重 | | CG-SG-004 | 未使用的安全组 | 低 | ## 报告 - JSON 报告 - HTML 报告 - 严重程度汇总 - 修复建议 ### 交互式 CLI CloudGuard 提供了一个简单的命令行界面,允许用户扫描单个 AWS 服务或执行完整的安全评估。 ![CloudGuard CLI](https://static.pigsec.cn/wp-content/uploads/repos/cas/7d/7d3f3852accabae50d184b2abeb7e00bffc1866dbd20ee91071815584700361a.png) ### JSON 报告 CloudGuard 会生成一份结构化的 JSON 报告,该报告可以集成到自动化 pipeline 中,或由其他工具进行处理。 ![JSON 报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/5f/5f53fd0b43987092497d02cfcfb9ba920ee0e1b85ee6825c628523eb21f363d5.png) ### HTML 报告摘要 HTML 报告提供了一份执行摘要,包括总体风险级别、严重程度分布以及总的发现数量。 ![HTML 摘要](https://static.pigsec.cn/wp-content/uploads/repos/cas/48/48c8171fc0941116b4388d0833dcb44af4a0b11b9ccfb35a11c1cd324be44123.png) ### HTML 详情 所有发现结果都会按严重程度进行排序,并包含受影响的 AWS 资源、规则 ID、描述以及修复建议。 ![HTML 详情](https://static.pigsec.cn/wp-content/uploads/repos/cas/1c/1c2d689d8107c1bb93a649244da1ec6173710379c37c7b1e85238ed846bbbaac.png) ## 未来改进 - 添加 RDS 安全扫描器 - 添加 VPC 安全扫描器 - 支持多区域扫描 - 导出 PDF 格式的报告 - 集成 AWS Security Hub 的发现结果 - 构建 Web 仪表板 ## 许可证 该项目基于 MIT 许可证授权。
标签:AWS, Boto3, CSPM, DPI, Python, TinkerPop, 无后门, 足迹分析, 逆向工具