securescalesystems/m365-security-resources
GitHub: securescalesystems/m365-security-resources
这是一个提供生产就绪的 Microsoft 365 安全资源仓库,用于部署条件访问策略、构建 KQL 威胁检测规则和 Sentinel 分析规则,以强化身份安全与威胁狩猎。
Stars: 0 | Forks: 0
# Microsoft 365 安全运营
### 检测工程与身份安全资源
**Secure Scale Systems Ltd** | 云安全咨询公司 | 英国
[securescalesystems.com](https://securescalesystems.com)
## 关于本仓库
本仓库包含可用于生产环境的安全模板、KQL 检测查询、条件访问策略规范以及 Microsoft Sentinel 分析规则配置,适用于运行 Microsoft 365 和 Microsoft Entra ID 的组织。
本仓库中的每一项资源都已在真实的 Microsoft 365 环境中部署和验证。这些不是理论上的控制措施,而是针对实际登录遥测和身份数据测试过的企业级安全操作配置。
组织可利用这些资源:
- 评估其当前的 Microsoft 365 安全态势
- 部署符合零信任原则的结构化条件访问策略
- 在 Microsoft Sentinel 中构建 KQL 威胁狩猎查询库
- 建立覆盖最常见 M365 身份攻击模式的检测规则
## 包含内容
### 条件访问策略模板
涵盖 Microsoft 零信任身份基线核心的五个策略模板:
| 策略 | 目的 | 许可要求 |
|---|---|---|
| 阻止旧式身份验证 | 防止通过旧式协议(IMAP、POP3、SMTP Auth、Exchange ActiveSync)进行身份验证 | Entra ID P1 |
| 要求管理员进行多因素认证 | 对所有特权目录角色强制执行 MFA | Entra ID P1 |
| 要求所有用户进行多因素认证 | 对所有用户及云应用强制执行 MFA | Entra ID P1 |
| 登录风险 MFA 逐步升级 | 当身份保护标记中等或高登录风险时要求进行 MFA | Entra ID P2 |
| 用户风险阻止 | 阻止高风险用户帐户的访问并要求密码重置 | Entra ID P2 |
每个模板详细记录了:策略范围、用户分配、条件、授权控制、排除项和验证步骤。模板位于 [`/conditional-access`](/conditional-access) 目录中。
### KQL 威胁狩猎查询库
涵盖身份监控、身份验证分析和检测工程的八个 KQL 查询:
| 查询 | 目的 | 数据源 |
|---|---|---|
| 工作区清单 | 列举 Sentinel 工作区中所有填充的表 | 所有表 |
| 非交互式登录审查 | 提取来自服务账户和应用程序的后台身份验证事件 | AADNonInteractiveUserSignInLogs |
| 失败的身份验证事件 | 识别并建立失败登录尝试的基线 | SigninLogs |
| 特权帐户活动 | 检测角色分配、管理操作和服务主体活动 | AuditLogs |
| 登录位置基线 | 建立并监控预期的登录地理位置 | SigninLogs |
| 风险登录检测 | 检测由身份保护标记的中高风险登录 | SigninLogs |
| MFA 疲劳检测 | 识别 MFA 推送轰炸尝试(一小时内三次或更多失败) | SigninLogs |
| 条件访问失败检测 | 提取 CA 策略失败和潜在绕过尝试 | SigninLogs |
所有查询都位于 [`/kql`](/kql) 目录中,并附有使用说明和预期结果的文档。
### Microsoft Sentinel 分析规则
四条映射到 MITRE ATT&CK 的计划与近实时检测规则:
| 规则 | 类型 | 严重性 | MITRE 覆盖范围 |
|---|---|---|---|
| 地理位置异常检测 | 计划 | 高 | T1078 - 有效帐户 |
| 特权帐户活动 | 计划 | 高 | T1078 - 有效帐户 |
| 风险登录检测 | 近实时 (NRT) | 高 | T1078 - 有效帐户 |
| 旧式身份验证检测 | 计划 | 中 | T1078 - 有效帐户,防御规避 |
规则规范、KQL 查询和部署说明位于 [`/sentinel-rules`](/sentinel-rules) 目录中。
### 安全评估框架
一套结构化的 M365 安全评估方法,与以下标准对齐:
- CIS Microsoft 365 基础基准 v3.1.0
- Microsoft 零信任成熟度模型
- NIST 网络安全框架 (CSF) 2.0
- 尼日利亚数据保护条例 (NDPR) 2019 和英国 GDPR
评估文档位于 [`/docs`](/docs) 目录中。
## 仓库结构
```
/
├── README.md
├── kql/
│ ├── detect-risky-signins.kql
│ ├── detect-mfa-fatigue.kql
│ ├── detect-ca-failures.kql
│ ├── detect-privileged-activity.kql
│ ├── detect-legacy-auth.kql
│ ├── hunt-failed-auth.kql
│ ├── hunt-location-baseline.kql
│ └── inventory-workspace-tables.kql
├── sentinel-rules/
│ ├── RULE-001-geographic-anomaly.md
│ ├── RULE-002-privileged-activity.md
│ ├── RULE-003-risky-signin-nrt.md
│ └── RULE-004-legacy-auth-detection.md
├── conditional-access/
│ ├── CA-block-legacy-auth.md
│ ├── CA-mfa-admins.md
│ ├── CA-mfa-all-users.md
│ ├── CA-signin-risk-stepup.md
│ └── CA-user-risk-block.md
└── docs/
└── m365-security-assessment-framework.md
```
## 前提条件
要部署本仓库中的资源,您的组织需要:
- Microsoft 365 商业版或企业版订阅
- Microsoft Entra ID(前身为 Azure Active Directory)
- 条件访问策略至少需要 Entra ID P1 许可
- 基于风险的策略(CA 登录风险和用户风险模板)需要 Entra ID P2 许可
- 在 Log Analytics 工作区上部署 Microsoft Sentinel
- 配置 Entra ID 诊断设置,将日志流式传输到 Sentinel 工作区
## 重要说明
**break-glass 帐户:** 在部署任何条件访问策略之前,请创建一个被排除在所有 CA 策略之外的紧急管理员帐户。不这样做可能导致租户被永久锁定。完整说明请参阅条件访问部署指南。
**安全默认值:** 条件访问和 Microsoft 安全默认值无法同时运行。在启用 CA 策略之前,请先禁用安全默认值。请确保您的 break-glass 帐户已就位。
**SigninLogs 表命名:** 在 Microsoft Sentinel 日志分析中,交互式登录表名为 `SigninLogs`(小写 i)。使用 `SignInLogs` 将返回表未找到错误。
**P2 许可到期:** 基于风险的 CA 策略(登录风险和用户风险)需要有效的 Entra ID P2 许可。如果 P2 许可过期,CA004 和 CA005 等效策略将停止评估。请监控许可证到期日期。
## 关于 Secure Scale Systems Ltd
Secure Scale Systems Ltd 是一家在英国注册的云安全咨询公司(公司编号:16405375),专注于 Microsoft 365 安全工程、检测工程和身份安全。我们帮助各种规模的企业在 Microsoft 云平台上设计、部署和运营企业级安全控制。
**服务:**
- M365 和 Entra ID 安全评估
- 条件访问设计与部署
- Microsoft Sentinel 部署与检测工程
- KQL 查询开发与威胁狩猎
- 符合 CIS 和零信任框架的安全态势审查
[联系我们](https://securescalesystems.com)
## 标准和参考
- [CIS Microsoft 365 基础基准 v3.1.0](https://www.cisecurity.org/benchmark/microsoft_365)
- [Microsoft 零信任成熟度模型](https://learn.microsoft.com/security/zero-trust/)
- [NIST 网络安全框架 2.0](https://www.nist.gov/cyberframework)
- [Microsoft Entra ID 文档](https://learn.microsoft.com/entra/)
- [Microsoft Sentinel 文档](https://learn.microsoft.com/azure/sentinel/)
- [Microsoft 条件访问文档](https://learn.microsoft.com/entra/identity/conditional-access/)
*随着控制措施和检测技术的发展,本仓库中的资源会持续更新。欢迎提交贡献和问题报告。*
标签:AMSI绕过, KQL 查询, Microsoft 365 安全, Microsoft Sentinel, Streamlit, 多因素认证, 威胁检测, 安全模板, 安全运营, 扫描框架, 操作安全, 条件访问策略, 网络安全, 访问控制, 身份保护, 身份安全, 隐私保护, 零信任安全