如何在 Office 365 和 Azure AD 中将 Fiddler 跟踪日志用于 MFA
备注
Office 365 ProPlus 正在重命名为 适用于企业的 Microsoft 365 应用。 有关此更改的详细信息, 请阅读此博客文章。
摘要
本文介绍了以下多重身份验证和 MFA 应用场景的 Fiddler () 日志:
- 工作 MFA 方案
- 当电话未覆盖或未选取电话时
- 触发欺诈警报以阻止云中的帐户时
- 对于阻止的帐户
- 当 MFA 用于管理帐户时
详细信息
如果用户帐户已联合,用户将被重定向到服务令牌服务器 (STS) 进行身份验证和 login.microsoftonline.com,并且 SAML 令牌由 STS 颁发。 如果用户受管理,login.microsoftonline.com 用户密码对用户进行身份验证。
MFA 在用户密码由管理员或 STS 验证Azure AD启动。 如果用户在 Azure 或 Azure 目录中启用了 SANeeded=1 MFA 身份验证,Office 365 Cookie。 在用户密码身份验证 login.microsoftonline.com 客户端和客户端之间的通信类似于以下内容:
POST
https://login.microsoftonline.com/login.srfHTTP/1.1
主机:login.microsoftonline.com找到 HTTP/1.1 302
Set-Cookie:SANeeded=1;domain=login.microsoftonline.com;secure= ;p ath=/;HTTPOnly= ;version=1
方案 1:工作 MFA 方案
在密码身份验证后设置 SANeeded=1 Cookie。 然后,网络流量重定向到 终结点: https://login.microsoftonline.com/StrongAuthCheck.srf ,并请求可用的身份验证方法。
MFA 从 BeginAuth 开始,然后在电话服务提供商的后端触发电话呼叫。
MFA 授权开始后,客户端每隔 10 秒开始查询 EndAuth 方法的同一终结点,以检查身份验证是否已完成。 在选取并验证呼叫之前,Resultvalue 将返回为 AuthenticationPending。
在选取并验证电话后,EndAuth 的下一个查询的回答将是"成功"的 ResultValue。 此外,用户已完成多重身份验证。 此外,Set-Cookie :SANeeded=xxxxxxx cookie 在响应中设置,它将赋予终结点 :login.srf 以完成身份验证。
方案 2:当电话未覆盖或未选取电话时
When the phone is not picked and verified within 60 seconds after the call is made, the ResultValue will be set as UserVoiceAuthFailedPhoneUnreachable. 下次查询 EndAuth 方法时,将返回 UserVoiceAuthFailedPhoneUnreachable,如 Fiddler 所见。
方案 3:触发欺诈警报以阻止云中的帐户时
如果尚未接听电话,且发出呼叫后 60 秒内发布欺诈警报,ResultValue 将设置为 AuthenticationMethodFailed。 下次查询 EndAuth 方法时,将返回 AuthenticationMethodFailed 响应,如 Fiddler 中所见。
方案 4:对于被阻止的帐户
如果用户被阻止,ResultValue 将被设置为 UserIsBlocked。 在 EndAuth 方法的第一次查询中,将返回 UserIsBlocked,如 Fiddler 中所见。
解决方案:在具有 Azure 订阅的 Azure MFA 方案中,可以先登录以取消阻止 manage.windowsazure.com。 然后,选择 "目录>用户"和"管理多重 身份验证 > 服务设置"。 在页面末尾,选择"转到门户"。 现在, 选择"阻止/取消阻止用户 "以查找阻止的用户列表。
如果通过启用 MFA Office 365,请向 Microsoft 打开一个支持案例以取消阻止它。
方案 5:管理帐户的 MFA
在这种情况下,身份验证保持不变,但终结点将为 ,而不是 https://login.microsoftonline.com/common/SAS/BeginAuth https://login.microsoftonline.com/common/SAS/EndAuth 联合帐户 https://login.microsoftonline.com/StrongAuthCheck.srf 的终结点。