SIEM 安全监控实验室
一个使用 Wazuh、Suricata 和 MITRE ATT&CK Framework 构建的完整安全监控实验室,用于实时威胁检测、日志分析和事件响应。
 •  • •  •  • 
# 概述
本项目展示了完整的安全信息与事件管理 (SIEM) 实验室的设计与实现,旨在模拟现代的安全运营中心 (SOC)。
该实验室集成了 **Wazuh**、**Suricata**、Linux 虚拟机和 **MITRE ATT&CK Framework**,以演示如何实时收集、关联和分析安全事件。
该项目还包括多种攻击模拟,允许在不同的网络安全场景中验证检测规则和监控能力。
# 核心功能
- 🛡️ 使用 Wazuh 部署 SIEM
- 🚨 使用 Suricata IDS 进行网络入侵检测
- 📊 实时安全仪表板
- 📁 文件完整性监控 (FIM)
- 🔐 SSH 暴力破解检测
- 👤 未经授权的账户创建检测
- ⚡ 权限提升监控
- 🧠 MITRE ATT&CK 映射
- 📈 威胁狩猎仪表板
- 📦 集中式日志管理
# 架构
该实验室采用集中式安全监控架构,端点持续向 Wazuh Manager 发送安全事件。
Suricata 分析网络流量,而 Wazuh 关联主机事件、IDS 警报和系统日志,然后通过交互式仪表板呈现它们。
该架构展示了以下组件之间的交互:
- Wazuh Manager
- Linux Agent
- Suricata IDS
- Elasticsearch
- Wazuh Dashboard
- Kali Linux Attacker
# 实验室环境
| 组件 | 技术 |
|------------|------------|
| Hypervisor | VMware Workstation |
| SIEM | Wazuh |
| IDS | Suricata |
| 操作系统 | Ubuntu Server |
| 攻击机 | Kali Linux |
| Agent 机器 | Ubuntu Desktop |
| 日志存储 | Elasticsearch |
| 仪表板 | Wazuh Dashboard |
# 技术栈
- Wazuh
- Suricata
- Ubuntu Server
- Ubuntu Desktop
- Kali Linux
- VMware Workstation
- MITRE ATT&CK Framework
- Linux Auditd
- 文件完整性监控
# 仪表板展示
Wazuh Dashboard 为分析师提供了对受监控基础设施的实时可见性。
它集中了警报、漏洞信息、系统事件和网络检测,同时支持对可疑活动的快速调查。
## 主仪表板
该仪表板汇总了:
- 受监控漏洞总数
- 严重和高危漏洞
- 平均 CVSS 和 EPSS 分数
- 风险分布
- 受影响最多的供应商
- 交互式安全可视化
## 威胁狩猎
Threat Hunting 视图使分析师能够通过高级查询、时间线分析和日志探索来调查安全事件。
## 安全警报
Wazuh 生成的实时警报使分析师能够快速识别恶意活动并验证检测规则。
# 检测场景
该实验室验证了多种真实的攻击场景,以展示监控平台的有效性。
每个场景都会产生由 Wazuh 收集、关联和可视化的安全事件。
## 场景 1 — 文件完整性监控 (FIM)
第一个场景演示了 Wazuh 如何检测对受监控文件的未经授权的修改。
每当受保护的文件被创建、修改或删除时,文件完整性监控模块会立即生成安全事件。
**检测**
- 文件监控
- 完整性验证
- 实时警报生成
**结果**
✔️ 成功检测到文件修改。
## 场景 2 — 网络入侵检测 (Suricata)
Suricata 分析网络流量,并在检测到可疑数据包时生成 IDS 警报。
生成的事件被转发到 Wazuh 进行集中分析。
**检测**
- 网络 IDS
- 基于签名的检测
- 数据包检查
**结果**
✔️ Suricata 与 Wazuh 成功集成。
## 场景 3 — SSH 暴力破解攻击
使用 Hydra 从 Kali Linux 对 Ubuntu SSH 服务发起了暴力破解攻击。
重复的身份验证失败被 Wazuh 检测并关联。
**MITRE ATT&CK**
- T1110 — 暴力破解
**检测**
- 身份验证失败
- SSH 监控
- 攻击关联
**结果**
✔️ 成功检测到暴力破解攻击。
## 场景 4 — 未经授权创建用户
在受监控的机器上创建了未经授权的本地账户。
Wazuh 在检测到系统账户数据库的修改后立即生成了警报。
**MITRE ATT&CK**
- T1136 — 创建账户
**检测**
- 用户创建
- 权限监控
**结果**
✔️ 成功检测到账户创建。
## 场景 5 — 权限提升
通过 sudo 执行的特权命令生成了由 Wazuh 收集的安全事件。
该实验室展示了对 Linux 系统上执行的特权操作的监控。
**MITRE ATT&CK**
- T1548.003 — Sudo 和 Sudo 缓存
**检测**
- Sudo 监控
- 权限提升
**结果**
✔️ 成功检测到特权活动。
# MITRE ATT&CK 映射
| 场景 | 技术 | MITRE ID |
|----------|-----------|-----------|
| SSH 暴力破解 | 暴力破解 | T1110 |
| 用户创建 | 创建账户 | T1136 |
| 权限提升 | Sudo | T1548.003 |
| 文件完整性监控 | 文件监控 | T1565 |
| 网络 IDS | 网络监控 | TA0011 |
# 检测流水线
监控工作流结合了自动化的漏洞收集、规范化、富化和集中存储。
安全信息在关联和可视化之前,会持续从多个受信任的来源同步。
该流水线集成了:
- 国家漏洞数据库 (NVD)
- CISA 已知被利用漏洞 (KEV)
- EPSS 分数
- 数据规范化
- 信息富化
- SQLite 存储
- 自动化同步
# 项目结构
```
siem-security-monitoring-lab
│
├── assets
│ ├── banner.png
│ ├── architecture.png
│ ├── dashboard.png
│ ├── threat-hunting.png
│ ├── alerts.png
│ ├── scenario-fim.png
│ ├── scenario-suricata.png
│ ├── scenario-hydra.png
│ ├── scenario-account.png
│ ├── scenario-sudo.png
│ └── mitre-mapping.png
│
├── docs
│ ├── Report.pdf
│ └── Lab-Setup.md
│
├── README.md
├── LICENSE
├── CHANGELOG.md
└── .gitignore
```
# 部署摘要
该实验室使用三台虚拟机部署在 VMware Workstation 中。
| 机器 | 用途 |
|---------|----------|
| Wazuh Server | SIEM / XDR 平台 |
| Ubuntu Agent | 受监控的端点 |
| Kali Linux | 攻击模拟 |
主要部署步骤:
1. 安装 VMware Workstation。
2. 为 Wazuh 部署 Ubuntu Server。
3. 安装 Wazuh Manager、Indexer 和 Dashboard。
4. 部署 Ubuntu Agent。
5. 安装 Wazuh Agent。
6. 安装并配置 Suricata。
7. 注册 Agent。
8. 验证通信。
9. 执行攻击场景。
10. 分析生成的警报。
# 实验室工作流
监控实验室遵循以下生命周期:
```
Attack Simulation
│
▼
Linux System Logs
│
▼
Suricata IDS
│
▼
Wazuh Agent
│
▼
Wazuh Manager
│
▼
Indexer
│
▼
Dashboard
│
▼
Security Analyst
```
此工作流重现了安全运营中心 (SOC) 中常见的监控周期。
# 结果
五个具有代表性的网络安全场景被成功执行和检测。
| 场景 | 状态 |
|----------|--------|
| 文件完整性监控 | ✅ |
| Suricata 网络检测 | ✅ |
| SSH 暴力破解 | ✅ |
| 未经授权创建用户 | ✅ |
| 权限提升 | ✅ |
生成的事件已成功在 Wazuh Dashboard 中集中、关联和可视化。
# 未来改进
未来的发展可能包括:
- 带有 Sysmon 的 Windows 端点
- Active Response 自动化
- Docker 部署
- Sigma 规则集成
- YARA 规则集成
- 威胁情报源
- 多个 Linux 和 Windows Agent
- 自定义 SOC 仪表板
- 电子邮件和 Slack 警报
- 自动化事件响应剧本
# 作者
开发者
**Aaron ABAVI**
计算机科学专业硕士 — 网络安全
魁北克大学希库蒂米分校 (UQAC)
指导教师:
**Mr. Fehmi Jaafar**
# 许可证
本项目基于 MIT 许可证发布。
有关更多信息,请参阅 LICENSE 文件。