公司动态
365Inspect四种认证模式详解:MFA、设备码、应用认证与免登录,M365安全扫描如何选?
365Inspect四种认证模式详解MFA、设备码、应用认证与免登录M365安全扫描如何选【免费下载链接】365InspectA PowerShell script that automates the security assessment of Microsoft 365 environments.项目地址: https://gitcode.com/gh_mirrors/36/365Inspect365Inspect 是一款自动化的 Microsoft 365M365安全扫描工具通过 PowerShell 脚本一键评估 Exchange、SharePoint、Teams、Entra ID 等服务的租户安全配置。它提供四种认证模式——MFA、DEVICE 设备码、APP 应用认证与 ALREADY_AUTHED 免登录选错登录方式是新手跑不通 M365 安全评估的第一大坎。本文逐一拆解 365Inspect 认证模式的原理与适用场景帮你快速选定最合适的登录方案。 先搞懂365Inspect 为什么需要多次登录365Inspect 执行安全扫描前会依次连接 Microsoft Graph、Security Compliance、Exchange Online、SharePoint 和 Microsoft Teams 五类服务。由于每个服务使用各自独立的管理模块登录会话互不相通因此登录次数多属于正常现象。控制登录方式的正是-Auth参数它的四个可选值定义在 365Inspect.ps1 中MFA默认值、DEVICE、APP、ALREADY_AUTHED。社区版 365Inspect 覆盖 Exchange、SharePoint、Azure AD 等服务的关键安全配置检查逻辑集中在 Inspectors/ 目录下的上百个检查器模块中。获取源码只需一行git clone https://gitcode.com/gh_mirrors/36/365Inspect1️⃣ MFA 模式浏览器弹窗登录新手默认首选.\365Inspect.ps1 -OutPath .\365_report -UserPrincipalName admincontoso.com -Auth MFA脚本启动后会依次弹出多个浏览器登录窗口你需要逐个输入账号密码并填写 MFA 动态码这是-Auth的默认值无需额外配置即可使用登录 SharePoint 服务前还会提示输入 PnP PowerShell 的应用 ID可提前用-PnpPowerShellApplicationId参数指定免去交互输入。适用场景在 Windows 桌面上首次手动评估 M365 租户追求打开就能跑。2️⃣ DEVICE 模式设备码登录无浏览器也能跑.\365Inspect.ps1 -OutPath .\365_report -UserPrincipalName admincontoso.com -Auth DEVICE设备码DEVICE模式会跳过图形化弹窗365Inspect 在终端显示一个设备码你在任意一台有浏览器的设备上手机、另一台电脑打开登录页面输入该码即可完成认证连接逻辑见 365Inspect.ps1。适用场景执行环境是没有图形界面或无法弹出浏览器的服务器登录操作需要在别的设备上完成。3️⃣ APP 模式证书 应用身份无人值守自动扫描.\365Inspect.ps1 -OutPath .\365_report -UserPrincipalName admincontoso.com -Auth APP应用认证APP模式不依赖任何登录窗口脚本启动时只需输入三项信息见 365Inspect.ps1邮件域名或租户域名已注册应用的 App ID自签名证书的指纹Thumbprint前置准备需要先在 Entra ID 中注册应用、上传证书并授予 API 权限与角色。项目内置的 Create-365InspectApp.ps1 脚本可以一键完成创建应用、生成证书、配置权限和分配角色的全部动作。角色要求应用可分配 Global Administrator 角色若只分配 Global Reader部分检查器如 Inspect-eDiscoveryAdmins会被自动跳过365Inspect.ps1。适用场景计划任务、CI 流水线、每周定时安全扫描等无人值守场景。4️⃣ ALREADY_AUTHED 模式免登录复用现有会话.\365Inspect.ps1 -OutPath .\365_report -UserPrincipalName admincontoso.com -Auth ALREADY_AUTHED该模式完全跳过认证环节直接复用当前 PowerShell 会话中已建立的各服务连接365Inspect.ps1。适用场景上一次扫描中途失败需要重跑或你已在同一会话里登录过所有服务只想配合-SelectedInspectors参数补跑某几个检查器。⚠️ 前提各服务会话必须仍然有效否则会直接报错。 四种认证模式对比一览认证模式交互方式前置准备最佳场景MFA浏览器弹窗 密码 MFA 码无默认值Windows 桌面首次手动评估DEVICE终端出码任意设备浏览器输码无执行机无浏览器/图形界面APP输入域名、App ID、证书指纹注册应用 上传证书计划任务、无人值守自动扫描ALREADY_AUTHED不登录当前会话已有有效连接失败重跑、补跑单个检查器30 秒决策✅ 第一次在 Windows 上评估 M365 租户 →MFA️ 服务器上没有浏览器 →DEVICE⏰ 需要每周自动扫描 M365 →APP 同一会话内反复执行 →ALREADY_AUTHED 认证通过后365Inspect 会给你什么连接成功后365Inspect 会执行 Inspectors/ 目录下的全部检查器在-OutPath指定目录生成 HTML默认、CSV、XML、JSON 报告模板为 365InspectDefaultTemplate.html。HTML 报告包含按 Critical/High/Medium/Low 分级的风险统计以及按服务分布的风险图表报告正文对每条发现给出描述、受影响对象和修复建议并附带可直接执行的 PowerShell 示例报告末尾的附录列出本次执行的所有检查器方便核对扫描范围❓ 常见疑问QMFA 模式为什么要登录好多次每个 M365 服务有独立的管理模块和会话多个登录窗口是预期行为依次完成即可。QAPP 模式下某个服务连不上会中断整个扫描吗不会整体中断脚本会记录错误并继续后续模块错误详情写入 Log 目录的时间戳日志文件。Q国家云中国、德国、美国政务云支持吗支持追加-Environment参数即可可选USGovGCCHigh、USGovDoD、Germany、China等值。Q执行账号需要什么权限用户登录模式下至少需要 Global Administrator 与 SharePoint Administrator 两个角色应用模式下可改用 Global Reader但会减少部分可用检查器。【免费下载链接】365InspectA PowerShell script that automates the security assessment of Microsoft 365 environments.项目地址: https://gitcode.com/gh_mirrors/36/365Inspect创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考