murpheelee/azure-sentinel-siem-lab

GitHub: murpheelee/azure-sentinel-siem-lab

基于 Microsoft Sentinel 构建的云原生 SIEM 实验环境,演示从日志接入、KQL 检测规则编写到 SOAR 自动化响应的完整安全运营流程。

Stars: 0 | Forks: 0

Sentinel Azure KQL Logic Apps

# Azure Sentinel SIEM 实验环境 ## 目标 部署并配置 Microsoft Sentinel 作为云 SIEM 解决方案,演示从 Workspace 创建到日志接入、自定义检测规则编写、事件调查以及使用 SOAR Playbook 进行自动化响应的完整生命周期。 ## 实验架构 ``` ┌─────────────────────────────────┐ │ Microsoft Sentinel │ │ (SIEM + SOAR Platform) │ └───────────────┬─────────────────┘ │ ┌───────────────┴─────────────────┐ │ Log Analytics Workspace │ └───────────────┬─────────────────┘ │ ┌───────────────┼───────────────┐ │ │ │ ┌─────┴─────┐ ┌─────┴──────┐ ┌─────┴─────┐ │ Windows VM │ │ Azure AD │ │ NSG Flow │ │ Event Logs │ │ Sign-in │ │ Logs │ │ (Sysmon) │ │ Logs │ │ │ └───────────┘ └────────────┘ └───────────┘ ``` ## 工具与环境 | 组件 | 技术 | 用途 | |-----------|-----------|---------| | SIEM 平台 | Microsoft Sentinel | 日志聚合、分析、事件管理 | | 日志存储 | Log Analytics Workspace | 集中式日志存储库 | | 终端节点 | Azure VMs (Windows 10/Server) | 生成安全事件的日志源 | | 监控 | Sysmon | 增强的终端遥测 | | 身份 | Azure Active Directory | 登录和审计日志源 | | 网络 | NSG Flow Logs | 网络流量监控 | | 自动化 | Logic Apps (SOAR) | 自动化事件响应 Playbook | | 查询语言 | KQL | 自定义检测规则和狩猎查询 | ## 项目阶段 ### 阶段 1: 环境设置 - 配置 Azure 订阅和资源组 - 部署 Log Analytics Workspace - 在 Workspace 上启用 Microsoft Sentinel - 部署已安装 Sysmon 的 Windows VM 终端节点 - 配置 NSG 和诊断设置 ### 阶段 2: 数据连接器与日志接入 - 通过 AMA (Azure Monitor Agent) 连接 Windows 安全事件 - 启用 Azure Active Directory 连接器以获取登录和审计日志 - 配置 NSG Flow Logs 接入 - 使用 KQL 查询验证数据接入: ``` // Verify Windows Security Events are flowing SecurityEvent | where TimeGenerated > ago(1h) | summarize count() by EventID | order by count_ desc | take 10 ``` ``` // Check Azure AD sign-in logs SigninLogs | where TimeGenerated > ago(24h) | summarize count() by ResultType, ResultDescription | order by count_ desc ``` ### 阶段 3: 分析规则 (自定义检测) 构建用于检测常见攻击模式的自定义分析规则: | 规则 | 严重程度 | MITRE ATT&CK | 描述 | |------|----------|---------------|-------------| | 暴力破解尝试 | 高 | T1110 | 同一来源在多次登录失败后成功登录 | | 可能的权限提升 | 高 | T1078 | 用户被添加到管理员组 | | 可疑的 PowerShell 执行 | 中 | T1059.001 | 检测到编码或混淆的 PowerShell 命令 | | Tor 出口节点连接 | 高 | T1090 | 连接到已知 Tor 出口节点的出站连接 | | 过多的登录失败 | 中 | T1110.001 | 15 分钟内超过 10 次登录失败尝试 | **示例: 暴力破解检测规则** ``` // Detect brute force: 10+ failed logons followed by a success let failedLogons = SecurityEvent | where TimeGenerated > ago(1h) | where EventID == 4625 | summarize FailedCount = count(), FirstAttempt = min(TimeGenerated), LastAttempt = max(TimeGenerated) by SourceIP = IpAddress, TargetAccount = Account | where FailedCount >= 10; let successfulLogons = SecurityEvent | where TimeGenerated > ago(1h) | where EventID == 4624 | project SuccessTime = TimeGenerated, SourceIP = IpAddress, TargetAccount = Account; failedLogons | join kind=inner successfulLogons on SourceIP, TargetAccount | where SuccessTime > LastAttempt | project TargetAccount, SourceIP, FailedCount, FirstAttempt, LastAttempt, SuccessTime ``` ### 阶段 4: 事件响应 & SOAR 使用 Logic Apps 的自动化响应 Playbook: | Playbook | 触发器 | 动作 | |----------|---------|--------| | 隔离受损主机 | 高严重性事件 | 通过 Azure API 禁用 VM 网络适配器 | | 封禁恶意 IP | 检测到 Tor/已知恶意 IP | 将 IP 添加到 NSG 拒绝规则 | | 通知 SOC 团队 | 任何新事件 | 发送包含事件详情的 Teams/电子邮件通知 | | 增强 IP 情报 | 包含外部 IP 的新事件 | 查询 VirusTotal/AbuseIPDB 并添加为评论 | ### 阶段 5: Workbook 与仪表板 提供以下功能的自定义 Sentinel Workbook: - 实时事件概览(已开启、已关闭、严重程度分布) - 认证尝试的地理位置可视化 - 受攻击最多的账户和源 IP - 失败与成功的认证趋势 - 平均检测时间 (MTTD) 和响应时间 (MTTR) 指标 ## 展示的关键技能 - 云 SIEM 部署与配置 - 日志源接入和数据连接器管理 - 用于检测工程的 KQL 查询编写 - MITRE ATT&CK 框架映射 - SOAR Playbook 开发 - 安全仪表板和报告设计 - 事件调查和分类工作流
标签:AMSI绕过, Azure AD, Azure Logic Apps, Azure 监控, EDR, KQL, Kusto 查询语言, Log Analytics, Microsoft Sentinel, PE 加载器, Playbook, RFI远程文件包含, SIEM 部署, SOAR, Windows 安全, 合规性监控, 威胁检测, 安全实验室, 安全编排与自动化响应, 安全运营中心, 网络安全实验, 网络映射, 脆弱性评估, 身份安全