Tinoprograma/cloudops-helpdesk-security-lab
GitHub: Tinoprograma/cloudops-helpdesk-security-lab
该项目在 AWS 免费套餐上构建了一个零成本的 IT 支持 helpdesk 与安全运营实验室,涵盖身份管理、工单运营、云监控和事件响应全流程。
Stars: 0 | Forks: 0
# CloudOps Helpdesk + Security Lab
部署在 AWS Free Tier 上的端到端 IT 支持与安全运营实验室。旨在展示在身份管理、helpdesk 运营、云基础设施和安全事件检测方面的实践技能——目标职位为 Jr. IT Support Specialist 和 SOC Analyst Trainee。
**总成本**:USD $0.00 (AWS Free Tier)
**持续时间**:14天
**状态**:✅ 完成
## 本项目展示的内容
| 技能领域 | 我构建的内容 |
|---|---|
| **云基础设施** | AWS 上的 VPC、子网、IGW、安全组和 EC2 实例 |
| **身份与访问管理** | 包含用户、组、MFA 和权限集的 AWS IAM Identity Center |
| **IT 支持运营** | osTicket helpdesk — SLA、部门、自定义表单、工单生命周期 |
| **邮件集成** | Amazon SES 配置、SMTP 验证、邮件送达测试 |
| **安全监控** | CloudTrail 审计日志、CloudWatch Agent、日志聚合 |
| **威胁检测** | 针对 brute force、权限提升和凭据访问的 CloudWatch Logs Insights 查询 |
| **事件响应** | 3 份包含 MITRE ATT&CK 映射、IoC 和修复措施的完整事件报告 |
| **文档** | 技术报告、架构决策、经验教训 |
## 架构
```
┌─────────────────────────────────────────────────────────────┐
│ AWS Account (Free Tier) │
│ us-east-1 │
│ │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ Identity Layer │ │ Helpdesk App │ │
│ │ IAM Identity │────────▶│ osTicket v1.18.1 │ │
│ │ Center │ │ EC2 t2.micro │ │
│ │ 3 users, groups │ │ Ubuntu 24.04 │ │
│ │ MFA enforced │ │ Apache + PHP + MariaDB │
│ └──────────────────┘ └──────────────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Endpoint A │ │ Endpoint B │ │
│ │ EC2 t2.micro│ │ EC2 t2.micro│ │
│ │ CW Agent │ │ CW Agent │ │
│ │ Attack host │ │ Target host │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ ┌──────▼─────────────────▼──────────────────────────┐ │
│ │ Security & Monitoring │ │
│ │ CloudTrail · CloudWatch Logs · Alarms · SNS │ │
│ └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
**网络**:自定义 VPC (10.0.0.0/16) · 2 个公共子网 · Internet Gateway
**安全**:采用最小权限规则的安全组 · 仅限基于密钥认证的 SSH
## 技术栈
**云**:AWS (EC2, VPC, IAM Identity Center, CloudTrail, CloudWatch, SES, S3, SNS)
**操作系统**:Ubuntu Server 24.04 LTS
**Helpdesk**:osTicket v1.18.1
**Web 技术栈**:Apache 2 · PHP 8.5 · MariaDB
**监控**:Amazon CloudWatch Agent · CloudWatch Logs Insights
**安全工具**:Hydra(攻击模拟)· swaks(SMTP 测试)
**文档**:Markdown · GitHub
## 项目结构
```
cloudops-helpdesk-security-lab/
├── README.md
├── docs/
│ ├── 01-aws-fundamentals.md # Phase 1: Account setup, VPC, IAM Identity Center
│ ├── 02-helpdesk-deployment.md # Phase 2: osTicket deploy, config, email, operations
│ └── 03-security-operations.md # Phase 3: CloudTrail, monitoring, incidents
│ ├── IR-001-ssh-brute-force
│ ├── IR-002-unauthorized-user-creation
│ └── IR-003-sensitive-file-access
└── PROJECT_ROADMAP.md # Full project plan and scope
```
## 阶段
### Phase 1 — AWS 基础知识 (第 1-3 天)
- 为 AWS 账户的 root 和 IAM admin 用户配置了 MFA
- 配置了账单警报(Budgets + CloudWatch Alarms)— 总成本 $0
- 构建了包含公共子网、Internet Gateway 和安全组的自定义 VPC
- 部署了包含 3 个用户、3 个组、权限集和 MFA 的 AWS IAM Identity Center
**关键决策**:选择 IAM Identity Center 而非传统的 Active Directory — 云原生,无需维护服务器,符合美国优先远程公司的真实技术栈。
📄 [Phase 1 文档](docs/01-aws-fundamentals.md)
### Phase 2 — Helpdesk 部署 (第 4-7 天)
- 在 EC2 上手动部署 osTicket:Ubuntu + Apache + PHP + MariaDB
- 配置了部门(IT 支持部、安全部、HR)、SLA(Critical 2小时至 Low 72小时)、带自动路由的 Help Topics 以及自定义访问申请表单
- 通过 SMTP 验证了 Amazon SES 集成 — 使用 swaks 确认了邮件送达
- 模拟并解决了涵盖所有类别的 10 个多样化工单
**已解决 10 个工单,涵盖**:
- 2 个安全事件(网络钓鱼、未经授权的登录)
- 2 个账户锁定
- 2 个访问申请(含经理审批验证)
- 2 个硬件问题(远程诊断 + 更换请求)
- 2 个一般咨询(VPN 设置、许可证升级)
📄 [Phase 2 文档](docs/02-helpdesk-deployment.md)
### Phase 3 — 安全运营 (第 8-11 天)
- 启用 CloudTrail 进行多区域日志记录并输出至 S3 + CloudWatch
- 在 2 个 endpoint 上部署 CloudWatch Agent — 收集 auth.log 和 syslog
- 使用 Hydra 和手动权限提升模拟了 3 起安全事件
- 为每种事件类型编写了 CloudWatch Logs Insights 检测查询
- 配置了 3 个带有 SNS 通知的 CloudWatch Alarms
- 制作了 3 份包含 MITRE ATT&CK 映射的专业事件报告
**检测并记录的事件**:
| ID | 事件 | 严重性 | MITRE ATT&CK |
|---|---|---|---|
| IR-001 | SSH Brute Force 攻击 | HIGH | T1110.001 |
| IR-002 | 未经授权的用户创建与权限提升 | CRITICAL | T1136.001, T1548 |
| IR-003 | 敏感文件访问与凭据收集 | CRITICAL | T1003.008, T1552.004 |
📄 [Phase 3 文档 + 事件报告](docs/03-security-operations.md)
## 关键经验
**技术方面**
- 如果精心管理资源(不使用时关闭),AWS Free Tier 足以支撑一个生产级别的实验室环境
- CloudWatch Logs Insights 可以在不产生成本的情况下复制基本的 SIEM 功能 — 通过标准日志模式即可实现针对 brute force、权限提升和凭据访问的检测查询
- `[preauth]` SSH 日志模式是可靠的 brute force 指标;`useradd` 日志条目为检测持久化提供了清晰的取证证据
**运营方面**
- 记录做某项决策的*原因*与记录做了*什么*同样重要 — 带有理由的架构决策使文档具有实用价值,而不仅仅是描述性的
- 当 UI 阻碍配置时(如 SES-osTicket 集成),在基础设施层面验证功能(swaks)并如实记录限制,比强行使用替代方案更能体现出成熟度
- MITRE ATT&CK 提供了一套通用词汇,使事件报告能够被任何安全团队轻松阅读
**安全方面**
- 始终应禁用 SSH 上的密码身份验证 — 基于密钥的身份验证是基线标准
- 将 `.pem` 文件存储在服务器上是严重的配置错误 — 私钥应保存在密钥管理系统中
- 源自单个被盗账户的三起事件(brute force → 持久化 → 凭据收集)说明了为什么一旦获得初始访问权限,横向移动会非常迅速
## 成本分析
| 服务 | 使用情况 | 成本 |
|---|---|---|
| EC2 (3x t2.micro) | 不使用时关机 — 每天 ~4 小时 | $0.00 |
| S3 (CloudTrail 日志) | < 5 GB | $0.00 |
| CloudWatch Logs | < 5 GB 摄取量 | $0.00 |
| CloudTrail | 首个 trail 免费 | $0.00 |
| IAM Identity Center | 免费 | $0.00 |
| SES | 沙盒环境中每天 < 200 尒邮件 | $0.00 |
| **总计** | | **$0.00** |
## 关于
由 **Martín Salvo** 构建 — 系统分析师(ORT Argentina,2025年),持有 CompTIA Security+ 认证(2026年5月),持有 ISC2 CC 认证(2026年5月)。
目前正在布宜诺斯艾利斯以及远程国际职位中寻找 Jr. IT Support Specialist 和安全相关职位。
📧 martin.salvo616@gmail.com
🔗 [LinkedIn](https://www.linkedin.com/in/martinsalvo616)
标签:AWS, DPI, IAM, IT支持, 安全运营, 工单系统, 扫描框架, 漏洞探索, 网络研究