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 跟踪 这些是故意创建的错误配置,用于验证工具的检测准确性。 ## 报告输出 ![HTML 报告](https://raw.githubusercontent.com/da1csb/AWS-Security-Audit-Project/main/) ## 终端输出 ![终端中的 IAM 和 S3 发现](https://raw.githubusercontent.com/da1csb/AWS-Security-Audit-Project/main/) ![终端中的安全组和 CloudTrail 发现](https://raw.githubusercontent.com/da1csb/AWS-Security-Audit-Project/main/) ## 如何运行 **要求:** 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 检测, 安全扫描工具, 安全组配置, 最小权限原则, 逆向工具