將現有的網路原則伺服器 (NPS) 基礎結構與 Azure AD Multi-Factor Authentication 整合

適用於 Azure AD Multi-Factor Authentication 的網路原則伺服器 (NPS) 延伸模組會將雲端式 MFA 功能新增至使用現有伺服器的驗證基礎結構中。 利用 NPS 擴充功能,您可以在現有驗證流程中新增通話、簡訊或電話應用程式驗證,而不必安裝、設定及維護新的伺服器。

NPS 延伸模組會作為 RADIUS 與雲端式 Azure AD Multi-Factor Authentication 之間的配接器,可為同盟或同步的使用者提供第二驗證要素。

NPS 延伸模組的運作方式

在使用 Azure AD Multi-Factor Authentication 的 NPS 延伸模組時,驗證流程會包含下列元件:

  1. NAS/VPN 伺服器會從 VPN 用戶端接收要求,並將其轉換為對 NPS 伺服器的 RADIUS 要求。
  2. NPS 伺服器會連線至 Active Directory Domain Services (AD DS),以對 RADIUS 要求執行主要驗證,並於成功時將要求傳遞至任何已安裝的延伸模組。
  3. NPS 延伸模組會觸發次要驗證所需的 Azure AD Multi-Factor Authentication 要求。 當擴充功能收到回應後,如果 MFA 挑戰成功,擴充功能便會藉由為 NPS 伺服器提供包含 Azure STS 所發行之 MFA 宣告的安全性權杖來完成驗證要求。

    注意

    使用者必須可以存取其預設的驗證方法,才能完成 MFA 的必要條件。 他們無法選擇替代方法。 即使已在租用戶驗證方法和 MFA 原則中停用預設驗證方法,還是會使用預設驗證方法。

  4. Azure AD MFA 會與 Azure Active Directory (Azure AD) 通訊以擷取使用者的詳細資料,並使用為使用者設定的驗證方法執行第二項驗證。

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

Diagram of the authentication flow for user authenticating through a VPN server to NPS server and the Azure AD Multi-Factor Authentication NPS extension

RADIUS 通訊協定的行為與 NPS 延伸模組

由於 RADIUS 是一種 UDP 通訊協定,因此傳送者會假設封包遺失並等候回應。 經過一段時間後,連線可能會逾時。如果出現這種情況,就會因為傳送者假設封包並未抵達目的地而重新傳送封包。 在本文內所提及的驗證案例中,VPN 伺服器會傳送要求並等候回應。 如果發生連線逾時的情況,VPN 伺服器會再次傳送要求。

Diagram of RADIUS UDP packet flow and requests after timeout on response from NPS server

在連線逾時之前,由於 MFA 的要求可能仍在處理中,因此 NPS 伺服器有可能不會回應 VPN 伺服器的原始要求。 使用者有可能並未順利回應 MFA 提示,因此 Azure AD Multi-Factor Authentication 的 NPS 延伸模組仍在等候該事件完成。 在此情況下,NPS 伺服器會將額外的 VPN 伺服器要求視為重複的要求。 NPS 伺服器會捨棄重複的 VPN 伺服器要求。

Diagram of NPS server discarding duplicate requests from RADIUS server

如果您查看 NPS 伺服器記錄的內容,可能會發現這些遭到捨棄的額外要求。 此一行為是設計來保護終端使用者免於面臨從單一驗證嘗試中獲得多個要求的情況。 NPS 伺服器事件記錄檔中如有捨棄的要求,並不表示 NPS 伺服器或 Azure AD Multi-Factor Authentication NPS 延伸模組有問題。

若要將捨棄的要求數降至最低,建議 VPN 伺服器等候逾時的時間長度至少要設定為 60 秒。 若有需要,或是要降低事件記錄中遭捨棄的要求數目,可以將 VPN 伺服器等候逾時的時間長度提高到 90 或 120 秒。

由於這個 UDP 通訊協定的行為,即使在使用者已回應初始要求之後,NPS 伺服器仍可能會收到重複的要求而傳送另一個 MFA 提示。 為了避免這種計時狀況,Azure AD Multi-Factor Authentication NPS 延伸模組在順利將回應傳送至 VPN 伺服器之後,仍會繼續篩選並捨棄重複的要求最長達 10 秒鐘之久。

Diagram of NPS server continuing to discard duplicate requests from VPN server for ten seconds after a successful response is returned

同樣地,即使在 Azure AD Multi-Factor Authentication 出現成功提示後,在 NPS 伺服器事件記錄檔中仍可能會顯示遭捨棄的要求。 這是預期的行為,並不表示 NPS 伺服器或 Azure AD Multi-Factor Authentication NPS 延伸模組有問題。

規劃您的部署

NPS 延伸模組會自動處理備援,因此您不需要特殊組態。

您可以視需要建立數量不拘的 NPS 伺服器 (已啟用 Azure AD Multi-Factor Authentication)。 如果您安裝多部伺服器,您應該為每部伺服器使用不同的用戶端憑證。 為每一部伺服器建立憑證,這意味著您可以個別更新每個憑證,而無須擔心所有伺服器都必須停機的情況。

VPN 伺服器會路由驗證要求,因此 VPN 伺服器必須清楚地知道已啟用 Azure AD Multi-Factor Authentication 的新 NPS 伺服器。

Prerequisites

NPS 擴充功能是為了搭配現有基礎結構來運作。 請確定您已備妥這些必要條件,然後再開始。

授權

Azure AD Multi-Factor Authentication 的 NPS 延伸模組可以提供 Azure AD Multi-Factor Authentication 授權 (內含 Azure AD Premium P1 和 Premium P2,或 Enterprise Mobility + Security) 給客戶使用。 以使用量為基礎的 Azure AD Multi-Factor Authentication 授權 (例如,以每位使用者,或以每個驗證為單位的授權) 與 NPS 延伸模組並不相容。

軟體

Windows Server 2012 或更新版本。

程式庫

您必須手動安裝以下的程式庫:

下列程式庫會自動隨著 NPS 延伸模組一起安裝。

如果您尚未安裝適用於 Windows PowerShell 的 Microsoft Azure Active Directory 模組,則系統也會透過安裝過程中所執行的設定指令碼為您進行安裝。 因此,如果系統中沒有此一模組,也無需刻意提前安裝。

Azure Active Directory

每一位使用 NPS 延伸模組的使用者都必須使用 Azure AD Connect 與 Azure AD 進行同步處理,且必須註冊 MFA。

在安裝延伸模組時,您會需要用到 Azure AD 租用戶的「租用戶識別碼」以及管理員認證。 若要取得租用戶識別碼,請完成下列步驟:

  1. 以 Azure 租用戶的全域管理員身分登入 Azure 入口網站

  2. 搜尋並選取 [Azure Active Directory]。

  3. [概觀] 頁面上會顯示 [租用戶資訊]。 在租用戶識別碼旁邊,選取 [複製] 圖示,如下列範例螢幕擷取畫面所示:

    Getting the Tenant ID from the Azure portal

網路需求

NPS 伺服器必須要能夠透過連接埠 80 和 443 與下列 URL 進行通訊:

  • https://strongauthenticationservice.auth.microsoft.com
  • https://strongauthenticationservice.auth.microsoft.us
  • https://strongauthenticationservice.auth.microsoft.cn
  • https://adnotifications.windowsazure.com
  • https://login.microsoftonline.com
  • https://credentials.azure.com

此外,必須連線至下列 URL,才能使用所提供的 PowerShell 指令碼完成配接器的設定

  • 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 延伸模組之前,請將環境準備就緒以處理驗證流量。

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

NPS 伺服器會連線到 Azure AD,並驗證 MFA 要求。 為此角色選擇一部伺服器。 建議您選擇不處理來自其他服務之要求的伺服器,因為 NPS 延伸模組會對任何不是 RADIUS 的要求擲回錯誤。 您必須將 NPS 伺服器設為您環境中主要及次要的驗證伺服器。 RADIUS 要求無法經由 Proxy 傳送至另一部伺服器。

  1. 在您的伺服器上,開啟 [伺服器管理員]。 選取 [快速入門] 功能表中的 [新增角色及功能精靈]。
  2. 針對安裝類型,選擇 [角色型或功能型安裝]。
  3. 選取 [網路原則與存取服務] 伺服器角色。 隨即會在一個視窗中通知您執行這個角色所需的功能。
  4. 繼續執行精靈中的各個步驟,直到顯示 [確認] 頁面為止。 準備就緒時,請選取 [安裝]。

安裝 NPS 伺服器角色可能需要幾分鐘的時間。 完成時,請繼續執行以下各節中的步驟,將這部伺服器設定成處理由 VPN 解決方案中所傳入的 RADIUS 要求。

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

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

將網域使用者同步處理至雲端

這個步驟在租用戶上可能已經完成,但建議最好再次檢查,確認 Azure AD Connect 最近已同步處理您的資料庫。

  1. 以系統管理員身分登入 Azure 入口網站
  2. 選取 [Azure Active Directory] > [Azure AD Connect]
  3. 確認同步處理狀態為 [已啟用],且上次同步處理為不到一小時前。

如果必須再啟動新一輪的同步處理作業,請參閱 Azure AD Connect 同步處理:排程器一文中的說明。

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

有兩個因素會影響與 NPS 擴充部署搭配提供的驗證方法:

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

    • PAP 可支援雲端中 Azure AD Multi-Factor Authentication 的所有驗證方法:撥打電話、單向文字簡訊、行動裝置應用程式通知、OATH 硬體權杖,以及行動裝置應用程式驗證碼。

    • CHAPV2EAP 支援通話和行動裝置應用程式通知。

      注意

      當您部署 NPS 擴充時,使用這些因素來評估哪些方法可供您的使用者使用。 如果您的 RADIUS 用戶端支援 PAP,但用戶端 UX 沒有驗證碼的輸入欄位,則通話和行動裝置應用程式通知是兩個支援的選項。

      此外,不論所使用的驗證通訊協定 (PAP、CHAP 或 EAP) 為何,如果 MFA 方法屬於是文字型的作業 (簡訊、行動應用程式驗證碼,或 OATH 硬體權杖),而且需要使用者在 VPN 的用戶端使用者介面的欄位中輸入代碼或文字,則可能可以完成驗證。 但是,任何設定於網路存取原則中 RADIUS 屬性都「不會」轉送至 RADIUS 用戶端 (網路存取裝置,例如 VPN 閘道)。 因此,VPN 用戶端可能會有比您預期還要多 (或還要少,甚至於沒有) 的存取權。

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

  • 用戶端應用程式 (VPN、Netscaler 伺服器或其他) 可以處理的輸入法。 例如,VPN 用戶端是否有一些方法可讓使用者從文字或行動裝置應用程式輸入驗證程式碼?

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

針對 MFA 註冊使用者

在部署並使用 NPS 延伸模組之前,必須先將要執行 Azure AD Multi-Factor Authentication 的使用者註冊至 MFA。 若要在部署的同時測試延伸模組,您必須至少要有一個已成功註冊至 Azure AD Multi-Factor Authentication 的測試帳戶。

若您必須建立並設定測試帳戶,請使用下列步驟:

  1. 使用測試帳戶登入 https://aka.ms/mfasetup
  2. 遵循提示來設定驗證方法。
  3. 以管理使用者的身分登入 Azure 入口網站,建立條件式存取原則以要求測試帳戶進行多重要素驗證。

重要

確認相關的使用者已順利註冊 Azure AD Multi-Factor Authentication。 如果使用者先前已註冊自助式密碼重設 (SSPR),則會為其帳戶啟用 StrongAuthenticationMethods。 即便使用者只註冊了 SSPR,Azure AD Multi-Factor Authentication 會在完成設定 StrongAuthenticationMethods 之後強制執行。

您可以啟用同時設定了 SSPR 與 Azure AD Multi-Factor Authentication 的合併安全性註冊。 如需詳細資訊,請參閱啟用 Azure Active Directory 中的合併安全性資訊註冊

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

利用使用者名稱和密碼連線至 NPS 伺服器的使用者需要完成多重要素驗證提示。

安裝 NPS 擴充功能

重要

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

下載並安裝 Azure AD MFA 的 NPS 延伸模組

若要下載並安裝 NPS 延伸模組,請完成下列步驟:

  1. 從 Microsoft 下載中心下載 NPS 延伸模組
  2. 將二進位檔複製到您要設定的網路原則伺服器。
  3. 執行 setup.exe 並遵循安裝指示。 如果發生錯誤,請確認必要條件一節中的程式庫已安裝成功。

升級 NPS 擴充功能

如果您稍後會升級現有的 NPS 延伸模組安裝,為了避免重新啟動基礎伺服器,請完成下列步驟:

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

執行 PowerShell 指令碼

安裝程式會在下列位置建立 PowerShell 指令碼︰C:\Program Files\Microsoft\AzureMfa\Config (其中 C:\ 是您的安裝磁碟機)。 每次執行這個 PowerShell 指令碼時,就會執行以下的動作:

  • 建立自我簽署憑證。
  • 讓憑證的公開金鑰與 Azure AD 的服務主體產生關聯。
  • 將憑證儲存於本機電腦的憑證存放區中。
  • 將憑證的私密金鑰存取權授與網路使用者。
  • 重新啟動 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 Government 或 Azure China 21Vianet 雲端的客戶,請先編輯 AzureMfaNpsExtnConfigSetup.ps1 指令碼中的 Connect-MsolService Cmdlet,以納入所使用雲端的 AzureEnvironment 參數。 例如,指定 -AzureEnvironment USGovernment-AzureEnvironment AzureChinaCloud

    如需詳細資訊,請參閱Connect-MsolService 參數參考

    .\AzureMfaNpsExtnConfigSetup.ps1
    
  4. 出現提示時,以系統管理員身分登入 Azure AD。

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

  6. 當指令碼執行完成時,會顯示成功訊息。

如果您先前的電腦憑證已過期,且已產生新的憑證,則應刪除任何過期的憑證。 擁有過期的憑證可能會導致 NPS 擴充功能啟動方面的問題。

注意

如果您使用自己的憑證,而不是透過 PowerShell 指令碼產生憑證,請確定這些憑證遵守 NPS 命名慣例。 主體名稱必須是 CN=<租用戶識別碼>,OU=Microsoft NPS Extension

Microsoft Azure Government 或 Azure China 21Vianet 的其他步驟

如果是使用 Azure Government 或 Azure China 21Vianet 雲端的客戶,則必須在每一部 NPS 伺服器上執行以下額外的設定步驟。

重要

只有當您是 Azure Government 或 Azure China 21Vianet 的客戶時,才需要對這些登錄設定進行設定。

  1. 如果您是 Azure Government 或 Azure China 21Vianet 客戶,請在 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. 如果是 Azure China 21Vianet 客戶,請設定以下的索引鍵值:

    登錄機碼
    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 擴充功能的設計考量和建議。

設定限制

  • Azure AD Multi-Factor Authentication 的 NPS 延伸模組中並不包含將使用者以及設定從 MFA Server 移轉至雲端的相關工具。 有基於此,建議將此延伸模組用於新的部署,而非用於現有部署。 如果您在現有部署上使用此延伸模組,您的使用者必須再次執行證明,以便在雲端中填入其 MFA 詳細資料。
  • NPS 延伸模組會使用內部部署 AD DS 環境中的 UPN,來識別 Azure AD Multi-Factor Authentication 上要執行次要驗證的使用者。您也可將該延伸模組設定為使用不同的識別碼,例如另一組登入識別碼,或是 UPN 以外的自訂 AD DS 欄位。 如需詳細資訊,請參閱 NPS 擴充功能的 Multi-Factor Authentication 所適用的進階設定選項一文。
  • 並非所有的加密通訊協定都支援所有的驗證方法。
    • PAP 支援通話、單向簡訊、行動裝置應用程式通知和行動裝置應用程式驗證碼
    • CHAPV2EAP 支援通話和行動裝置應用程式通知

控制需要 MFA 的 RADIUS 用戶端

一旦您為使用 NPS 延伸模組的 RADIUS 用戶端啟用了 MFA 後,則該用戶端的所有驗證都必須要執行 MFA。 如果您想要為一些 RADIUS 用戶端啟用 MFA,但其他的用戶端則不啟用,您可以設定兩部 NPS 伺服器,並只在其中一部上安裝擴充功能。

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

針對未註冊 MFA 的使用者做準備

如果您有未註冊 MFA 的使用者,您可以決定在其嘗試驗證時會有什麼結果。 若要控制此一行為,請使用登錄路徑 HKLM\Software\Microsoft\AzureMFA 中的登錄設定 REQUIRE_USER_MATCH。 此設定具有單一組態選項︰

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

當使用者沒有註冊 MFA 時,這項設定會決定所要採取的動作。 當找不到此索引鍵、沒有設定,或是已設為 TRUE 時,如果使用者並未註冊,則延伸模組將無法通過 MFA 挑戰。

當此索引鍵設為 FALSE 時,若使用者未註冊,則會在不執行 MFA 的情況下繼續驗證。 如果使用者已在 MFA 中註冊,則必須進行 MFA 驗證,即使已將 REQUIRE_USER_MATCH 設定為 FALSE 時也還是會進行驗證。

當使用者已上線,但尚未全部註冊 Azure AD Multi-Factor Authentication 時,您可以選擇建立此金鑰,並將它設為 FALSE。 但是,設定金鑰可讓未註冊 MFA 的使用者進行登入,因此您應該先移除此金鑰,然後再移至生產環境。

疑難排解

NPS 擴充功能健康情況檢查指令碼

下列指令碼可在對 NPS 擴充功能進行疑難排解時,用來執行基本健康情況檢查步驟。

MFA_NPS_Troubleshooter.ps1

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

如果基於任何原因而未在租用戶中建立 "Azure Multi-Factor Auth Client" 服務主體,則可以執行 New-MsolServicePrincipal Cmdlet 手動予以建立,如下所示。

import-module MSOnline
Connect-MsolService
New-MsolServicePrincipal -AppPrincipalId 981f26a1-7f43-403b-a875-f8b09b8cd720 -DisplayName "Azure Multi-Factor Auth Client"

完成之後,請移至 https://aad.portal.azure.com> [企業應用程式] > 搜尋 [Azure Multi-Factor Auth Client] > 檢查此應用程式的屬性 > 確認已啟用還是停用服務主體 > 按一下應用程式項目 > 移至應用程式的 [屬性] > 如果在此應用程式的 [屬性] 中將 [為使用者啟用登入?] 選項設定為 [否],則請將其設定為 [是]。

重新執行 AzureMfaNpsExtnConfigSetup.ps1 指令碼,而且不應該傳回 Service principal was not found 錯誤。

如何確認已如預期安裝用戶端憑證?

在憑證存放區中尋找安裝程式所建立的自我簽署憑證,並確認私密金鑰已將權限授與給使用者 NETWORK SERVICE。 憑證的主體名稱為 CN <tenantid>, OU = Microsoft NPS Extension

透過 AzureMfaNpsExtnConfigSetup.ps1 指令碼所產生的自我簽署憑證具有為期兩年的有效性存留期。 在確認憑證是否已安裝的同時,建議您也應確認憑證尚未逾期。

如何確認用戶端憑證和 Azure AD 租用戶的關聯性?

開啟 PowerShell 命令提示字元並執行下列命令:

import-module MSOnline
Connect-MsolService
Get-MsolServicePrincipalCredential -AppPrincipalId "981f26a1-7f43-403b-a875-f8b09b8cd720" -ReturnKeyValues 1

這些命令會列印出將租用戶與 PowerShell 工作階段中之 NPS 擴充功能執行個體相關聯的所有憑證。 將用戶端憑證匯出為不含私密金鑰的 Base-64 encoded X.509(.cer) 檔案,然後與 PowerShell 中的清單比較,以尋找您的憑證。

下列命令會在您磁碟機 C: 的根目錄中建立一個名稱為 npscertificate (格式為 .cer) 的檔案。

import-module MSOnline
Connect-MsolService
Get-MsolServicePrincipalCredential -AppPrincipalId "981f26a1-7f43-403b-a875-f8b09b8cd720" -ReturnKeyValues 1 | select -ExpandProperty "value" | out-file c:\npscertificate.cer

執行此命令之後,請前往您的磁碟機 C: ,找到並按兩下該檔案。 前往 [詳細資料],並向下捲動至 [指紋]。 將安裝於伺服器上的憑證指紋與該指紋進行比較。 這兩個憑證指紋應該相符。

如果命令傳回多個憑證,則可以使用採人類看得懂之格式的 Valid-FromValid-Until 時間戳記來篩選出明顯不符者。

我為何無法登入?

檢查您的密碼尚未到期。 NPS 延伸模組並不支援在登入工作流程期間變更密碼。 請連絡您組織的 IT 人員以獲得進一步協助。

為何要求會失敗並出現驗證權杖錯誤?

此錯誤可能來自多種原因之一。 請使用下列步驟對問題進行疑難排解:

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

驗證為何失敗,並且 HTTP 記錄中有指出找不到使用者的錯誤?

請確認 AD Connect 已在執行中,且使用者同時存在於內部部署 AD DS 環境以及 Azure AD 之中。

為何我會在記錄中看到 HTTP 連線錯誤,且我的所有驗證都失敗?

確認可以從執行 NPS 延伸模組的伺服器存取 https://adnotifications.windowsazure.comhttps://strongauthenticationservice.auth.microsoft.com

為何儘管已有有效的憑證,驗證仍無法運作?

如果先前的電腦憑證已過期,且已產生新的憑證,請刪除所有已過期的憑證。 過期的憑證可能會在 NPS 延伸模組啟動時產生問題。

若要檢查是否具備有效的憑證,請使用 MMC 檢查本機電腦帳戶的憑證存放區,並確認憑證尚未超過其到期日。 若要產生新的有效憑證,請重新執行執行 PowerShell 安裝程式指令碼一節中的步驟。

為什麼在 NPS 伺服器記錄中會顯示已捨棄的要求?

如果逾時設定的值太低,則 VPN 伺服器有可能會傳送重複的要求至 NPS 伺服器。 而 NPS 伺服器偵測到這些重複的要求,並予以捨棄。 這是原本設計的行為,並不表示 NPS 伺服器或 Azure AD Multi-Factor Authentication NPS 延伸模組有問題。

如需有關在 NPS 伺服器記錄中顯示已捨棄封包的詳細資訊,請參閱本文開頭有關 RADIUS 通訊協定的行為與 NPS 延伸模組一節中的說明。

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

除非您的組織必須使用較舊且較弱的加密套件,否則建議您應將其停用或移除。 如需如何完成這項工作的相關資訊,請參閱管理 AD FS 的 SSL/TLS 通訊協定和加密套件一文中的內容

其他疑難排解

如需其他疑難排解指導方針和可能的解決方案,請參閱解決 Azure AD Multi-Factor Authentication 的 NPS 延伸模組中的錯誤訊息一文。

後續步驟