viktor-h-tech/microsoft-sentinel-entra-id-detection
GitHub: viktor-h-tech/microsoft-sentinel-entra-id-detection
一个用于在 Microsoft Sentinel 中检测 Entra ID 失败登录的 SIEM 实验室项目。
Stars: 1 | Forks: 0
# Microsoft Sentinel – Entra ID 失败登录检测
## 项目概述
本项目演示了如何部署和配置 **Microsoft Sentinel(SIEM)**,以利用 **Microsoft Entra ID(Azure AD)** 登录日志检测基于凭据的攻击行为。创建了一个自定义的 **KQL** 分析规则,用于在定义的时间窗口内识别多次失败的登录尝试,并按照 **SOC 分析员** 的工作流程生成安全事件。
本实验验证了端到端的 SIEM 功能,从日志摄取到事件创建和调查。
## 架构
Microsoft Entra ID
↓
诊断设置
↓
日志分析工作区
↓
Microsoft Sentinel
↓
自定义 KQL 分析规则
↓
安全事件
## 使用的技术
- Microsoft Azure
- Microsoft Sentinel(SIEM / SOAR)
- Microsoft Entra ID(Azure AD)
- 日志分析工作区
- Kusto 查询语言(KQL)
## 环境准备
### 租户和订阅验证
在部署前已验证正确的 Azure 租户和订阅上下文。

### 基于角色的访问控制(RBAC)
授予订阅范围的“参与者”权限,以启用 Sentinel 资源部署。

### 日志分析工作区部署
创建专用的日志分析工作区以存储安全遥测数据。

### Microsoft Sentinel 启用
在工作区上启用 Microsoft Sentinel。

## 日志摄取配置
### Entra ID 解决方案部署
部署 Sentinel 的 Entra ID 监控所需解决方案。

### 诊断设置
配置 Entra ID 诊断设置,将“登录日志”和“审核日志”转发到 Sentinel。

### 日志摄取验证
确认已成功摄取 Entra ID 登录日志。
```
SigninLogs
| take 5
```

## 分析规则 – 检测工程
### 检测目标
检测来自同一用户和 IP 地址在短时间内多次失败的 Entra ID 登录尝试,指示潜在的暴力破解或凭据填充活动。
### KQL 检测逻辑
```
SigninLogs
| where TimeGenerated > ago(30m)
| where ResultType != 0
| summarize FailedAttempts = count() by UserPrincipalName, IPAddress, bin(TimeGenerated, 10m)
| where FailedAttempts >= 3
```
### 分析规则配置
- 规则类型:计划查询
- 严重性:中
- MITRE ATT&CK 战术:
- 凭据访问
- 初始访问
- 计划:每 5 分钟运行一次
- 事件创建:已启用


### 实体映射
已启用实体映射以丰富调查上下文:
- 账户 → 用户主体名称
- IP 地址 → IPAddress

### 事件设置
配置分析规则以从警报创建事件。

### 规则启用
确认分析规则状态为“已启用”。

## 事件生成与调查
使用非特权测试账户模拟重复的失败身份验证尝试。该分析规则成功生成了 Microsoft Sentinel 事件,验证了检测逻辑和 SIEM 功能。

## 展示的关键技能
- SIEM 部署与配置
- 身份日志摄取与验证
- KQL 查询编写与优化
- 检测工程
- Azure RBAC 故障排除
- SOC 风格事件调查
- Microsoft Sentinel 分析规则调优
## 经验教训
- Microsoft Sentinel 分析规则是基于计划的,而非实时触发
- 明确的 KQL 时间过滤对性能至关重要
- Sentinel 托管身份需要正确的 RBAC 权限
- 检测测试应使用非管理账户以避免账户锁定
## 后续改进
- 使用 Logic Apps 添加 SOAR 自动化
- 扩展检测以包含有风险登录
- 构建 Sentinel 工作簿用于可视化
- 集成 Microsoft Defender 遥测数据
## 作者
Viktor Huynh
Microsoft Sentinel SIEM 实验项目
## 免责声明
本项目在受控的实验室环境中完成,仅用于教育和作品集目的。生产环境中的检测阈值和配置应根据实际情况进行调整。
标签:AMSI绕过, Azure, Azure AD, KQL, Kusto 查询语言, Log Analytics Workspace, Microsoft Entra ID, Microsoft Sentinel, RBAC, SOAR, 凭证攻击, 分析规则, 多次失败尝试, 失败登录, 威胁检测, 安全事件, 安全告警, 安全运营, 扫描框架, 日志采集, 角色访问控制, 诊断设置