次の方法で共有


Microsoft 365 および Microsoft Entra ID における MFA のための Fiddler トレースログの使い方

この記事では、次の MFA シナリオの Fiddler トレース ログについて説明します。

  • 作業中の MFA シナリオ
  • 電話が圏外にあるか、通話が応答されない場合
  • 不正アクセスアラートがトリガーされてクラウド内のアカウントがブロックされたとき
  • ブロックされたアカウントの場合
  • マネージド アカウントに MFA を使用する場合

ユーザー アカウントがフェデレーションされている場合、ユーザーは認証と login.microsoftonline.com のためにサービス トークン サーバー (STS) にリダイレクトされ、SAML トークンは STS によって発行されます。 ユーザーが管理されている場合、login.microsoftonline.com はユーザーのパスワードを使用してユーザーを認証します。

MFA は、ユーザーのパスワードが Microsoft Entra ID または STS によって検証された後に開始されます。 SANeeded=1 Cookie は、ユーザーが Microsoft 365 または Microsoft Entra ID で MFA 認証を有効にしている場合に設定されます。 ユーザー パスワード認証後のクライアントと login.microsoftonline.com の間の通信は、次の例のようになります。

POST https://login.microsoftonline.com/login.srf HTTP/1.1
ホスト: login.microsoftonline.com

HTTP/1.1 302 が見つかりました

Set-Cookie: SANeeded=1;domain=login.microsoftonline.com;secure= ;path=/;HTTPOnly= ;version=1

シナリオ 1: 正常に機能する MFA シナリオ

SANeeded=1 Cookie は、パスワード認証後に設定されます。 その後、ネットワーク トラフィックがエンドポイント ( https://login.microsoftonline.com/StrongAuthCheck.srf) にリダイレクトされ、使用可能な認証方法が要求されます。

使用可能な認証方法のスクリーンショット。

MFA は BeginAuth で始まり、電話サービス プロバイダーへのバックエンドで通話がトリガーされます。

スクリーンショットは、M F A が BeginAuth メソッドで始まることを示しています。

MFA 承認が開始されると、クライアントは 10 秒ごとに EndAuth メソッドに対して同じエンドポイントのクエリを実行し、認証が完了したかどうかを確認します。 呼び出しが選択されて検証されるまで、結果の値は AuthenticationPendingとして返されます。

スクリーンショットは、ResultValue が AuthenticationPending に設定されていることを示しています。

電話が選択されて検証されると、EndAuth の次のクエリの回答は成功の ResultValue になります。 さらに、ユーザーは多要素認証を完了しました。 また、Set-Cookie: SANeeded=xxxxxxx Cookie が応答で設定され、エンドポイント login.srf に渡されて認証が完了します。

認証を完了するための login.srf を示すスクリーンショット。

シナリオ 2: 電話がカバレッジから外れているか、電話が選択されていない場合

呼び出しが行われた後、60 秒以内に電話が選択されて検証されない場合、ResultValue は UserVoiceAuthFailedPhoneUnreachableとして設定されます。 EndAuth メソッドの次のクエリでは、Fiddler に示すように UserVoiceAuthFailedPhoneUnreachable が返されます。

スクリーンショットは、ResultValue が UserVoiceAuthFailedPhoneUnreachable に設定されていることを示しています。

シナリオ 3: クラウド内のアカウントをブロックするために不正アクセスアラートがトリガーされたとき

電話が選択されず、通話が行われた後 60 秒以内に不正行為のアラートが投稿されると、ResultValue は AuthenticationMethodFailed として設定されます。 EndAuth メソッドの次のクエリでは、Fiddler に示されているように、AuthenticationMethodFailed 応答が返されます。

スクリーンショットは、ResultValue が AuthenticationMethodFailed に設定されていることを示しています。

シナリオ 4: ブロックされたアカウントの場合

ユーザーがブロックされている場合、ResultValue は UserIsBlockedとして設定されます。 EndAuth メソッドの最初のクエリでは、Fiddler に示すように、 UserIsBlocked が返されます。

スクリーンショットは、ResultValue が UserIsBlocked に設定されていることを示しています。

解決策: 疑わしいアクティビティの報告を参照してください。

Microsoft 365 で MFA が有効になっている場合は、Microsoft にサポートリクエストを送信してブロックを解除します。

シナリオ 5: マネージド アカウントの MFA

この状況では、認証は変わりませんが、フェデレーション アカウントの場合と同様にhttps://login.microsoftonline.com/common/SAS/BeginAuthするのではなく、エンドポイントはhttps://login.microsoftonline.com/common/SAS/EndAuthされ、https://login.microsoftonline.com/StrongAuthCheck.srfされます。