aahme05/enterprise-siem-sentinel-lab

GitHub: aahme05/enterprise-siem-sentinel-lab

该项目从零搭建了一个基于 Microsoft Sentinel 的企业级云 SIEM 实验环境,通过真实攻击验证 Snort IDS 和 KQL 规则的网络威胁检测能力。

Stars: 0 | Forks: 0

# 企业级 SIEM 实施与网络威胁检测实验室 **CST8808 — 网络事件响应** · 2025年4月 平台:Microsoft Azure Sentinel · 目标:Windows Server 2016 (IIS) · 攻击机:Kali Linux · 环境:VMware Workstation ## 概述 一个从零开始构建并经过端到端验证的云原生 SIEM:将一台 Windows Server 2016 Web 服务器接入 Microsoft Sentinel,配置了多种日志源,随后从 Kali Linux 机器上发起真实攻击,以确认检测功能是否正常触发——不仅是完成配置,更是通过真实流量证明了其有效性。 本次构建并未使用最初建议的本地部署 Splunk Enterprise,而是采用了 **Microsoft Sentinel**,这是一款云托管的 SIEM,无需维护本地服务器。 ## 架构 - **Windows Server 2016** — 运行 IIS(目标 Web 应用)和 Windows 防火墙日志记录,通过 **Azure Arc** 和 **Azure Monitor Agent (AMA)** 连接到 Azure - **Kali Linux** — 攻击机(Nmap、Hydra) - **Microsoft Sentinel** — 收集日志、评估检测规则、引发事件 一个隔离的 VMware 网络(`VMnet16`,`192.168.1.0/24`)将所有实验室流量限制在内部;Windows Server 上的第二个 NAT 模式适配器提供出站互联网访问,以便连接 Azure。 ## 日志管道 两条自定义的数据收集规则 (DCR) 将日志从本地服务器流式传输到 Sentinel 工作区: | DCR | 源 | 目标表 | |---|---|---| | DCR-Firewall-Logs | `pfirewall.log` (Windows 防火墙) | `FirewallLogs_CL` | | DCR-IIS-Logs | IIS 日志 (`W3SVC1`) | 自定义 IIS 表 | | DCR-Snort-logs | Snort `alert.ids` | `SnortIDSAlert_CL` | 同时还安装了 **Windows Security Events** Sentinel 解决方案,用于摄取安全日志事件(包括事件 ID 4625 — 登录失败),而无需使用自定义表。 ## 实时检测:Snort IDS Snort 2.9.20 直接运行在 Windows Server 上,使用自定义规则集 (`icmp.rules`) 进行检测: - SYN 扫描 - XMAS 扫描(FIN+PSH+URG 标志) - FIN 扫描 - UDP 扫描 - TCP 全连接扫描 匹配记录被写入 `alert.ids`,通过 Snort DCR 转发到 Sentinel,并由专用的 Analytics 规则(每种扫描类型一条)提取,将匹配的日志条目升级为 Sentinel 事件。 ## 检测规则:基于失败 RDP 登录的暴力破解 最复杂的规则实现了端到端的 RDP 暴力破解检测: 1. Hydra 从 Kali 向端口 3389 发起密集的凭证尝试 2. 每次失败都会在 Windows 安全日志中记录为 **事件 ID 4625** 3. AMA 将新的安全事件以近实时的方式转发到 `SecurityEvent` 表 4. 一个 Sentinel Analytics 规则每 5 分钟运行一次,检查过去 5 分钟的数据: ``` SecurityEvent | where EventID == 4625 | where TargetAccount has "administrator" | summarize FailureCount = count() by IpAddress, bin(TimeGenerated, 1m) | where FailureCount > 10 ``` 5. 超过阈值(每分钟 10 次以上失败)会自动生成一个**高严重性**事件 ## 验证 从 Kali 向 Windows Server 发起了实时攻击,以确认整个管道而不仅仅是配置的有效性: - `nmap -sS` / `nmap -sX` 扫描 → 被正确分类为 SYN 扫描 / XMAS 扫描事件 - Hydra RDP 暴力破解 → 被正确分类为暴力破解检测事件 所有事件都出现在 Sentinel 的事件队列中,并按类型正确标记,这证实了 DCR、自定义日志表和 Analytics 规则已被正确地连接在一起。 ## 为什么选择 Sentinel 而不是本地 SIEM - **可扩展性** — 云资源会随日志量自动扩展 - **无需硬件** — 无需在本地进行机架安装、修补或维护 - **内置威胁情报** — 开箱即用 Microsoft 的全球情报源和机器学习检测 - **统一的视图** — Azure Portal 覆盖了每一个已连接的数据源 - **快速部署** — 几小时即可完成,而典型的本地 SIEM 部署通常需要数天/数周 ## 工具 Microsoft Azure Sentinel · Azure Arc · Azure Monitor Agent (AMA) · Snort IDS · KQL · Nmap · Hydra · VMware Workstation · Windows Server 2016 (IIS) · Kali Linux
标签:AMSI绕过, CTI, KQL, Microsoft Sentinel, 威胁检测, 安全实验室, 安全运营, 扫描框架, 插件系统