siddheshrasal98-ops/aws-devsecops-capstone
GitHub: siddheshrasal98-ops/aws-devsecops-capstone
该项目为 Spring Boot 应用构建了一条覆盖 SAST、SCA、容器扫描、IaC 扫描、DAST 及监控的端到端 AWS DevSecOps CI/CD 流水线,用于演示安全左移的完整落地实践。
Stars: 0 | Forks: 0
# 🚀 员工管理应用的 AWS DevSecOps CI/CD Pipeline
## 📌 项目概述
本项目展示了如何为 Spring Boot 员工管理应用实现完整的 **AWS DevSecOps CI/CD Pipeline**。该解决方案集成了持续集成、基础设施即代码、DevSecOps 安全实践、自动化部署,并使用行业标准的工具和 AWS 云服务进行监控。
该流水线遵循现代 DevSecOps 最佳实践,自动化了代码集成、质量分析、安全验证、基础设施配置、容器化、部署以及可观测性等环节。
# 🎯 目标
- 使用 Jenkins 自动化应用程序的构建和部署。
- 使用 Terraform 实现基础设施即代码。
- 在整个 CI/CD pipeline 中集成安全机制。
- 执行自动化漏洞扫描。
- 使用 AWS Secrets Manager 保护敏感凭证。
- 使用 Docker 部署容器化应用程序。
- 使用 Prometheus 和 Grafana 监控基础设施和应用程序性能。
# 🛠 技术栈
| 类别 | 工具 |
|-----------|--------|
| 版本控制 | Git, GitHub |
| CI/CD | Jenkins |
| 构建工具 | Maven |
| 应用程序 | Spring Boot |
| 静态代码分析 (SAST) | SonarQube |
| 软件组成分析 (SCA) | OWASP Dependency Check |
| 基础设施即代码 | Terraform |
| IaC 安全 | Checkov |
| 策略即代码 | Open Policy Agent (OPA) |
| 容器化 | Docker |
| 容器安全 | Trivy |
| 密钥管理 | AWS Secrets Manager |
| 动态应用程序安全测试 | OWASP ZAP |
| 监控 | Spring Boot Actuator, Prometheus, Grafana |
| 云平台 | AWS |
# 🔄 CI/CD Pipeline 工作流
```
Developer
│
▼
GitHub Repository
│
▼
Jenkins Pipeline
│
├── Source Code Checkout
├── Maven Build
├── SonarQube (SAST)
├── OWASP Dependency Check (SCA)
├── Checkov (IaC Scan)
├── Open Policy Agent (OPA)
├── Terraform (AWS Infrastructure)
├── Docker Build
├── Trivy Image Scan
├── AWS Secrets Manager
├── Docker Deployment
├── OWASP ZAP (DAST)
▼
Spring Boot Application
│
├── Spring Boot Actuator
▼
Prometheus
▼
Grafana
```
# 🔐 DevSecOps 安全实现
- ✅ SonarQube – 静态应用程序安全测试 (SAST)
- ✅ OWASP Dependency Check – 软件组成分析 (SCA)
- ✅ Checkov – 基础设施即代码安全扫描
- ✅ Open Policy Agent (OPA) – 策略即代码验证
- ✅ Trivy – Docker 镜像漏洞扫描
- ✅ AWS Secrets Manager – 安全的密钥管理
- ✅ OWASP ZAP – 动态应用程序安全测试 (DAST)
# ☁ 基础设施即代码
使用 **Terraform** 自动化基础设施配置,包括:
- AWS Provider 配置
- EC2 实例配置
- Security Groups
- IAM 配置
- Terraform 状态管理
- Jenkins 集成
使用的 Terraform 命令:
```
terraform init
terraform plan
terraform apply
terraform destroy
```
# 📊 监控与可观测性
使用以下工具对部署的应用程序进行持续监控:
- Spring Boot Actuator
- Prometheus
- Grafana 仪表板
监控的指标包括:
- CPU 使用率
- 内存使用率
- JVM 指标
- 应用程序健康状况
- 网络统计信息
# 📂 仓库结构
```
aws-devsecops-capstone/
│
├── employee-management-api/
├── terraform/
├── opa/
├── screenshots/
├── Jenkinsfile
├── Dockerfile
├── docker-compose.yml
├── README.md
└── LICENSE
```
# 📸 项目截图
本仓库包含以下内容的截图:
- Jenkins Pipeline 成功状态
- SonarQube 仪表板
- OWASP Dependency Check 报告
- Checkov 扫描
- Terraform 部署
- Docker 容器
- Trivy 扫描
- AWS Secrets Manager
- Prometheus Targets
- Grafana 仪表板
- OWASP ZAP 报告
- 架构图
# ⭐ 核心功能
- 自动化 CI/CD Pipeline
- 基础设施即代码
- 左移 DevSecOps 实现
- 安全的密钥管理
- 自动化安全扫描
- 容器化部署
- 实时监控
- 策略即代码验证
- AWS 云部署
# 🚀 未来增强计划
- Kubernetes 部署
- Amazon EKS
- Helm Charts
- Argo CD (GitOps)
- Slack/MS Teams 通知
- 蓝绿部署
- 金丝雀部署
- 自动化回滚策略
# 👨💻 作者
**Siddhesh Rasal**
GitHub: https://github.com/siddheshrasal98-ops
# 📜 许可证
本项目作为 **Edureka DevOps 研究生项目 (PGDM)** 的一部分开发,仅供教育和作品展示用途。
标签:域名枚举, 漏洞利用检测, 自定义请求头, 请求拦截