Suslik207/aws-secure-web-project
GitHub: Suslik207/aws-secure-web-project
一个实践性的 AWS 云安全学习项目,通过部署安全的 Web 应用基础设施来演示 IAM、VPC、最小权限和审计监控等核心云安全控制措施。
Stars: 0 | Forks: 0
# 安全的 AWS Web 应用程序
## 项目描述
本项目演示了如何在 AWS 中部署和保护基本的 Web 应用程序。
目标是理解核心的云安全概念,例如 IAM 角色、最小权限以及安全的网络配置。
## 架构
- EC2 (t3.micro - 免费套餐)
- IAM 角色
- S3
- VPC (自定义)
- 安全组
- CloudTrail (日志记录)
## 我的工作
- 创建了包含子网和互联网访问的自定义 VPC
- 启动了 EC2 实例 (t3.micro)
- 安全地配置了 SSH 访问(限制为我的 IP)
- 安装并配置了 nginx Web 服务器
- 部署了一个简单的 HTML 网站
- 创建 IAM 角色并将其附加到 EC2
- 启用了从 EC2 到 S3 的安全访问(无需 access keys)
- 启用 CloudTrail 进行监控和日志记录
## 安全特性
- 使用 IAM 角色代替 access keys
- 应用了最小权限原则
- 将 SSH 访问(端口 22)限制为仅我的 IP
- 允许 HTTP(端口 80)进行公共 Web 访问
- 服务器上未存储敏感凭证
- 启用 CloudTrail 以审计活动
## 我的收获
- IAM 用户与 IAM 角色的区别
- 为什么 IAM 角色比 access keys 更安全
- 云网络安全基础知识 (VPC、安全组)
- 如何使用最小权限降低风险
- EC2 如何与 S3 安全地进行交互
- 云环境中日志记录和监控的重要性
## 安全决策
- 使用 IAM 角色代替 access keys 以避免凭证泄露
- 限制 SSH 访问以最小化攻击面
- 应用最小权限原则以减少潜在的爆炸半径
## 备注
本项目是我迈向云安全工程师学习路线的一部分。
## 截图
### EC2 实例
!
### 安全组
!
### IAM 角色
!
### Web 应用程序
!
```
flowchart LR
User --> Internet
subgraph AWS
EC2 --> S3
EC2 --> IAM
EC2 --> SG
CT --> EC2
end
User[User] --> EC2[EC2]
S3[S3]
IAM[IAM Role]
SG[Security Group]
CT[CloudTrail]
Internet[Internet]
```
### 安全组
!
### IAM 角色
!
### Web 应用程序
!
```
flowchart LR
User --> Internet
subgraph AWS
EC2 --> S3
EC2 --> IAM
EC2 --> SG
CT --> EC2
end
User[User] --> EC2[EC2]
S3[S3]
IAM[IAM Role]
SG[Security Group]
CT[CloudTrail]
Internet[Internet]
```
标签:AWS, CloudTrail, DPI, IAM, VPC, Web基础设施, 多模态安全, 安全配置