將現有的網路原則伺服器 (NPS) 基礎結構與 Microsoft Entra 多重要素驗證整合

Microsoft Entra 多重要素驗證的網路原則伺服器 (NPS) 擴充功能會使用現有的伺服器,將雲端式 MFA 功能新增至您的驗證基礎結構。 透過 NPS 擴充功能,您可以將通話、簡訊或電話應用程式驗證新增至您現有的驗證流程,而不需要安裝、設定及維護新的伺服器。

NPS 擴充功能可作為RADIUS與雲端式 Microsoft Entra 多重要素驗證之間的配接器,為同盟或同步的使用者提供第二個驗證要素。

NPS 擴充功能的運作方式

當您針對 Microsoft Entra 多重要素驗證使用 NPS 擴充功能時,驗證流程會包含下列元件:

  1. NAS/VPN 伺服器 會接收來自 VPN 用戶端的要求,並將其轉換成 NPS 伺服器的 RADIUS 要求。

  2. NPS 伺服器會連線到 Active Directory 網域服務 (AD DS),以執行 RADIUS 要求的主要驗證,並在成功時,將要求傳遞至任何已安裝的延伸模組。

  3. NPS 擴充功能 會針對次要驗證觸發 Microsoft Entra 多重要素驗證的要求。 一旦延伸模組收到回應,如果 MFA 挑戰成功,它會藉由為 NPS 伺服器提供包含 Azure STS 所發出 MFA 宣告的安全性令牌,來完成驗證要求。

    注意

    雖然 NPS 不支援 數位比對,但最新的 NPS 擴充功能確實支援以時間為基礎的單次密碼 (TOTP) 方法,例如 Microsoft Authenticator 中提供的 TOTP。 TOTP 登入提供比替代核准/拒絕體驗更好的安全性。

    在 2023 年 5 月 8 日之後,當所有使用者啟用數位比對之後,任何使用 NPS 擴充功能 1.2.2216.1 版或更新版本執行 RADIUS 連線的人,將會改為提示使用 TOTP 方法登入。 用戶必須註冊 TOTP 驗證方法,才能看到此行為。 若未註冊 TOTP 方法,使用者仍會看到核准/拒絕。

  4. Microsoft Entra 多重要素驗證 會與 Microsoft Entra ID 通訊,以擷取使用者的詳細數據,並使用設定給使用者的驗證方法來執行次要驗證。

下圖說明此高階驗證要求流程:

使用者透過 VPN 伺服器向 NPS 伺服器驗證的驗證流程圖表,以及 Microsoft Entra 多重要素驗證 NPS 延伸模組

RADIUS 通訊協議行為和 NPS 擴充功能

由於 RADIUS 是 UDP 通訊協定,傳送者會假設封包遺失,並等候回應。 經過一段時間之後,連線可能會逾時。如果是,封包會因為傳送者假設封包未到達目的地而遭到重新傳送。 在本文中的驗證案例中,VPN 伺服器會傳送要求並等候回應。 如果連線逾時,VPN 伺服器會再次傳送要求。

在 NPS 伺服器的回應逾時後,RADIUS UDP 封包流程和要求圖表

NPS 伺服器可能不會在連線逾時之前回應 VPN 伺服器的原始要求,因為 MFA 要求可能仍在處理中。 使用者可能無法成功回應 MFA 提示,因此 Microsoft Entra 多重要素驗證 NPS 擴充功能正在等候該事件完成。 在此情況下,NPS 伺服器會將其他 VPN 伺服器要求識別為重複要求。 NPS 伺服器會捨棄這些重複的 VPN 伺服器要求。

NPS 伺服器捨棄 RADIUS 伺服器重複要求的圖表

如果您查看 NPS 伺服器記錄,您可能會看到這些額外的要求遭到捨棄。 此行為是設計來保護終端用戶無法取得單一驗證嘗試的多個要求。 NPS 伺服器事件記錄檔中捨棄的要求不會指出 NPS 伺服器或 Microsoft Entra 多重要素驗證 NPS 擴充功能發生問題。

若要將捨棄的要求降到最低,建議您將 VPN 伺服器設定為至少 60 秒的逾時。 如有需要,或減少事件記錄檔中捨棄的要求,您可以將 VPN 伺服器逾時值增加到 90 或 120 秒。

由於這個 UDP 通訊協定行為,NPS 伺服器可能會收到重複的要求,並傳送另一個 MFA 提示,即使使用者已經回應初始要求。 為避免這種計時狀況,Microsoft Entra 多重要素驗證 NPS 延伸模組會在成功回應傳送至 VPN 伺服器之後,繼續篩選並捨棄重複的要求長達 10 秒。

傳回成功回應后,NPS 伺服器繼續捨棄 VPN 伺服器重複要求 10 秒的圖表

同樣地,您可能會在 NPS 伺服器事件記錄中看到捨棄的要求,即使 Microsoft Entra 多重要素驗證提示成功也一般。 這是預期的行為,而且不會指出 NPS 伺服器或 Microsoft Entra 多重要素驗證 NPS 擴充功能發生問題。

規劃您的部署

NPS 擴充功能會自動處理備援,因此您不需要特殊設定。

您可以視需要建立啟用多個 Microsoft Entra 多重要素驗證的 NPS 伺服器。 如果您確實安裝多部伺服器,則應該為每個伺服器使用不同的客戶端憑證。 為每個伺服器建立憑證表示您可以個別更新每個憑證,而不必擔心所有伺服器的停機時間。

VPN 伺服器會路由驗證要求,因此必須注意已啟用新 Microsoft Entra 多重要素驗證的 NPS 伺服器。

必要條件

NPS 擴充功能旨在與現有的基礎結構搭配使用。 開始之前,請確定您有下列必要條件。

授權

Microsoft Entra 多重要素驗證的 NPS 延伸模組適用於具有 Microsoft Entra 多重要素驗證授權的客戶(隨附於 Microsoft Entra ID P1 和 進階版 P2 或 Enterprise Mobility + Security)。 Microsoft Entra 多重要素驗證的取用型授權,例如每個使用者或每個驗證授權,都與 NPS 延伸模組不相容。

軟體

  • Windows Server 2012 或更新版本。 請注意, Windows Server 2012 已終止支援

  • Microsoft Graph PowerShell 模組需要 .NET Framework 4.7.2 或更新版本。

  • PowerShell 5.1 版或更新版本。 若要檢查 PowerShell 的版本,請執行此命令:

    PS C:\> $PSVersionTable.PSVersion
    Major  Minor  Build  Revision
    -----  -----  -----  --------
    5      1      16232  1000
    

程式庫

  • NPS 擴充功能安裝程式將會安裝 Visual Studio 2017 C++ 可轉散發套件 (x64)。

  • 如果尚未執行,Microsoft Graph PowerShell 也會透過您在安裝程式中執行的設定腳本來安裝。 不需要事先安裝模組。

取得目錄租用戶標識碼

在 NPS 擴充功能的設定中,您必須提供系統管理員認證和 Microsoft Entra 租使用者的識別碼。 若要取得租用戶標識碼,請完成下列步驟:

  1. 以至少全域 管理員 istrator 身分登入 Microsoft Entra 系統管理中心

  2. 流覽至 [身分>識別 設定]。

    從 Microsoft Entra 系統管理中心取得租用戶標識碼

網路需求

NPS 伺服器必須能夠透過 TCP 連接埠 443 與下列 URL 通訊:

  • https://login.microsoftonline.com
  • https://login.microsoftonline.us (Azure Government)
  • https://login.chinacloudapi.cn (Microsoft Azure operated by 21Vianet)
  • https://credentials.azure.com
  • https://strongauthenticationservice.auth.microsoft.com
  • https://strongauthenticationservice.auth.microsoft.us (Azure Government)
  • https://strongauthenticationservice.auth.microsoft.cn (Microsoft Azure operated by 21Vianet)
  • https://adnotifications.windowsazure.com
  • https://adnotifications.windowsazure.us (Azure Government)
  • https://adnotifications.windowsazure.cn (Microsoft Azure operated by 21Vianet)

此外,需要連線到下列 URL,才能使用提供的 PowerShell 腳本完成配接器的設定:

  • https://onegetcdn.azureedge.net
  • https://login.microsoftonline.com
  • https://provisioningapi.microsoftonline.com
  • https://aadcdn.msauth.net
  • https://www.powershellgallery.com
  • https://go.microsoft.com
  • https://aadcdn.msftauthimages.net

下表描述 NPS 擴充功能所需的埠和通訊協定。 TCP 443 (輸入和輸出) 是從 NPS 擴充功能伺服器到 Entra ID 所需的唯一埠。 存取點與 NPS 擴充功能伺服器之間需要 RADIUS 埠。

通訊協定 Port 描述
HTTPS 443 針對 Entra ID 啟用使用者驗證(安裝擴充功能時需要)
UDP 1812 NPS 的RADIUS驗證通用埠
UDP 1645 NPS 的RADIUS驗證不常見埠
UDP 1813 NPS 的RADIUS帳戶通用埠
UDP 1646 NPS 的 RADIUS 會計不常見埠

準備您的環境

安裝 NPS 擴充功能之前,請先準備環境以處理驗證流量。

在已加入網域的伺服器上啟用 NPS 角色

NPS 伺服器會連線到 Microsoft Entra ID,並驗證 MFA 要求。 為此角色選擇一部伺服器。 建議您選擇不會處理其他服務要求的伺服器,因為 NPS 擴充功能會針對非 RADIUS 的任何要求擲回錯誤。 NPS 伺服器必須設定為您環境的主要和次要驗證伺服器。 它無法將RADIUS要求 Proxy至另一部伺服器。

  1. 在您的伺服器上,開啟 伺服器管理員。 從 [快速入門] 功能選取 [新增角色和功能精]。
  2. 針對您的安裝類型,選擇 [ 角色型] 或 [功能型安裝]。
  3. 選取 [網络原則] 和 [ 存取服務 伺服器] 角色。 視窗可能會彈出,通知您執行此角色的其他必要功能。
  4. 繼續執行精靈,直到 [ 確認 ] 頁面為止。 準備好時,請選取 [ 安裝]。

安裝 NPS 伺服器角色可能需要幾分鐘的時間。 完成後,請繼續進行下列各節,以設定此伺服器來處理來自 VPN 解決方案的傳入 RADIUS 要求。

設定 VPN 解決方案以與 NPS 伺服器通訊

根據您使用的 VPN 解決方案,設定 RADIUS 驗證原則的步驟會有所不同。 將您的 VPN 原則設定為指向 RADIUS NPS 伺服器。

將網域使用者同步至雲端

此步驟可能已經在您的租使用者上完成,但最好仔細檢查 Microsoft Entra 連線 最近已同步處理您的資料庫。

  1. 以全域 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 流覽至身分>識別混合式管理>Microsoft Entra 連線。
  3. 確認您的同步狀態為 [已啟用 ],且您的上次同步處理時間小於一小時前。

如果您需要開始新的一輪同步處理,請參閱 Microsoft Entra 連線 Sync:Scheduler

判斷使用者可以使用的驗證方法

有兩個因素會影響 NPS 延伸模組部署可用的驗證方法:

  • RADIUS 用戶端 (VPN、Netscaler 伺服器或其他) 與 NPS 伺服器之間所使用的密碼加密演算法。

    • PAP 支援雲端中 Microsoft Entra 多重要素驗證的所有驗證方法:通話、單向簡訊、行動應用程式通知、OATH 硬體令牌和行動應用程式驗證碼。
    • CHAPV2EAP 支援通話和行動應用程式通知。
  • 用戶端應用程式(VPN、Netscaler 伺服器或其他)可以處理的輸入方法。 例如,VPN 用戶端是否有某種方法可讓使用者從文字或行動應用程式輸入驗證碼?

您可以在 Azure 中停用不支援的 驗證方法。

注意

無論您的 MFA 方法是以文字為基礎的(SMS、行動應用程式驗證碼或 OATH 硬體令牌),且要求使用者在 VPN 用戶端 UI 輸入欄位中輸入代碼或文字,驗證可能會成功。 但是 ,在網路存取原則 中設定的任何RADIUS屬性都不會 轉送至RADIUS用戶端(網路存取裝置,例如 VPN 閘道)。 因此,VPN 用戶端的存取權可能比您想要存取的還要多,或更少存取權或沒有存取權。

因應措施是,您可以執行 CrpUsernameStuffing 腳本 來轉送網路存取原則中設定的 RADIUS 屬性,並在使用者驗證方法需要使用單次密碼 (OTP)時允許 MFA,例如 SMS、Microsoft Authenticator 密碼或硬體 FOB。

註冊 MFA 的使用者

部署和使用 NPS 擴充功能之前,必須註冊執行 Microsoft Entra 多重要素驗證的使用者才能註冊 MFA。 若要在部署擴充功能時測試延伸模組,您也需要至少一個已完整註冊 Microsoft Entra 多重要素驗證的測試帳戶。

如果您需要建立及設定測試帳戶,請使用下列步驟:

  1. 使用測試帳戶登入 https://aka.ms/mfasetup
  2. 請遵循提示來設定驗證方法。
  3. 以至少驗證原則 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  4. 流覽至 [保護>多重要素驗證] 並啟用測試帳戶。

重要

請確定使用者已成功註冊 Microsoft Entra 多重要素驗證。 如果使用者先前只註冊自助式密碼重設 (SSPR), 則會為其帳戶啟用 StrongAuthenticationMethods 。 Microsoft Entra 多重要素驗證會在設定 StrongAuthenticationMethods強制執行,即使用戶只註冊 SSPR 也一樣。

您可以啟用合併的安全性註冊,同時設定 SSPR 和 Microsoft Entra 多重要素驗證。 如需詳細資訊,請參閱 在 Microsoft Entra ID 中啟用合併的安全性信息註冊。

如果使用者先前只啟用 SSPR,您也可以 強制使用者重新註冊驗證方法

若要完成多重要素驗證提示,必須使用使用者名稱和密碼連線到 NPS 伺服器的使用者。

安裝 NPS 擴充功能

重要

在 VPN 存取點以外的不同伺服器上安裝 NPS 擴充功能。

下載並安裝 Microsoft Entra 多重要素驗證的 NPS 擴充功能

若要下載並安裝 NPS 擴充功能,請完成下列步驟:

  1. 從 Microsoft 下載中心下載 NPS 擴充功能
  2. 將二進位檔複製到您想要設定的網路原則伺服器。
  3. 執行 setup.exe 並遵循安裝指示。 如果您遇到錯誤,請確定已成功安裝必要條件區段中的連結庫。

升級 NPS 擴充功能

如果您稍後升級現有的 NPS 擴充功能安裝,若要避免重新啟動基礎伺服器,請完成下列步驟:

  1. 卸載現有的版本。
  2. 執行新的安裝程式。
  3. 重新啟動網路原則伺服器 (IAS) 服務。

執行 PowerShell 指令碼

安裝程式會在 (其中 C:\ 是您的安裝磁碟驅動器) 建立 PowerShell 腳本C:\Program Files\Microsoft\AzureMfa\Config。 此 PowerShell 文稿會在每次執行時執行下列動作:

  • 建立自我簽署憑證。
  • 將憑證的公鑰與 Microsoft Entra 識別碼上的服務主體產生關聯。
  • 將憑證儲存在本機計算機證書存儲中。
  • 將憑證私鑰的存取權授與網路使用者。
  • 重新啟動 NPS 服務。

除非您想要使用自己的憑證(而不是 PowerShell 腳本產生的自我簽署憑證),否則請執行 PowerShell 腳本來完成 NPS 擴充功能安裝。 如果您在多部伺服器上安裝擴充功能,則每個伺服器都應該有自己的憑證。

若要提供負載平衡功能或備援,請視需要對其他 NPS 伺服器重複這些步驟:

  1. 以系統管理員的身分開啟 Windows PowerShell 命令提示字元。

  2. 將目錄變更為安裝程式建立 PowerShell 文稿的位置:

    cd "C:\Program Files\Microsoft\AzureMfa\Config"
    
  3. 執行安裝程式建立的 PowerShell 指令碼。

    您可能需要先讓 PowerShell 啟用 TLS 1.2,才能正確連線和下載套件:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

    重要

    針對使用 Azure for US Government 或由 21Vianet 雲端運作的 Azure 的客戶,請先編輯 AzureMfaNpsExtnConfigSetup.ps1 腳本,以包含 必要雲端的 AzureEnvironment 參數。 例如,指定 -AzureEnvironment USGovernment-AzureEnvironment AzureChinaCloud

    .\AzureMfaNpsExtnConfigSetup.ps1
    
  4. 出現提示時,以全域管理員身分登入 Microsoft Entra ID。

  5. PowerShell 會提示您輸入您的租用戶識別碼。 使用您在必要條件一節中複製的租使用者識別碼 GUID。

  6. 腳本完成時會顯示成功訊息。

如果先前的計算機憑證已過期,而且已產生新的憑證,您應該刪除任何過期的憑證。 憑證過期可能會導致 NPS 擴充功能啟動的問題。

注意

如果您使用自己的憑證,而不是使用PowerShell腳本產生憑證,請確定它們符合 NPS 命名慣例。 主體名稱必須是 CN=<TenantID,OU>=Microsoft NPS Extension

由 21Vianet 操作的 Microsoft Azure Government 或 Microsoft Azure 其他步驟

對於使用由 21Vianet 雲端運作的 Azure Government 或 Azure 的客戶,每個 NPS 伺服器上都需要下列額外的設定步驟。

重要

只有在您是 21Vianet 客戶的 Azure Government 或 Azure 時,才設定這些登錄設定。

  1. 如果您是由 21Vianet 客戶營運的 Azure Government 或 Azure,請在 NPS 伺服器上開啟 註冊表編輯器

  2. 瀏覽至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa

  3. 針對 Azure Government 客戶,設定下列索引鍵值:

    登錄機碼
    AZURE_MFA_HOSTNAME strongauthenticationservice.auth.microsoft.us
    AZURE_MFA_RESOURCE_HOSTNAME adnotifications.windowsazure.us
    STS_URL https://login.microsoftonline.us/
  4. 針對由 21Vianet 客戶營運的 Microsoft Azure,請設定下列索引鍵值:

    登錄機碼
    AZURE_MFA_HOSTNAME strongauthenticationservice.auth.microsoft.cn
    AZURE_MFA_RESOURCE_HOSTNAME adnotifications.windowsazure.cn
    STS_URL https://login.chinacloudapi.cn/
  5. 重複上述兩個步驟,為每個 NPS 伺服器設定登錄機碼值。

  6. 重新啟動每個 NPS 伺服器的 NPS 服務。

    為了影響最小,請讓每個 NPS 伺服器一次從 NLB 輪替中取出一部,並等候所有連線清空。

憑證變換

使用 NPS 延伸模組 1.0.1.32,現在支援讀取多個憑證。 這項功能有助於在憑證到期前加速輪替憑證更新。 如果您的組織執行舊版的 NPS 擴充功能,請升級至 1.0.1.32 版或更高版本。

AzureMfaNpsExtnConfigSetup.ps1 指令碼所建立的憑證有 2 年的有效期。 監視憑證的到期時間。 NPS 擴充功能的憑證會放在 [個人] 底下的 [本機計算機] 證書存儲中,並發行至提供給安裝腳本的租使用者標識符。

當憑證接近到期日時,應建立新的憑證加以取代。 此程式可藉由再次執行 AzureMfaNpsExtnConfigSetup.ps1 ,並在出現提示時保留相同的租使用者標識碼來完成。 此程序應在環境中的每個 NPS 伺服器上重複執行。

設定 NPS 擴充功能

準備好您的環境,且 NPS 擴充功能現在安裝在所需的伺服器上,您可以設定擴充功能。

本節包含成功 NPS 擴充功能部署的設計考慮和建議。

設定限制

  • 適用於 Microsoft Entra 多重要素驗證的 NPS 擴充功能不包含將使用者和設定從 MFA Server 移轉至雲端的工具。 基於這個理由,我們建議針對新的部署使用擴充功能,而不是現有的部署。 如果您在現有的部署上使用擴充功能,您的用戶必須再次執行證明,以在雲端填入其 MFA 詳細數據。
  • NPS 擴充功能會使用來自內部部署 AD DS 環境的 UPN 來識別 Microsoft Entra 多重要素驗證上的使用者,以執行次要驗證。擴充功能可以設定為使用不同的標識碼,例如替代登入標識碼或UPN以外的自定義AD DS欄位。 如需詳細資訊,請參閱適用於多重要素驗證之 NPS 延伸模組的進階組態選項一文
  • 並非所有加密通訊協定都支援所有驗證方法。
    • PAP 支援通話、單向簡訊、行動應用程式通知和行動應用程式驗證碼
    • CHAPV2EAP 支援通話和行動應用程式通知

控制需要 MFA 的 RADIUS 用戶端

使用 NPS 擴充功能為 RADIUS 用戶端啟用 MFA 之後,需要此用戶端的所有驗證才能執行 MFA。 如果您想要為某些RADIUS用戶端啟用 MFA,但不能為其他客戶端啟用 MFA,您可以設定兩部 NPS 伺服器,並只在其中一部伺服器上安裝擴充功能。

設定您想要要求 MFA 的 RADIUS 用戶端,將要求傳送至使用擴充功能設定的 NPS 伺服器,並將其他 RADIUS 用戶端傳送至未設定擴充功能的 NPS 伺服器。

準備未註冊 MFA 的使用者

如果您有未註冊 MFA 的使用者,您可以判斷他們嘗試驗證時會發生什麼事。 若要控制此行為,請使用登錄路徑 HKLM\Software\Microsoft\AzureMFA 中的設定REQUIRE_USER_MATCH。 這個設定具有單一組態選項:

機碼 預設
REQUIRE_USER_MATCH TRUE/FALSE 未設定 (相當於 TRUE)

此設定會決定當使用者未註冊 MFA 時要執行的動作。 當密鑰不存在、未設定或設定為 TRUE,且使用者未註冊時,擴充功能會失敗 MFA 挑戰。

當金鑰設定為 FALSE 且使用者未註冊時,驗證會繼續執行而不執行 MFA。 如果使用者已在 MFA 中註冊,即使REQUIRE_USER_MATCH設為 FALSE,他們也必須向 MFA 進行驗證。

您可以選擇建立此金鑰,並在用戶上線時將其 設定為 FALSE ,而且可能尚未註冊 Microsoft Entra 多重要素驗證。 不過,由於設定金鑰可允許未註冊 MFA 的使用者登入,因此您應該先移除此金鑰,再進入生產環境。

疑難排解

NPS 擴充功能健康情況檢查腳本

Microsoft Entra 多重要素驗證 NPS 延伸模組健康情況檢查腳本會在針對 NPS 擴充功能進行疑難解答時執行基本健康情況檢查。 執行腳本,然後選擇其中一個可用的選項。

如何在執行 AzureMfaNpsExtnConfigSetup.ps1 腳本時修正「找不到服務主體」錯誤?

如果基於任何原因,「Azure 多重要素驗證客戶端」服務主體未在租使用者中建立,則可以藉由執行 PowerShell 手動建立。

Connect-MgGraph -Scopes 'Application.ReadWrite.All'
New-MgServicePrincipal -AppId 981f26a1-7f43-403b-a875-f8b09b8cd720 -DisplayName "Azure Multi-Factor Auth Client"

完成後,以全域 管理員 istrator 身分登入 Microsoft Entra 系統管理中心 流覽至 [身分>識別應用程式企業應用程式>>],然後搜尋「Azure 多重要素驗證用戶端」。 然後按下 [ 檢查此應用程式的屬性]。 確認服務主體是否已啟用或停用。 按兩下應用程式專案 >[屬性]。 如果 [為使用者啟用登入] 選項設定為 [否],請將它設定為 [是]。

AzureMfaNpsExtnConfigSetup.ps1再次執行腳本,不應該傳回找不到服務主體錯誤。

如何? 確認客戶端憑證是否如預期般安裝?

尋找安裝程式在憑證存放區中建立的自我簽署憑證,並檢查私鑰是否具有授與使用者 NETWORK SERVICE 的許可權。 憑證的主體名稱 為 CN <tenantid,OU> = Microsoft NPS 擴充功能

腳本所產生的 AzureMfaNpsExtnConfigSetup.ps1 自我簽署憑證的有效存留期為兩年。 確認憑證已安裝時,您也應該檢查憑證是否已過期。

如何確認我的客戶端憑證是否與 Microsoft Entra 識別碼中的租使用者相關聯?

開啟 PowerShell 命令提示字元,然後執行下列命令:

Connect-MgGraph -Scopes 'Application.Read.All'
(Get-MgServicePrincipal -Filter "appid eq '981f26a1-7f43-403b-a875-f8b09b8cd720'" -Property "KeyCredentials").KeyCredentials | Format-List KeyId, DisplayName, StartDateTime, EndDateTime, @{Name = "Key"; Expression = {[System.Convert]::ToBase64String($_.Key)}}, @{Name = "Thumbprint"; Expression = {$Cert = New-object System.Security.Cryptography.X509Certificates.X509Certificate2; $Cert.Import([System.Text.Encoding]::UTF8.GetBytes([System.Convert]::ToBase64String($_.Key))); $Cert.Thumbprint}}

這些命令會列印將租使用者與您的PowerShell會話中 NPS 擴充功能實例建立關聯的所有憑證。 將客戶端憑證導出為 沒有私鑰的 Base-64 編碼 X.509(.cer) 檔案,並將其與 PowerShell 的清單進行比較,以尋找您的憑證。 比較伺服器上所安裝憑證的指紋與這個指紋。 憑證指紋應該相符。

StartDateTime 和 EndDateTime 時間戳,其格式為人類可讀取,如果命令傳回一個以上的憑證,可以用來篩選出明顯的不合時宜。

為什麼我無法登入?

檢查您的密碼是否已過期。 NPS 擴充功能不支援在登入工作流程中變更密碼。 請連絡貴組織的IT人員以取得進一步的協助。

為什麼我的要求因安全性令牌錯誤而失敗?

此錯誤可能是因為數個原因之一。 使用下列步驟進行疑難解答:

  1. 重新啟動 NPS 伺服器。
  2. 確認客戶端憑證已如預期般安裝。
  3. 確認憑證與 Microsoft Entra 識別碼上的租用戶相關聯。
  4. 確認可以從執行延伸模組的伺服器存取 https://login.microsoftonline.com/

為什麼驗證失敗,且 HTTP 記錄檔中有錯誤,指出找不到使用者?

確認AD連線正在執行,且用戶同時存在於內部部署AD DS環境和 Microsoft Entra ID 中。

為什麼我在記錄中看到 HTTP 連線錯誤,而我的所有驗證都失敗?

確認 https://adnotifications.windowsazure.comhttps://strongauthenticationservice.auth.microsoft.com 可從執行 NPS 延伸模組的伺服器連線到 。

為什麼驗證無法運作,儘管有有效的憑證存在?

如果先前的計算機憑證已過期,且已產生新的憑證,請刪除任何過期的憑證。 過期的憑證可能會導致 NPS 擴充功能啟動的問題。

若要檢查您是否有有效的憑證,請使用 MMC 檢查本機 電腦帳戶的證書存儲 ,並確定憑證尚未通過其到期日。 若要產生新有效的憑證,請重新執行執行 PowerShell 安裝程式腳本中的步驟。

為什麼我在 NPS 伺服器記錄中看到捨棄的要求?

如果逾時值太低,VPN 伺服器可能會將重複的要求傳送至 NPS 伺服器。 NPS 伺服器會偵測這些重複的要求,並捨棄這些要求。 此行為是設計方式,而且不會指出 NPS 伺服器或 Microsoft Entra 多重要素驗證 NPS 擴充功能發生問題。

如需為何在 NPS 伺服器記錄中看到捨棄封包的詳細資訊,請參閱 本文開頭的 RADIUS 通訊協定行為和 NPS 擴充功能

如何? 取得與 NPS 搭配運作的 Microsoft Authenticator 號碼?

雖然 NPS 不支援數位比對,但最新的 NPS 延伸模組支援以時間為基礎的單次密碼 (TOTP) 方法,例如 Microsoft Authenticator 中提供的 TOTP、其他軟體令牌和硬體 FOB。 TOTP 登入提供比替代核准/拒絕體驗更好的安全性。 請確定您執行最新版的 NPS 擴充功能

在 2023 年 5 月 8 日之後,當所有使用者啟用數位比對之後,任何使用 NPS 擴充功能 1.2.2216.1 版或更新版本執行 RADIUS 連線的人,將會改為提示使用 TOTP 方法登入。

用戶必須註冊 TOTP 驗證方法,才能看到此行為。 若未註冊 TOTP 方法,使用者仍會看到核准/拒絕。

在 2023 年 5 月 8 日之後發行 NPS 擴充功能 1.2.2216.1 版之前,執行舊版 NPS 擴充功能的組織可以修改登錄,以要求使用者輸入 TOTP。 如需詳細資訊,請參閱 NPS 擴充功能

管理 TLS/SSL 通訊協定和加密套件

除非貴組織需要,否則建議停用或移除較舊且較弱的加密套件。 如需如何完成這項工作的資訊,請參閱管理 AD FS 的 SSL/TLS 通訊協定和加密套件一文

其他疑難排解

如需其他疑難解答指引和可能的解決方案, 請參閱解決 Microsoft Entra 多重要素驗證 NPS 擴充功能的錯誤訊息一文。

下一步