Lia-Bing0/azure-defender-sentinel-detection-lab

GitHub: Lia-Bing0/azure-defender-sentinel-detection-lab

基于Terraform构建的Azure Zero Trust实验环境,演示从Windows端点遥测采集到Sentinel暴力破解检测的完整安全监控管道。

Stars: 0 | Forks: 0

# Azure Zero Trust 检测工程实验环境 Terraform • Microsoft Defender • Microsoft Sentinel • Conditional Access • KQL 这是一个 Azure 安全工程实验环境,演示了 Zero Trust 身份强制执行、基础设施隔离、端点遥测采集、检测工程以及事件生成。基础设施使用 Terraform 进行配置,并与 Microsoft Sentinel 集成,以实现集中化监控和响应。 该实验环境验证了端到端的检测管道:从 Windows 登录失败活动(Event ID 4625)到生成符合 MITRE ATT&CK T1110(Brute Force)标准的高严重性 Sentinel 事件。 ## 架构 ![Azure Zero Trust Sentinel 架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/35b1a36a9f084701.png)
Mermaid 源码(点击展开) ``` flowchart LR %% Identity Plane User[User or Admin Access] --> CA[Conditional Access Policy with MFA] CA --> AzureAD[Azure Identity Plane] %% Subscription Boundary AzureAD --> Sub[Azure Subscription Boundary] %% Infrastructure Boundary subgraph Infra[Zero Trust Infrastructure Boundary] RG[Resource Group] subgraph Network[Network Controls] VNet[VNet and Subnet] NSG[Network Security Group] PIP[Public IP] end subgraph Monitoring[Telemetry and Monitoring] LAW[Log Analytics Workspace] DCR[Data Collection Rule] end VM[Windows Virtual Machine] end Sub --> RG RG --> VNet --> VM RG --> NSG --> VM RG --> PIP --> VM RG --> LAW RG --> DCR --> VM %% Detection Pipeline VM --> AMA[Azure Monitor Agent] AMA --> SecurityEvent[SecurityEvent Table] SecurityEvent --> SentinelRule[Sentinel Scheduled Analytics Rule] SentinelRule --> Incident[High Severity Sentinel Incident] ```
## 构建内容 - Terraform 资源: - Resource Group (rg-zt-sentinel-lab-2jke2) - Virtual Network 和 subnet - Network Security Group - Public IP - Windows Virtual Machine (sentinel-lab-vm01) - Log Analytics Workspace (law-zt-sentinel-lab-2jke2) - 安全监控栈: - 在 Log Analytics Workspace 上启用 Microsoft Sentinel - Windows VM 上的 Azure Monitor Agent (AMA) - 用于采集 Windows Security Events 的 Data Collection Rule (DCR) ## Zero Trust 控制 - Conditional Access 策略对目标用户/组和选定的云应用强制执行 MFA。 - 针对紧急账号/管理员连续性和受控测试应用了安全排除项。 - 策略目标:在访问前验证身份保证,符合 Zero Trust 原则。 ## 安全架构原则 - 身份优先的访问验证(在访问控制平面之前强制执行 MFA) - 最小权限网络暴露(NSG + 受控 RDP 访问) - 通过端点遥测进行持续验证 - Sentinel 中的集中检测和事件关联 - MITRE 对齐的检测策略 ## 遥测与采集 - Windows Security Event 日志通过 AMA 采集,使用与 `sentinel-lab-vm01` 关联的 DCR。 - 采集验证查询: ``` SecurityEvent | take 10 ``` - 验证确认 SecurityEvent 记录已成功采集并可在工作区内查询。 ## 检测工程 - 检测目标:通过对失败登录事件(Event ID 4625)的时间聚合来识别潜在的 RDP 暴力破解行为。 - 计划分析规则使用 Event ID 4625,演示阈值为 5 分钟内 >= 3 次失败,以便在实验室测试中可靠地触发警报。在生产环境中,此阈值通常会提高,并结合额外的上下文(源 IP 频率、地理异常或账户锁定遥测)以减少警报疲劳。 - 规则配置: - 类型:计划分析规则 - 频率:每 5 分钟 - 回溯:过去 5 分钟 - 严重性:高 - MITRE ATT&CK:`T1110 Brute Force` (Credential Access) ### 计划分析规则查询 ``` SecurityEvent | where EventID == 4625 | summarize FailedLogons = count() by Account = tostring(TargetUserName), Host = tostring(Computer) | where FailedLogons >= 3 ``` ## 证据 以下产物展示了成功的基础设施部署、遥测采集、检测规则执行和 Sentinel 事件生成。 - [资源组部署](docs/images/01-resource-group-deployment.png) - [Sentinel 连接到工作区](docs/images/02-sentinel-connected.png) - [DCR 创建并关联](docs/images/03-dcr-configured.png) - [Log Analytics SecurityEvent 采集验证](docs/images/05-securityevent-ingestion.png) - [Event ID 4625 登录失败证据](docs/images/06-eventid-4625-evidence.png) - [Sentinel 中创建的事件](docs/images/07-incident-created.png) ## 仓库结构 ``` . ├─ README.md ├─ docs/ │ ├─ architecture.md │ ├─ detection.md │ ├─ zero-trust.md │ ├─ operations.md │ │ │ └─ images/ │ ├── 01-resource-group-deployment.png │ ├── 02-sentinel-connected.png │ ├── 03-dcr-configured.png │ ├── 04-dcr-associated-vm.png │ ├── 05-securityevent-ingestion.png │ ├── 06-eventid-4625-evidence.png │ ├── 07-incident-created.png └─ terraform/ ├─ main.tf ├─ providers.tf ├─ variables.tf └─ outputs.tf ``` ## 成本、拆除与安全 - 此实验环境会产生 Azure 消耗成本(VM 计算、存储、日志采集和 Sentinel 分析)。 - 完成后销毁所有已配置的基础设施: ``` terraform destroy ``` - 安全提示: - 不要提交包含敏感值的机密、凭证或环境文件。 - 不要发布包含密码、Token 值、订阅 ID、租户 ID 或公共 IP 地址的屏幕截图。 ## 经验总结 - 遥测完整性和配置准确性直接决定检测可靠性和警报保真度。 - 简单的阈值规则对于演示检测管道有效,但需要调整以减少误报。 - Conditional Access 设计需要在安全性与可用性之间取得平衡,包括明确的紧急账号例外。 ## 下一阶段 - 端点检测、关联与自动化 此实验环境的计划扩展包括: - 将 Windows VM 载入 Microsoft Defender for Endpoint (EDR) - 将 Defender for Endpoint 警报集成到 Microsoft Sentinel - 关联身份验证遥测(Event ID 4625)与端点行为检测 - 将 Microsoft Defender for Cloud 警报采集到 Sentinel 以获得更广泛的信号可见性 - 实施 Sentinel playbook 以实现自动丰富和通知 - 添加 GeoIP 丰富以识别可疑登录源位置
标签:Azure, Azure Monitor, Cloudflare, Defender for Cloud, ECS, FOFA, JSONLines, KQL, Microsoft Sentinel, MITRE ATT&CK, PE 加载器, Terraform, Windows 虚拟机, 免杀技术, 安全实验室, 暴力破解检测, 条件访问策略, 端点遥测, 红队行动, 网络安全, 自动化防御, 身份与访问管理, 隐私保护, 零信任