kalyk-m/sentinel-detection-engineering
GitHub: kalyk-m/sentinel-detection-engineering
一套 Microsoft Sentinel 的 KQL 检测规则与 SOAR playbook 参考模板,演示从识别暴力破解到自动禁用账户的完整检测响应闭环。
Stars: 0 | Forks: 0
# Sentinel 检测工程
Microsoft Sentinel analytics rules、一个 SOAR playbook 以及一个 workbook —— 这是 Azure SIEM/SOAR 工作中的检测工程切片:专注于身份验证的 KQL、自动化的暴力破解响应,以及一个可以在同一处监控所有内容的仪表板。
这是一个参考/演示仓库:包含通用的检测规则和一个通用的 playbook,并非从任何生产租户中导出的内容。占位符值(应用名称、阈值)已在每个文件的注释中说明 - 在部署之前,请根据您的环境对其进行调整。
## 目录
| 路径 | 内容说明 |
|---|---|
| [`analytics-rules/`](analytics-rules) | 5 个独立的 KQL 查询,每个 Sentinel analytics rule 对应一个,并在 [analytics-rules/README.md](analytics-rules/README.md) 中包含了 MITRE ATT&CK 映射 |
| [`playbooks/auto-disable-on-bruteforce.json`](playbooks/auto-disable-on-bruteforce.json) | Logic App ARM 模板:在创建 incident 时,通过 Graph API 禁用被标记的账户(使用 Managed Identity 身份验证,无需 client secret),并将审计评论记录回该 incident |
| [`workbooks/detection-overview.json`](workbooks/detection-overview.json) | Sentinel workbook - 风险登录的时间图表,以及当前匹配暴力破解阈值的账户的实时表格 |
## 检测到响应的流程
```
flowchart LR
A[SigninLogs] --> B[brute-force-lockout-trigger.kql]
B -->|Analytics Rule fires| C[Sentinel Incident]
C --> D[auto-disable-on-bruteforce playbook]
D -->|Graph PATCH accountEnabled=false| E[Entra ID]
D -->|Add comment| C
```
`brute-force-lockout-trigger.kql` 规则和自动禁用 playbook 被设计为一对匹配的组合:查询中的 `AccountDisableRecommended` 字段专门用于让 playbook 有明确的目标可以执行操作,而不是从原始的 incident 文本中重新推断意图。
## 部署规则
1. Sentinel → Analytics → Create → Scheduled query rule。
2. 粘贴相应 `.kql` 文件中的查询主体。
3. 根据该文件头部注释中的说明设置 schedule/lookback/severity。
4. 对于 `brute-force-lockout-trigger.kql`,请在 **Incident automation** 下将 `auto-disable-on-bruteforce.json` 附着为自动化响应。
## 许可证
MIT - 请参阅 [LICENSE](LICENSE)。
标签:AMSI绕过, Azure Sentinel, KQL, SOAR, 威胁检测, 安全蓝队, 安全运营, 扫描框架, 自动化响应