MYassineRahmouni/Azure_SOC_Automation_Lab
GitHub: MYassineRahmouni/Azure_SOC_Automation_Lab
基于 Azure 的云原生 SOC & SOAR 自动化实验室,实现端到端威胁检测与自动响应。
Stars: 0 | Forks: 0
# 🛡️ Azure 云原生 SOC & SOAR 自动化实验室
## 📋 项目概述
本存储库记录了一个基于 Microsoft Azure 的完全功能性的云原生安全运营中心(SOC)的架构、部署和运营结果。本项目的首要目标是设计一个端到端的 **检测到阻止自动化流程**,能够识别和缓解实时 RDP 暴力破解攻击,且 **无需人工干预**。
通过故意将 Windows Server 虚拟机暴露在公共互联网上,本实验室吸引了真实世界的僵尸网络流量,从而可以实际配置 Microsoft Sentinel(SIEM)、Kusto 查询语言(KQL)检测和 Azure Logic App(SOAR)响应剧本。
## 🏗️ 架构与技术栈
* **SIEM:** Microsoft Sentinel,日志分析工作区
* **SOAR:** Azure Logic Apps,Azure REST API
* **基础设施:** Azure 虚拟机(Windows Server 2022),虚拟网络(VNet),网络安全组(NSG)
* **遥测与摄取:** Azure Monitor Agent(AMA),Windows 安全事件
* **数据处理与检测:** Kusto 查询语言(KQL),GeoIP 观察名单
## ⚙️ 检测到阻止流程(工作流程)
自动事件响应流程采用了严格的 3 层架构:
1. **暴露与摄取(蜜罐):** 部署了一个 Windows Server VM (`CORP-NET-EAST`),并故意设置了宽松的 NSG 规则,将端口 3389(RDP)暴露给互联网。Windows 安全事件(特别是事件 ID 4625:失败的登录)通过 Azure Monitor Agent 转发到日志分析工作区。
2. **威胁检测(SIEM):** 在 Microsoft Sentinel 中安排了一个自定义 KQL 分析规则(`Brute Force - Auto Block IP`),如果单个 IP 地址在 5 分钟窗口内生成 $\ge10$ 次失败的认证尝试,则会触发事件。
3. **自动响应(SOAR):** 在事件创建后,Azure Logic App 剧本自动执行以下步骤:
* 从 Sentinel 事件实体中提取攻击者的 IP 地址。
* 查询 Azure REST API 读取现有的 NSG 规则,并动态计算下一个可用的安全优先级整数。
* 在 NSG 中注入一个针对攻击者 IP 的 `Deny` 规则,针对所有端口和协议。
* 使用详细的解决审计跟踪关闭 Sentinel 事件。
* *总执行时间:< 2 分钟.*
## 📊 实时流量结果与指标
该流程针对实时、非脚本化的威胁行为者僵尸网络进行了验证。在暴露几小时后,环境成功吸收、分析和缓解了持续的暴力破解浪潮。
| 指标 | 运营结果 |
| :--- | :--- |
| **顶级攻击量** | 来自单一来源(约旦,波兰)的 39,400+ 次失败的登录尝试 |
| **生成的 Sentinel 事件** | 33+ 高严重性事件(映射到 MITRE ATT&CK T1110) |
| **阻止的唯一威胁行为者** | 通过 API 手术性地拒绝 7 个不同的 IP 地址 |
| **SOC 分析师干预** | **0(100% 自动化)** |
## 🗺️ 视觉智能
为了提供即时的态势感知,而无需手动执行 KQL,设计了一个自定义的 **攻击地图工作簿**。通过利用摄取的安全事件和自定义 GeoIP 观察名单之间的 `ipv4_lookup` 连接,该工作簿根据失败计数强度渲染全球攻击源实时交互式热图。
*免责声明:此存储库代表一个受控的实验室环境。故意暴露 RDP 和高度宽松的 NSG 规则是严格为了生成教育安全遥测数据,绝不应在生产环境中复制.*
标签:AMSI绕过, Azure Logic Apps, Azure SOC, Azure虚拟机, GeoIP, KQL, Microsoft Sentinel, RDP暴力破解, SOAR, Windows Server, 威胁检测, 安全事件响应, 安全运营中心, 网络安全, 网络安全组, 网络映射, 自动化响应, 自动化流程, 虚拟化, 隐私保护