waisyrr/Enterprise-Azure-Wazuh-SIEM-SOAR-Security-Operations-Lab
GitHub: waisyrr/Enterprise-Azure-Wazuh-SIEM-SOAR-Security-Operations-Lab
基于 Azure 构建的企业级 SOC 实验室,集成 Wazuh SIEM 与 Shuffle SOAR 实现端到端的日志监控、威胁检测、自动化响应与事件验证。
Stars: 0 | Forks: 0
# 企业级 Azure SOC:Wazuh SIEM、SOAR 与事件响应实验室
Slack 告警包含案例 ID、事件 ID、严重程度、优先级、端点、目标账户、失败登录次数、分配的队列和 SLA。
## 分析师审批
` 条目。 | 采集健康度取决于干净的端点配置。 |
| 自定义规则 `100100` 已加载但未触发 | `archives.json` 显示,规则引擎需要解码后的字段(例如 `win.eventdata.image`),而不是已索引的 Dashboard 字段(例如 `data.win.eventdata.image`)。 | 已索引的字段和解码器字段属于不同的 pipeline 阶段。 |
| 内置的 Shuffle 操作失败或请求了不合适的权限 | 将不可靠的连接器步骤替换为直接的 HTTP 操作和 webhook,然后通过返回的执行数据进行验证。 | 当连接器受限时,SOAR 工作流应优雅降级。 |
| Azure Automation 报告成功但未证明端点发生了更改 | 分别测试了执行上下文、Managed Identity、RBAC 和 Hybrid Worker 部署;然后从 Windows 检查了防火墙状态。 | 仅仅是编排状态不能证明控件的有效性。 |
| Defender 在本地检测到了 EICAR,但没有确认匹配的 Wazuh 事件 | 本地控件发挥了作用,但未证实 Defender 到 Wazuh 的遥测路径。 | 必须如实记录可见性差距,而不是夸大其词。 |
## 前置条件
- Microsoft Azure 订阅以及创建网络、VM 和 Automation 资源的权限
- Windows Server 2025、Windows 11 Pro 和 Ubuntu Server 虚拟机
- Wazuh Manager、Indexer、Dashboard 和 agent
- Active Directory 和端点的管理员访问权限
- Python 3、PowerShell、Bash、Sysmon 和 Auditd
- Shuffle 账户
- 可选的 VirusTotal、AbuseIPDB、Slack 和电子邮件凭据
- 用于受控对手模拟的 Atomic Red Team
## 仓库结构
```
enterprise-azure-soc-lab/
├── README.md
├── architecture/
│ └── diagrams/
├── python/
│ ├── lib/
│ ├── reports/
│ └── 11 SOC automation and reporting scripts
└── screenshots/
├── 01-azure/
├── 02-active-directory/
├── 03-windows-client/
├── 04-wazuh/
├── 05-shuffle/
├── 06-python/
├── 07-validation/
└── 08-architecture/
```
## 经验教训
1. **独立验证每一层。** Azure 网络、主机防火墙、服务、agent、事件通道、规则和 Dashboard 都可能单独发生故障。
2. **验证目标状态。** 一个成功的操作或编排作业并不能证明预期的安全控件发生了改变。
3. **首先使用安全的执行证明。** 非破坏性日志记录在隔离测试之前验证了 Active Response 路径。
4. **将遥测与告警分开。** 一个事件可能存在于本地,但并未被收集、解码、匹配或提升为告警。
5. **破坏性操作需要人工审批。** 潜在的隔离操作仍需经过分析师审查。
6. **如实记录差距。** 当声明与证据相符时,不成功的测试和可见性差距反而会增强项目的说服力。
## 未来改进
- 导出经过脱敏处理的 Wazuh 配置、自定义规则、解码器、Active Response 脚本、Azure runbook 和 Shuffle 工作流
- 将 Microsoft Defender Operational 事件接入 Wazuh
- 完成自定义规则 `100100` 的端到端验证
- 将原型状态脚本替换为基于 API 或服务的检查
- 添加单元测试、Wazuh 样本 fixture、CI 检查和密钥扫描
- 使用一次性用户验证 AD 账户禁用操作
- 通过完整的攻击到隔离链条重新运行一次受控事件
- 添加基础设施即代码以实现可重复的 Azure 部署
## 安全与道德
所有攻击活动均在受控实验室环境中进行,以进行防御性安全验证。本项目不授权对非自有或未经明确批准进行评估的系统进行测试。
## 作者
**Uwais Watkins**
GitHub: [`waisyrr`](https://github.com/waisyrr)
从 Windows 验证的有效域密码和账户锁定设置。
### SIEM 与 SOAR 集成
Windows 11 成功加入到企业域。
### 3. 端点与 Linux 遥测 Windows 系统提供了 Security 事件、Sysmon 进程遥测、PowerShell 活动、文件完整性监控 (FIM) 事件和 agent 健康数据。Ubuntu 主机提供了 SSH 身份验证日志、Auditd 事件、本地 Linux FIM 和 Wazuh 服务器日志。
Windows Server 和 Windows 11 agent 的集中可见性。
### 4. 安全监控与态势 #### 文件完整性监控 Wazuh 捕获了受监控系统上的文件添加、文件修改和文件删除活动。
单独的失败登录和更高严重级别的关联告警同时显示。
Python 时间线重建了从基础事件到关联规则的演变过程。
受控 PowerShell 对手模拟后捕获的详细进程遥测数据。
除非在 Wazuh 规则元数据中可见该映射,否则该事件不会被视为自动映射到 MITRE。 ## Python 自动化 主要的 数据驱动实用程序是 [`python/alert_report.py`](python/alert_report.py)。它能够: ``` cd python python3 alert_report.py \ --input /var/ossec/logs/alerts/alerts.json \ --output-dir reports \ --limit 1000 ```
在事件富化期间执行的 VirusTotal 和 AbuseIPDB 操作。
### P1 通知
工作流在可能具有破坏性的响应之前暂停为 WAITING 状态。
该审批门禁防止了将富化或通知的成功自动授权为端点隔离或账户禁用。 ## 自动化响应与验证 ### Wazuh Active Response 一个安全的服务器端 Wazuh Active Response 命令被附加到规则 `60204` 上。该脚本向 `active-responses.log` 写入了带有时间戳的 `SAFE_ACTIVE_RESPONSE_TRIGGERED` 条目,在隔离测试之前证明了由规则触发的执行路径。
Wazuh Active Response 工作流已执行的非破坏性证明。
### Azure Automation Azure Automation、Hybrid Runbook Worker 和 PowerShell runbook 被用于测试端点侧的响应执行。在测试期间隔离了 Managed Identity、RBAC、执行上下文和 Worker 部署的限制。
标签:AI合规, Azure云安全, PE 加载器, SOC实验室, Terraform 安全, Wazuh, x64dbg, 安全运营自动化, 管理员页面发现, 逆向工具