r0shhh/CloudSentinel
GitHub: r0shhh/CloudSentinel
基于 Python 的模块化 AWS 配置错误扫描器,通过将检查项映射至 CIS 基准实现安全审计与严重性分级报告。
Stars: 2 | Forks: 0
# CloudSentinel
一款基于 Python 的模块化 AWS 安全审计工具,旨在检测配置错误。
## 工程亮点
- **配置驱动架构:** 使用 `importlib` 进行动态插件加载。新增检查仅需一个扫描器函数和一条 YAML 条目。
- **CLI 控制:** 通过 CLI 标志(`--service`、`--severity`)实现过滤。
- **模拟测试:** 使用 `pytest` 和 `moto` 实现单元测试,以模拟 AWS 环境。
- **改进的 CLI 报告:** 使用 Rich 库重构了输出格式,以提供实时进度跟踪和颜色区分的严重性级别概览。
- **CIS 映射:** 每项检查均映射至 CIS AWS Foundations Benchmark v5.0.0 控制项,其严重性级别由 AWS Security Hub 官方文档指定。
## 架构
CloudSentinel 遵循模块化架构:
* `main.py` 负责协调扫描、过滤资源并管理任务流。
* `scanners/` 中的独立模块通过 `boto3` 与 AWS 交互。
* 使用 `checks.yaml` 定义扫描参数,将特定的安全检查映射到其对应的模块、严重性级别以及 CIS 基准。
* `ReportGenerator` 处理检查结果,并使用 `Rich` 将其渲染至 CLI 仪表板中。
## 输出示例

## 技术栈
- **核心:** Python 3
- **Cloud SDK:** `boto3`
- **测试:** `pytest`、`moto`
- **UI/UX:** `rich`
## 前置条件
#### 所需的 IAM policy:
- AmazonS3ReadOnlyAccess
- IAMReadOnlyAccess
- AmazonEC2ReadOnlyAccess
- AWSCloudTrail_ReadOnlyAccess
- AmazonRDSReadOnlyAccess
## 设置
```
git clone https://github.com/r0shhh/CloudSentinel
cd CloudSentinel
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
aws configure
python3 main.py # run all checks
python3 main.py --service s3 # only S3 checks
python3 main.py --severity CRITICAL # only CRITICAL findings
```
## 当前检查项
| 检查项 | 服务 | 严重性 | CIS |
|---|---|---|---|
| 未启用阻止公共访问 | S3 | 高危 | 2.1.4 |
| 控制台用户未启用 MFA | IAM | 中危 | 1.9 |
| 访问密钥超过 90 天 | IAM | 中危 | 1.13 |
| 用户拥有管理员权限 | IAM | 高危 | 1.15 |
| 存在 Root 用户访问密钥 | IAM | 严重 | 1.3 |
| 端口 22/3389/3306/5432 对 0.0.0.0/0 和 ::/0 开放 | EC2 | 高危 | 3.1.1 & 3.1.2 |
| CloudTrail 未配置或未记录日志 | CloudTrail | 高危 | 3.1 |
| 数据库可公开访问 | RDS | 严重 | 2.2.3 |
| 未为所有 VPC 启用 VPC Flow Logs | VPC | 中危 | 3.7 |
| 未启用 EBS 加密 | EBS | 中危 | 5.1.1 |
## 项目状态
- [x] **核心引擎:** 核心扫描器已在 S3、IAM、EC2、CloudTrail、RDS、VPC 和 EBS 上实现功能。
- [x] **可扩展性:** 成功实现了配置驱动架构。
- [x] **报告:** 自动化 JSON 导出以及精致的实时交互式终端 UI。
- [x] **测试:** 已实施单元测试以确保安全检查的可靠性。
- [x] **合规性:** 已激活与 CIS AWS Foundations 基准的基线映射。
## 未来路线图
- [ ] **扩展扫描器覆盖范围:** 整合对 RDS 加密等额外 AWS 服务的检查,以及高级 IAM policy 分析。
- [ ] **多区域支持:** 支持跨多个 AWS 区域的并发扫描,以提供全面的全球安全态势视图。
- [ ] **增强报告功能:** 实现 PDF 和 HTML 导出格式,便于与非技术利益相关者共享审计结果。
标签:Anthropic, AWS, CIS基准, DPI, Python, 云计算, 安全规则引擎, 无后门, 规则引擎, 逆向工具