RyanKelleyCosing/kql-incident-response-dashboard
GitHub: RyanKelleyCosing/kql-incident-response-dashboard
基于 KQL 查询和 Azure Monitor Workbook 的事件响应仪表板,提供可复用查询包和一键部署能力,帮助蓝队和运维人员快速分诊安全事件与服务异常。
Stars: 0 | Forks: 0
# 基于 KQL 的事件响应仪表板
[](.)
[](LICENSE)
[](.)
一个专注于事件响应的 Azure Monitor 工作簿,通过可复用的 KQL 查询以及对仓库友好的部署自动化,从 Log Analytics 中提取操作故障、身份验证异常和健康状态退化。
## 本项目演示的内容
- 使用 KQL 进行操作分诊,而非静态截图
- 将 Azure Monitor 工作簿的创作即代码化管理
- 用于事件响应 playbook 的可复用查询包
- 针对仪表板构件的轻量级仓库验证
## 架构
```
┌─────────────────────────────────────────────────────────────────────────┐
│ KQL-Powered Incident Response Dashboard │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Log Analytics Workspace │
│ App Events Sign-in Logs Heartbeats Diagnostics │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Azure Monitor Workbook │
│ High Severity Events Auth Anomalies Service Regressions │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Optional Incident Action Group │
└─────────────────────────────────────────────────────────────────────────┘
```
## 仪表板视图
| 视图 | 信号 | 分诊目标 |
|------|--------|-------------|
| 高严重性事件 | 异常、追踪、诊断 | 快速识别新出现的故障 |
| 身份验证异常 | 登录失败及 IP 分布 | 发现暴力破解或凭据滥用 |
| 服务健康退化 | 心跳间隔和遥测缺失 | 在工单大量堆积前捕获服务降级 |
## 快速开始
### 前置条件
- Azure 订阅
- 支持 Bicep 的 Azure CLI
- 用于存放 Azure Monitor 资产的资源组
### 部署基础设施
```
az login
az group create -n rg-ir-dashboard -l eastus
az deployment group create \
-g rg-ir-dashboard \
-f infra/main.bicep \
-p environment=dev notificationEmail='oncall@example.com'
```
### 本地验证
```
pwsh ./tests/validate-dashboard.ps1
```
## 项目结构
```
├── .github/
│ └── workflows/
│ └── validate.yml # CI validation for workbook + Bicep
├── infra/
│ └── main.bicep # Workbook, workspace, action group
├── queries/
│ ├── authentication-anomalies.kql # Sign-in investigation query
│ ├── high-severity-errors.kql # Failure trend query
│ └── service-health-regressions.kql # Heartbeat and availability query
├── tests/
│ └── validate-dashboard.ps1 # Offline validation script
├── workbooks/
│ └── incident-response-dashboard.workbook.json
├── .gitignore
├── LICENSE
└── README.md
```
## 查询包
- `queries/high-severity-errors.kql` 突出显示过去 24 小时内频繁出现或严重的故障。
- `queries/authentication-anomalies.kql` 识别重复的登录失败以及异常的 IP 分布。
- `queries/service-health-regressions.kql` 标记具有陈旧或稀疏心跳数据的资源。
## 发布
```
git clone https://github.com/RyanKelleyCosing/kql-incident-response-dashboard.git
```
## 许可证
MIT 许可证 - 详情请参阅 [LICENSE](LICENSE)。
标签:AI合规, Azure, Azure Monitor, Azure Workbook, Cloudflare, KQL, Kusto查询语言, Log Analytics, MITRE ATT&CK, 健康监测, 基础设施监控, 子域名变形, 安全仪表盘, 安全剧本, 安全可视化, 安全运营, 库, 应急响应, 异常检测, 微软安全, 扫描框架, 操作分诊, 查询复用, 网络安全审计, 认证异常