Som-uka/aurora-hardening-playbook
GitHub: Som-uka/aurora-hardening-playbook
这是一本用于加固Amazon Aurora/RDS数据库安全组和访问控制的操作手册。
Stars: 0 | Forks: 0
# Aurora 加固手册
一套结构化方法,用于加固 Amazon Aurora/RDS 集群——涵盖安全组隔离、公网可访问性修复与访问控制收紧,遵循**先开发后生产**的试点策略实施。
## 概述
本手册记录了在实时 AWS 环境中识别和修复暴露过度的 Aurora/RDS 数据库集群的流程。最高风险的发现是生产环境 Aurora 集群通过宽松的安全组规则(包括数据库和缓存端口对 `0.0.0.0/0` 开放入站访问)暴露于公共互联网。
修复遵循 **先开发后生产** 的试点策略:在开发集群上验证所有步骤,确认无服务中断,再在准备好完整回滚方案后应用于生产环境。
## 风险概况
| 风险 | 详情 |
|---|---|
| **公网可访问的 Aurora** | `Publicly Accessible: Yes` 的 RDS/Aurora 实例 |
| **开放的安全组** | 数据库/缓存端口对 `0.0.0.0/0` 开放入站访问 |
| **影响范围** | 生产集群(多可用区,包含写入和读取实例) |
| **业务影响** | 数据库直接暴露于互联网:最高严重等级的发现 |
## 修复阶段
### 阶段一:开发集群试点
- 识别所有连接到开发集群的应用层
- 从关联的安全组中移除 `0.0.0.0/0` 入站规则
- 替换为特定的 CIDR 范围或安全组引用
- 验证所有应用连接仍正常运作
### 阶段二:验证环境确认
- 在验证集群上重复阶段一操作
- 进行负载测试并在模拟流量下验证
### 阶段三:生产环境加固
- 将已验证的安全组变更应用于生产集群
- 变更后监控 CloudWatch 查看连接错误
- 保持回滚命令就绪以立即执行
### 阶段四:迁移至私有子网(未来规划)
- 将 Aurora 集群迁移至无公网路由的私有子网
- 仅通过客户端 VPN 或堡垒主机进行访问
## 安全组加固模板
```
# 记录当前 ingress 规则(变更前状态)
aws ec2 describe-security-groups \
--group-ids \
--query 'SecurityGroups[*].IpPermissions'
# 移除数据库端口上的开放 ingress
aws ec2 revoke-security-group-ingress \
--group-id --protocol tcp \
--port 3306 --cidr 0.0.0.0/0
# 替换为应用层安全组引用
aws ec2 authorize-security-group-ingress \
--group-id --protocol tcp \
--port 3306 --source-group
# 验证公共可访问性
aws rds describe-db-instances \
--query 'DBInstances[*].{ID:DBInstanceIdentifier,Public:PubliclyAccessible}'
```
## 代码库结构
```
aurora-hardening-playbook/
├── README.md
├── phases/
│ ├── phase-1-dev-pilot.md
│ ├── phase-2-staging.md
│ └── phase-3-production.md
├── change-records/
│ ├── CR-dev-sg-containment.md
│ └── CR-prod-sg-containment.md
└── scripts/
├── audit-rds-public-access.sh
└── harden-security-group.sh
```
## 技术栈
- AWS RDS, Aurora (MySQL 兼容版), VPC, Security Groups, CloudWatch
- AWS CLI, Bash / PowerShell
## 架构图

标签:AI合规, Aurora安全, AWS服务, CIDR规则, GitHub Advanced Security, RDS安全, Streamlit, VPN访问, 云基础设施, 公共访问修复, 回滚计划, 堡垒主机, 安全加固, 安全组配置, 应用安全, 最佳实践, 生产环境安全, 监控告警, 私有子网, 网络安全, 访问控制, 隐私保护