nagasesank/multicloud-waf-platform

GitHub: nagasesank/multicloud-waf-platform

基于 Terraform 的企业级多云基础设施项目,用于在 AWS 和 Google Cloud 上对等部署、验证和比较 Web 应用防火墙架构。

Stars: 0 | Forks: 0

Enterprise Multi-Cloud WAF Platform

# 企业级多云安全工程项目

![Terraform](https://img.shields.io/badge/Terraform-IaC-623CE4?style=for-the-badge&logo=terraform) ![AWS](https://img.shields.io/badge/AWS-Cloud-FF9900?style=for-the-badge&logo=amazonaws) ![Google Cloud](https://img.shields.io/badge/Google_Cloud-Platform-4285F4?style=for-the-badge&logo=googlecloud) ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) ![Documentation](https://img.shields.io/badge/Documentation-Enterprise-success?style=for-the-badge)

## 企业级多云 Web Application Firewall 评估平台 一个生产级别的**基础设施即代码**项目,演示如何使用可重用的 Terraform 模块来设计、部署、验证和比较 **AWS WAF** 与 **Google Cloud Armor**。 该项目遵循企业级云工程实践,强调模块化的 Terraform 架构、基础设施验证、安全最佳实践、证据收集以及完整的资源生命周期管理。 本仓库并不局限于单一的云服务提供商,而是展示了一种**厂商中立的实现方式**,突出了 AWS 和 Google Cloud 中对等的云原生服务。 ## 项目目标 本项目的主要目标是: - 构建模块化的 Terraform 基础设施 - 部署安全的 AWS 和 GCP 环境 - 实施 AWS WAF 和 Google Cloud Armor - 比较对等的云原生服务 - 验证基础设施部署 - 生成企业级文档 ## 核心功能 ### 基础设施即代码 - 生产级别的 Terraform 实现 - 模块化架构 - 可重用模块 - 版本控制的基础设施 - 基于环境的配置 ### 多云部署 - Amazon Web Services 实现 - Google Cloud Platform 实现 - 厂商中立的架构 - 跨云服务比较 ### 安全 - AWS WAF - Google Cloud Armor - Identity and Access Management (IAM) - 网络安全 - 第 7 层应用保护 - 最小权限访问 ### 企业级文档 - 架构文档 - 部署指南 - 验证指南 - 清理指南 - 架构对比 - Terraform 对比 - 成本对比 ### 验证 - Terraform 验证 - 基础设施核查 - 浏览器测试 - 安全验证 - 证据收集 - 资源清理 ## 项目概览

Project Overview

该项目在 AWS 和 Google Cloud 上实现了对等的云架构,同时保持了一致的部署工作流和基础设施即代码的方法论。 两种实现都遵循相同的生命周期: ``` Terraform Init -> Terraform Format -> Terraform Validate -> Terraform Plan -> Terraform Apply -> Cloud Console Validation -> Evidence Collection -> Terraform Destroy ``` ## 为什么做这个项目? 越来越多的企业组织采用**多云策略**,以提高弹性、减少供应商锁定,并利用跨提供商的云原生服务。 本仓库演示了如何在 AWS 和 Google Cloud 上实现对等的基础设施,同时保持: - 一致的架构 - 一致的部署方法 - 一致的安全控制 - 可重用的 Terraform 模块 - 企业级文档标准 - 注重成本控制的基础设施生命周期管理 ## 仓库亮点 | 类别 | 详情 | |----------|---------| | 云服务提供商 | AWS & Google Cloud | | 基础设施即代码 | Terraform | | 计算 | Amazon EC2 & Compute Engine | | 负载均衡 | ALB & External HTTP(S) Load Balancer | | Web 防护 | AWS WAF & Google Cloud Armor | | 身份认证 | AWS IAM & Cloud IAM | | 文档 | 15+ 份企业级文档 | | 证据 | 分阶段验证 | | 架构 | 多云 | | 部署 | 模块化 Terraform | ## 目录 - [架构方案](#solution-architecture) - [技术栈](#technology-stack) - [仓库结构](#repository-structure) - [基础设施生命周期](#infrastructure-lifecycle) - [设计原则](#design-principles) - [AWS 实现](#aws-implementation) - [Google Cloud 实现](#google-cloud-implementation) - [AWS 与 Google Cloud 对比](#aws-vs-google-cloud-comparison) - [文档](#documentation) - [工程亮点](#engineering-highlights) - [验证证据](#validation-evidence) - [项目截图](#project-screenshots) - [实施路线图](#implementation-roadmap) - [未来增强功能](#future-enhancements) - [学习成果](#learning-outcomes) - [许可证](#license) - [作者](#author) ## 架构方案

Enterprise Multi-Cloud Architecture

该项目使用 Terraform 在 **Amazon Web Services (AWS)** 和 **Google Cloud Platform (GCP)** 上实现了对等的企业级架构。 这两种环境都遵循相同的基础设施即代码原则,同时利用了云原生的网络、计算、负载均衡、Web Application Firewall、身份管理和日志记录服务。 ## 技术栈

Technology Stack

### 基础设施即代码 | 技术 | 用途 | |------------|---------| | Terraform | 基础设施配置 | | Git | 版本控制 | | GitHub | 源代码管理 | | Markdown | 技术文档 | ### Amazon Web Services | 服务 | 用途 | |---------|---------| | Amazon VPC | 网络基础设施 | | Amazon EC2 | 计算 | | Application Load Balancer | 第 7 层负载均衡 | | AWS WAF | Web Application Firewall | | AWS IAM | Identity and Access Management | | Amazon CloudWatch | 日志和监控 | ### Google Cloud Platform | 服务 | 用途 | |---------|---------| | VPC Network | 网络基础设施 | | Compute Engine | 计算 | | External HTTP(S) Load Balancer | 第 7 层负载均衡 | | Google Cloud Armor | Web Application Firewall | | Cloud IAM | Identity and Access Management | | Cloud Logging | 日志和监控 | ## 仓库结构

Repository Structure

``` Enterprise-MultiCloud-WAF-Platform/ │ ├── aws/ │ ├── modules/ │ ├── main.tf │ ├── variables.tf │ ├── outputs.tf │ └── terraform.tfvars │ ├── gcp/ │ ├── modules/ │ ├── main.tf │ ├── variables.tf │ ├── outputs.tf │ └── terraform.tfvars │ ├── architecture/ │ ├── assets/ │ ├── diagrams/ │ ├── docs/ │ ├── aws/ │ ├── gcp/ │ └── comparison/ │ ├── evidence/ │ ├── aws/ │ └── gcp/ │ ├── attack-scripts/ │ └── README.md ``` ## 基础设施生命周期 两种云实现都遵循相同的基础设施即代码生命周期。 ``` terraform init ↓ terraform fmt ↓ terraform validate ↓ terraform plan ↓ terraform apply ↓ Cloud Console Validation ↓ Application Testing ↓ Evidence Collection ↓ terraform destroy ``` ## 设计原则 本仓库遵循企业级云工程的最佳实践。 - 模块化的 Terraform 架构 - 基础设施即代码 - 厂商中立设计 - 最小权限原则 - 多层安全 - 可重用的基础设施模块 - 完整的基础设施生命周期 - 分阶段验证 - 全面的文档 - 注重成本的资源管理 ## AWS 实现 AWS 环境演示了使用模块化 Terraform 进行的安全 Web 应用生产级部署,该应用受 **AWS WAF** 保护。 ### AWS 架构 | 层级 | AWS 服务 | |--------|-------------| | 网络 | Amazon VPC | | 计算 | Amazon EC2 | | 负载均衡器 | Application Load Balancer | | Web Application Firewall | AWS WAF | | 身份认证 | AWS IAM | | 监控 | Amazon CloudWatch | ### AWS Terraform 模块 | 模块 | 用途 | |---------|---------| | Network | VPC, Subnets, Internet Gateway, Route Tables | | Security | Security Groups | | Compute | EC2 Instance | | ALB | Application Load Balancer | | WAF | AWS WAF Web ACL | | Logging | CloudWatch Integration | | IAM | IAM Role and Instance Profile | 📖 详细文档: - [AWS 文档](docs/aws/README.md) ## Google Cloud 实现 Google Cloud 实现使用云原生的 Google Cloud 服务提供了相同的企业级架构。 ### Google Cloud 架构 | 层级 | Google Cloud 服务 | |--------|----------------------| | 网络 | VPC Network | | 计算 | Compute Engine | | 负载均衡器 | External HTTP(S) Load Balancer | | Web Application Firewall | Google Cloud Armor | | 身份认证 | Cloud IAM | | 监控 | Cloud Logging | ### Google Cloud Terraform 模块 | 模块 | 用途 | |---------|---------| | Network | VPC Network and Subnet | | Firewall | Firewall Rules | | Compute | Compute Engine | | Load Balancer | External HTTP(S) Load Balancer | | Cloud Armor | Security Policy | | Logging | Cloud Logging | | IAM | Service Account and IAM Bindings | 📖 详细文档: - [Google Cloud 文档](docs/gcp/README.md) ## AWS 与 Google Cloud 对比 本仓库的主要目标之一是演示跨两大主流云服务商的对等基础设施实现。 | 基础设施层 | AWS | Google Cloud | |----------------------|-----|--------------| | 网络 | Amazon VPC | VPC Network | | 计算 | Amazon EC2 | Compute Engine | | 负载均衡器 | Application Load Balancer | External HTTP(S) Load Balancer | | Web Application Firewall | AWS WAF | Google Cloud Armor | | 身份认证 | AWS IAM | Cloud IAM | | 日志记录 | Amazon CloudWatch | Cloud Logging | | 基础设施即代码 | Terraform | Terraform | ### 对比文档 | 文档 | 描述 | |----------|-------------| | 架构对比 | docs/comparison/architecture-comparison.md | | WAF 对比 | docs/comparison/waf-comparison.md | | Terraform 对比 | docs/comparison/terraform-comparison.md | | 成本对比 | docs/comparison/cost-comparison.md | ## 文档 该仓库包含了涵盖每个实施阶段的详细技术文档。 | 文档 | 描述 | 链接 | |---------------|-------------|------| | AWS 实现 | 架构、部署、验证、清理 | docs/aws/README.md | | Google Cloud 实现 | 架构、部署、验证、清理 | docs/gcp/README.md | | 多云对比 | 架构、WAF、Terraform、成本 | docs/comparison/README.md | | 架构图表 | 企业级架构 | | 部署指南 | 分步指南 | | 验证指南 | 基础设施核查 | | 清理指南 | 资源移除 | ### 文档结构 ``` docs/ │ ├── aws/ │ ├── README.md │ ├── architecture.md │ ├── deployment-guide.md │ ├── validation.md │ └── cleanup.md │ ├── gcp/ │ ├── README.md │ ├── architecture.md │ ├── deployment-guide.md │ ├── validation.md │ └── cleanup.md │ └── comparison/ ├── README.md ├── architecture-comparison.md ├── waf-comparison.md ├── terraform-comparison.md └── cost-comparison.md ``` ## 工程亮点 本项目展示了对以下方面的实践经验: - 企业级基础设施即代码 - AWS 云安全 - Google Cloud 安全 - AWS WAF - Google Cloud Armor - 模块化 Terraform 开发 - 多云架构 - 基础设施验证 - 技术文档 - 成本优化的资源生命周期 ## 验证证据 在每个部署阶段之后都进行了基础设施验证,以确保所有资源均已成功配置并按预期运行。 证据包括: - Terraform 验证 - Terraform Plan - 成功的基础设施部署 - 云控制台核查 - 浏览器验证 - 安全验证 - 资源清理 - Terraform Destroy ### 证据结构 ``` evidence/ ├── aws/ │ ├── phase-01/ │ ├── phase-02/ │ ├── phase-03/ │ ├── phase-04/ │ ├── phase-05/ │ ├── phase-06/ │ ├── phase-07/ │ └── phase-08/ │ └── gcp/ ├── phase-01/ ├── phase-02/ ├── phase-03/ ├── phase-04/ ├── phase-05/ ├── phase-06/ └── phase-07/ ``` ## 仓库指标 | 指标 | 数量 | |---------|------:| | 云服务提供商 | 2 | | Terraform 根模块 | 2 | | Terraform 子模块 | 14 | | 文档文件 | 15 | | 架构图表 | 12+ | | 视觉资产 | 5 | | 验证阶段 | 15 | | Terraform 生命周期 | End-to-End | | 仓库版本 | v1.0.0 | ## 项目截图 以下截图展示了 AWS 和 Google Cloud 实现的成功部署与验证。 | AWS 部署 | Google Cloud 部署 | |----------------|-------------------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/af/af0e1f55b9591529ad0d830294ed5728724bb46cd5a75ead60cc5b565038fcc2.png) | ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/c9/c9f9d386fe052c60696dfebcdef62367727623204f12851075e8d8938f612a3e.png) | **图 1:** AWS 应用在受到 AWS WAF 保护后,成功通过 Application Load Balancer 进行部署和验证。 **图 2:** Google Cloud 应用在受到 Google Cloud Armor 保护后,成功通过 External HTTP(S) Load Balancer 进行部署和验证。 | AWS WAF | Google Cloud Armor | |----------|--------------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/69/69e8bf45606f41af828bae668857497c9776901d8b29005920d87f26787c328c.png) | ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/c2/c2b3b2060c54c7db51313459aca73208e6a0ee340a2c35e9348cc3ebc30ddb90.png) | **图 3:** 包含托管安全规则的 AWS WAF Web ACL 配置。 **图 4:** 保护后端服务的 Google Cloud Armor 安全策略。 | AWS IAM | Google Cloud 清理 | |----------|----------------------| | ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/80/809803929f9bb7c273623ec100d5bf4c124de4f83c4e732ba2ab1e8ce5302f0e.png) | ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/b2/b24b001f07b4102c227c9e4d36f4d4d79051307d5777176baeb72afdfdf83122.png) | **图 5:** 遵循最小权限原则并附加到 EC2 实例上的 AWS IAM Role。 **图 6:** 使用 `terraform destroy` 成功移除 Google Cloud 基础设施,完成了基础设施即代码的生命周期。 ## 实施路线图

Implementation Roadmap

### 已完成 - 环境规划 - Terraform 仓库设计 - AWS 基础设施 - Google Cloud 基础设施 - AWS WAF 实施 - Google Cloud Armor 实施 - 基础设施验证 - 企业级文档 - 多云对比 - 证据收集 ### 未来功能 计划的改进包括: - Azure Web Application Firewall - Azure Application Gateway - 多区域部署 - GitHub Actions CI/CD - Terraform Cloud 集成 - 安全策略自动化 - OWASP Top 10 测试自动化 - 基础设施合规性验证 - 监控仪表盘 - 成本优化仪表盘 - GitHub Actions Terraform 验证 - Pre-commit Hooks ## 学习成果 - 多云架构 - Terraform 模块设计 - AWS WAF - Google Cloud Armor - IAM - 基础设施验证 - 企业级文档 - 基础设施生命周期管理 ## 许可证 该项目基于 MIT 许可证授权。 有关更多信息,请参阅 `LICENSE` 文件。 ### 作者 **Surya** 云安全工程师 | AWS | GCP | Terraform | DevSecOps [![GitHub](https://img.shields.io/badge/GitHub-nagasesank-181717?logo=github&logoColor=white)](https://github.com/nagasesank) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Surya%20Sesank-0A66C2?logo=linkedin&logoColor=white)](https://www.linkedin.com/in/suryasesank/) ## 致谢 本项目作为一个实践性工程项目集被开发出来,旨在演示企业级基础设施即代码实践、云安全实施以及使用 AWS 和 Google Cloud 的多云架构。

使用 ❤️ 基于 Terraform、AWS、Google Cloud 和企业级云安全实践构建。

标签:AppImage, AWS WAF, ECS, Google Cloud Armor, Terraform, Web应用防火墙, 多云架构, 漏洞利用检测