da1csb/AWS-Security-Audit-Project
GitHub: da1csb/AWS-Security-Audit-Project
这是一个Python工具,用于审计AWS账户的安全配置并生成HTML修复报告。
Stars: 0 | Forks: 0
# AWS 安全审计工具
一个用于根据 CIS 基准控制措施审计 AWS 账户并生成安全发现 HTML 报告的 Python 工具。
这是我云安全工程作品集的一部分。
## 检查内容
| 检查项 | 服务 | 失败时的严重性 |
|---|---|---|
| IAM 用户未配置 MFA | IAM | 高 |
| S3 阻止公共访问功能已禁用 | S3 | 严重 |
| 安全组 SSH/RDP 对 0.0.0.0/0 开放 | EC2 | 高 |
| CloudTrail 日志记录已禁用或缺失 | CloudTrail | 严重 |
## 我自己 AWS 账户中的实际发现
在我自己的实验账户上运行此工具,返回了 5 项发现:
- **2 项 高** - IAM 用户未配置 MFA
- **1 项 严重** - S3 存储桶禁用了阻止公共访问功能
- **1 项 高** - 安全组 SSH 对互联网(0.0.0.0/0)开放
- **1 项 严重** - 该区域无活跃的 CloudTrail 跟踪
这些是故意创建的错误配置,用于验证工具的检测准确性。
## 报告输出

## 终端输出


## 如何运行
**要求:** Python 3.x,boto3,AWS CLI 已配置只读凭证
```
pip install boto3
python audit.py
```
该脚本会将发现结果输出到终端,并将格式化的 HTML 报告保存到 `report.html`。
## 所需的 IAM 权限
该工具使用最小权限的 IAM 用户运行。唯一需要的权限是:
```
{
"Actions": [
"iam:ListUsers",
"iam:ListMFADevices",
"s3:ListAllMyBuckets",
"s3:GetPublicAccessBlock",
"ec2:DescribeSecurityGroups",
"cloudtrail:DescribeTrails",
"cloudtrail:GetTrailStatus"
]
}
```
## 我学到了什么
- 如何使用 boto3 以编程方式与 AWS 服务交互
- IAM、S3、EC2 和 CloudTrail 的 CIS 基准控制措施
- 为何即使是只读脚本,最小权限 IAM 凭证也很重要
- 配置错误的 S3 存储桶和开放的安全组如何产生真实的攻击面(与 Capital One 泄露事件同属一类发现)
## 使用的技术
Python - boto3 - AWS IAM - S3 - EC2 - CloudTrail - CIS 基准
标签:AWS 安全审计, AWS 配置审计, CIS 基准, CloudTrail 监控, HTML 报告生成, IAM 审计, Python 安全工具, S3 安全检查, 云配置安全, 修复报告, 多模态安全, 安全 misconfiguration 检测, 安全扫描工具, 安全组配置, 最小权限原则, 逆向工具