rafatyazdani/cloud-security-governance

GitHub: rafatyazdani/cloud-security-governance

基于 Terraform 的 AWS 云安全治理工具包,以风险削减为核心目标部署 IAM 防护栏、日志基线和威胁检测,同时自然产出 NIST 800-53 与 ISO 27001 合规映射。

Stars: 0 | Forks: 0

# 云安全治理即代码 [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![Terraform](https://img.shields.io/badge/Terraform-%3E%3D1.5-purple)](https://www.terraform.io/) [![AWS](https://img.shields.io/badge/Provider-AWS%205.x-orange)](https://registry.terraform.io/providers/hashicorp/aws/latest) [![Controls](https://img.shields.io/badge/Frameworks-NIST%20800--53%20%7C%20ISO%2027001-blue)]() ## “合规优先”安全策略的问题 大多数云治理实施方案都是“合规优先”的——它们实施控制措施仅仅是因为标准框架有规定,而不是因为它们真正理解这些措施能降低什么风险。 本工具包采取了截然相反的方法:**每一项控制措施都有据可依,旨在切断攻击路径**、填补检测盲区,或限制爆炸半径。合规性映射只是这一过程的自然产物,而非最终目的。 ## 包含内容 ``` cloud-security-governance/ ├── modules/ │ ├── iam-guardrails/ # IAM password policy, SCPs, least-privilege roles │ ├── logging-baseline/ # CloudTrail, AWS Config, VPC Flow Logs │ └── security-hub/ # Security Hub standards, GuardDuty, alerting ├── environments/ │ └── example/ # Wires all modules together — copy to deploy ├── controls/ │ ├── nist-mapping.md # NIST SP 800-53 Rev 5 control mapping │ └── iso-mapping.md # ISO/IEC 27001:2022 Annex A mapping └── README.md ``` ## 模块 ### IAM 防护栏 **控制措施:** AC-2, AC-3, AC-6, IA-5, IA-8 | A.5.18, A.8.2 - 账户密码策略(最少 14 个字符,90 天轮换,保留 12 次密码历史) - SCP:拒绝在所有成员账户中使用 root 账户 - SCP:拒绝禁用或删除 CloudTrail(防止入侵后篡改日志) - SCP:拒绝禁用 S3 公共访问阻止功能(防止配置错误导致数据泄露) - SCP:拒绝离开 AWS Organization(防止绕过治理管控) - 遵循最小权限原则的安全只读角色,并在 assume-role 条件中强制要求 MFA ### 日志记录基线 **控制措施:** AU-2, AU-3, AU-6, AU-9, AU-12, SI-4 | A.8.15, A.8.16 - CloudTrail:多区域支持,启用日志文件验证,记录管理事件 + 数据事件 - CloudTrail S3 存储桶:KMS 加密,版本控制,仅限 HTTPS 访问策略,禁止公共访问 - AWS Config:全资源记录器与交付通道 - VPC Flow Logs:将所有流量记录到 CloudWatch,支持自定义保留期 ### Security Hub + GuardDuty **控制措施:** CA-7, IR-4, RA-5, SI-4 | A.8.8, A.8.16 - Security Hub 启用三大标准:CIS、AWS Foundational Security Best Practices、NIST 800-53 - GuardDuty 启用 S3 保护,可选启用 Kubernetes 和恶意软件保护 - EventBridge 规则:将 CRITICAL/HIGH 级别的发现路由到加密的 SNS 主题 - 可随时对接 PagerDuty、Slack 或 SIEM ## 快速开始 ### 前置条件 - Terraform >= 1.5 - 具有组织级权限的 AWS 凭证(用于配置 SCP) - 一个现有的 AWS Organization ### 部署 ``` git clone https://github.com/rafatyazdani/cloud-security-governance.git cd cloud-security-governance/environments/example # 创建你的 tfvars cat > terraform.tfvars < B[SCPs\nIAM Guardrails] A --> C[Member Accounts] C --> D[CloudTrail\nMulti-region] C --> E[AWS Config\nAll resources] C --> F[VPC Flow Logs] D --> G[S3\nEncrypted logs] E --> G C --> H[Security Hub\nCIS + NIST + AWS] C --> I[GuardDuty\nML threat detection] H --> J[EventBridge] I --> J J --> K[SNS Topic\nCRITICAL/HIGH alerts] K --> L[PagerDuty / Slack / SIEM] ``` ## 设计原则 **风险优先,合规为副产品** 选择每一项控制措施,都是因为它能切断真实的攻击路径。合规映射是从这些安全决策中推导出来的,而不是反过来。 **不可变的审计追踪** 通过 SCP 策略,任何主体(包括管理员)都无法禁用日志记录或离开组织。如果安全管控能被受管辖的人随意绕过,那它就形同虚设。 **默认最小权限** 杜绝宽泛的权限分配。本工具包中的每一个 IAM 资源都被严格限制在刚好满足需求的权限范围内,并在特权角色的 assume-role 路径上配置了 MFA 条件。 **设计即可视化** 关键发现会自动路由到 SNS。如果在凌晨 2 点没有告警通知,那么所谓的安全检测就等于形同虚设。 ## 项目组合中的相关工件 - **云原生 CRQ** — 这些控制措施所输出的财务风险暴露建模层位于 [`cyber-risk-quantification`](https://github.com/rafatyazdani/cyber-risk-quantification)。 - **成熟度评分** — 评估这些控制措施所支撑的安全计划成熟度的引擎位于 [`maturity-scoring-engine`](https://github.com/rafatyazdani/maturity-scoring-engine)。 - **AI 治理覆盖** — 针对云上部署的 AI 系统的安全治理工具位于 [`ai-governance-toolkit`](https://github.com/rafatyazdani/ai-governance-toolkit)。 ## 许可证 Apache 2.0 — 在注明出处的前提下,可免费用于商业环境中的使用、改编和部署。 **作者:Rafat Yazdani** — CPA · CISSP · CISA · CCSK · AWS Certified 安全战略与网络风险量化 — Accenture Security
标签:AWS, DPI, ECS, Terraform, 合规治理, 安全基线, 教学环境, 漏洞利用检测