將現有的網路原則伺服器 (NPS) 基礎結構與 Microsoft Entra 多重要素驗證整合
Microsoft Entra 多重要素驗證的網路原則伺服器 (NPS) 延伸模組會將雲端式 MFA 功能新增至使用現有伺服器的驗證基礎結構中。 利用 NPS 擴充功能,您可以在現有驗證流程中新增通話、簡訊或電話應用程式驗證,而不必安裝、設定及維護新的伺服器。
NPS 延伸模組會作為 RADIUS 與雲端式 Microsoft Entra 多重要素驗證之間的配接器,可為同盟或同步的使用者提供第二驗證要素。
NPS 延伸模組的運作方式
在使用 Microsoft Entra 多重要素驗證的 NPS 延伸模組時,驗證流程會包含下列元件:
NAS/VPN 伺服器會從 VPN 用戶端接收要求,並將其轉換為對 NPS 伺服器的 RADIUS 要求。
NPS 伺服器會連線至 Active Directory Domain Services (AD DS),以對 RADIUS 要求執行主要驗證,並於成功時將要求傳遞至任何已安裝的延伸模組。
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 方法,使用者就會一直看到核准/拒絕。
Microsoft Entra 多重要素驗證會與 Microsoft Entra ID 通訊以擷取使用者的詳細資料,並使用設定給使用者的驗證方法來執行次要驗證。
下圖說明此高階驗證要求流程︰
RADIUS 通訊協定的行為與 NPS 延伸模組
由於 RADIUS 是一種 UDP 通訊協定,因此傳送者會假設封包遺失並等候回應。 經過一段時間後,連線可能會逾時。如果出現這種情況,就會因為傳送者假設封包並未抵達目的地而重新傳送封包。 在本文內所提及的驗證案例中,VPN 伺服器會傳送要求並等候回應。 如果發生連線逾時的情況,VPN 伺服器會再次傳送要求。
在連線逾時之前,由於 MFA 的要求可能仍在處理中,因此 NPS 伺服器有可能不會回應 VPN 伺服器的原始要求。 使用者有可能並未順利回應 MFA 提示,因此 Microsoft Entra 多重要素驗證 NPS 延伸模組仍在等候該事件完成。 在此情況下,NPS 伺服器會將額外的 VPN 伺服器要求視為重複的要求。 NPS 伺服器會捨棄重複的 VPN 伺服器要求。
如果您查看 NPS 伺服器記錄的內容,可能會發現這些遭到捨棄的額外要求。 此一行為是設計來保護終端使用者免於面臨從單一驗證嘗試中獲得多個要求的情況。 NPS 伺服器事件記錄中如有捨棄的要求,並不表示 NPS 伺服器或 Microsoft Entra 多重要素驗證 NPS 延伸模組有問題。
若要將捨棄的要求數降至最低,建議 VPN 伺服器等候逾時的時間長度至少要設定為 60 秒。 若有需要,或是要降低事件記錄中遭捨棄的要求數目,可以將 VPN 伺服器等候逾時的時間長度提高到 90 或 120 秒。
由於這個 UDP 通訊協定的行為,即使在使用者已回應初始要求之後,NPS 伺服器仍可能會收到重複的要求而傳送另一個 MFA 提示。 為了避免這種計時狀況,Microsoft Entra 多重要素驗證 NPS 延伸模組在順利將回應傳送至 VPN 伺服器之後,仍會繼續篩選並捨棄重複的要求最長達 10 秒鐘之久。
同樣地,即使在 Microsoft Entra 多重要素驗證出現成功提示後,在 NPS 伺服器事件記錄中仍可能會顯示遭捨棄的要求。 這是預期的行為,並不表示 NPS 伺服器或 Microsoft Entra 多重要素驗證 NPS 延伸模組有問題。
規劃您的部署
NPS 延伸模組會自動處理備援,因此您不需要特殊組態。
您可以視需要建立數量不拘的 NPS 伺服器 (已啟用 Microsoft Entra 多重要素驗證)。 如果您安裝多部伺服器,您應該為每部伺服器使用不同的用戶端憑證。 為每一部伺服器建立憑證,這意味著您可以個別更新每個憑證,而無須擔心所有伺服器都必須停機的情況。
VPN 伺服器會路由傳送驗證要求,因此 VPN 伺服器必須清楚地知道已啟用 Microsoft Entra 多重要素驗證的新 NPS 伺服器。
必要條件
NPS 擴充功能是為了搭配現有基礎結構來運作。 請確定您已備妥這些必要條件,然後再開始。
授權
Microsoft Entra 多重要素驗證的 NPS 延伸模組可以提供 Microsoft Entra 多重要素驗證授權 (部分機器翻譯) (內含 Microsoft Entra ID P1 和 Premium 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 租用戶的系統管理員認證和識別碼。 若要取得租用戶識別碼,請完成下列步驟:
瀏覽至 [身分識別]>[設定]。
網路需求
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://graph.microsoft.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 傳送至另一部伺服器。
- 在您的伺服器上,開啟 [伺服器管理員]。 選取 [快速入門] 功能表中的 [新增角色及功能精靈]。
- 針對安裝類型,選擇 [角色型或功能型安裝]。
- 選取 [網路原則與存取服務] 伺服器角色。 隨即會在一個視窗中通知您執行這個角色所需的功能。
- 繼續執行精靈中的各個步驟,直到顯示 [確認] 頁面為止。 準備就緒時,請選取 [安裝]。
安裝 NPS 伺服器角色可能需要幾分鐘的時間。 完成時,請繼續執行以下各節中的步驟,將這部伺服器設定成處理由 VPN 解決方案中所傳入的 RADIUS 要求。
設定您的 VPN 解決方案與 NPS 伺服器通訊
根據您所使用 VPN 解決方案的不同,設定您 RADIUS 驗證原則的步驟也有所不同。 設定 VPN 原則,指向 RADIUS NPS 伺服器。
將網域使用者同步處理至雲端
這個步驟在租用戶上可能已經完成,但建議最好再次檢查,確認 Microsoft Entra Connect 最近已同步處理您的資料庫。
- 至少以混合式身分識別系統管理員 (部分機器翻譯) 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[混合式管理]>[Microsoft Entra Connect]。
- 確認同步處理狀態為 [已啟用],且上次同步處理為不到一小時前。
如果必須再啟動新一輪的同步處理作業,請參閱 Microsoft Entra Connect 同步:排程器一文中的說明。
判斷您的使用者可以使用的驗證方法
有兩個因素會影響 NPS 延伸模組部署可用的驗證方法:
RADIUS 用戶端 (VPN、Netscaler 伺服器或其他) 與 NPS 伺服器之間所使用的密碼加密演算法。
- PAP 可支援雲端中 Microsoft Entra 多重要素驗證的所有驗證方法:撥打電話、單向文字簡訊、行動裝置應用程式通知、OATH 硬體權杖,以及行動裝置應用程式驗證碼。
- CHAPV2 和 EAP 支援通話和行動裝置應用程式通知。
用戶端應用程式 (VPN、Netscaler 伺服器或其他) 可以處理的輸入法。 例如,VPN 用戶端是否有一些方法可讓使用者從文字或行動裝置應用程式輸入驗證程式碼?
您可以在 Azure 中停用不受支援的驗證方法。
注意
不論所使用的驗證通訊協定 (PAP、CHAP 或 EAP) 為何,如果 MFA 方法屬於是文字型的作業 (簡訊、行動應用程式驗證碼,或 OATH 硬體權杖),而且需要使用者在 VPN 的用戶端使用者介面的欄位中輸入代碼或文字,則可能可以完成驗證。 但是,任何設定於網路存取原則中 RADIUS 屬性都「不會」轉送至 RADIUS 用戶端 (網路存取裝置,例如 VPN 閘道)。 因此,VPN 用戶端可能會有比您預期還要多 (或還要少,甚至於沒有) 的存取權。
可用的因應措施是,您可以執行CrpUsernameStuffing 指令碼來轉送在網路存取原則中所設定的 RADIUS 屬性,並在使用者的驗證方法需要用到一次性密碼 (OTP),例如簡訊、Microsoft Authenticator 密碼,或硬體 FOB 時,允許 MFA。
針對 MFA 註冊使用者
在部署並使用 NPS 延伸模組之前,必須執行 Microsoft Entra 多重要素驗證的使用者必須先註冊 MFA。 若要在部署的同時測試延伸模組,您還必須至少有一個已完整註冊 Microsoft Entra 多重要素驗證的測試帳戶。
若您必須建立並設定測試帳戶,請使用下列步驟:
- 使用測試帳戶登入 https://aka.ms/mfasetup。
- 遵循提示來設定驗證方法。
- 至少以驗證原則系統管理員 (部分機器翻譯) 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [保護]>[多重要素驗證],並為測試帳戶啟用。
重要
請確定使用者已成功註冊 Microsoft Entra 多重要素驗證。 如果使用者先前已註冊自助式密碼重設 (SSPR),則會為其帳戶啟用 StrongAuthenticationMethods。 即便使用者只註冊了 SSPR,系統仍會在設定了「StrongAuthenticationMethods」之後強制執行 Microsoft Entra 多重要素驗證。
您可以啟用同時設定了 SSPR 與 Microsoft Entra 多重要素驗證的合併安全性註冊。 如需詳細資訊,請參閱在 Microsoft Entra ID 中啟用合併的安全性資訊註冊。
如果使用者先前僅啟用 SSPR,您也可以強制使用者重新註冊驗證方法。
利用使用者名稱和密碼連線至 NPS 伺服器的使用者需要完成多重要素驗證提示。
安裝 NPS 擴充功能
重要
在與 VPN 存取點不同的伺服器上安裝 NPS 擴充功能。
下載和安裝 Microsoft Entra 多重要素驗證的 NPS 延伸模組
若要下載並安裝 NPS 延伸模組,請完成下列步驟:
- 從 Microsoft 下載中心下載 NPS 延伸模組。
- 將二進位檔複製到您要設定的網路原則伺服器。
- 執行 setup.exe 並遵循安裝指示。 如果發生錯誤,請確認必要條件一節中的程式庫已安裝成功。
升級 NPS 擴充功能
如果您稍後會升級現有的 NPS 延伸模組安裝,為了避免重新啟動基礎伺服器,請完成下列步驟:
- 解除安裝現有的版本。
- 執行新的安裝程式。
- 重新啟動「網路原則伺服器」(IAS) 服務。
執行 PowerShell 指令碼
安裝程式會在下列位置建立 PowerShell 指令碼︰C:\Program Files\Microsoft\AzureMfa\Config
(其中 C:\
是您的安裝磁碟機)。 每次執行這個 PowerShell 指令碼時,就會執行以下的動作:
- 建立自我簽署憑證。
- 讓憑證的公開金鑰與 Microsoft Entra ID 上的服務主體產生關聯。
- 將憑證儲存於本機電腦的憑證存放區中。
- 將憑證的私密金鑰存取權授與網路使用者。
- 重新啟動 NPS 服務。
除非您想要使用自己專屬的憑證 (而不想使用由 PowerShell 指令碼所產生的自我簽署憑證),否則請執行 PowerShell 指令碼來完成 NPS 延伸模組的安裝。 如果您要在多部伺服器上安裝延伸模組,則每一部伺服器都應該要有自己專屬的憑證。
若要提供負載平衡或備援功能,請視需要在其他的 NPS 伺服器上重複這些步驟:
以系統管理員的身分開啟 Windows PowerShell 命令提示字元。
變更目錄至由安裝程式建立 PowerShell 指令碼的所在位置:
cd "C:\Program Files\Microsoft\AzureMfa\Config"
執行安裝程式建立的 PowerShell 指令碼。
您可能必須先啟用適用於 PowerShell 的 TLS 1.2,才能正確連線並下載套件:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
重要
如果客戶使用適用於美國政府的 Azure 或由 21Vianet 雲端營運的 Azure,請先編輯「AzureMfaNpsExtnConfigSetup.ps1」指令碼,以納入所需雲端的「AzureEnvironment」參數。 例如,指定 [-AzureEnvironment USGovernment] 或 [-AzureEnvironment AzureChinaCloud]。
.\AzureMfaNpsExtnConfigSetup.ps1
出現提示時,請登入 Microsoft Entra ID。
管理此功能需要全域系統管理員。
PowerShell 會提示您輸入您的租用戶識別碼。 使用您在<必要條件>一節中複製的「租用戶識別碼」GUID。
當指令碼執行完成時,會顯示成功訊息。
如果您先前的電腦憑證已過期,且已產生新的憑證,則應刪除任何過期的憑證。 擁有過期的憑證可能會導致 NPS 擴充功能啟動方面的問題。
注意
如果您使用自己的憑證,而不是使用 PowerShell 命令本產生憑證,請確定它們包含客戶端驗證目的,且私鑰已 READ 許可權授與給使用者 NETWORK SERVICE。
如果您使用 1.2.2893.1 版或更新版本,則可以使用憑證的指紋來識別憑證。 將 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa\CLIENT_CERT_IDENTIFIER 設定為 註冊表設定中的指印。 某些憑證的主體名稱查詢發生問題。 使用指紋可解決此問題。
如果您使用 1.2.2677.2 版或更早版本,憑證必須符合 NPS 命名慣例,而且主體名稱必須 CN=<TenantID>,OU=Microsoft NPS 擴充功能。
Microsoft Azure Government 或由 21Vianet 營運的 Microsoft Azure 的額外步驟
如果客戶使用 Azure Government 或由 21Vianet 雲端營運的 Azure,則必須在每一部 NPS 伺服器上執行以下額外的設定步驟。
重要
只有當您是 Azure Government 或由 21Vianet 營運的 Azure 的客戶時,才需要對這些登錄設定進行設定。
如果您是 Azure Government 或由 21Vianet 營運的 Azure 的客戶,請在 NPS 伺服器上開啟 [登錄編輯程式]。
瀏覽至
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMfa
。如果是 Azure Government 客戶,請設定以下機碼值:
登錄機碼 值 AZURE_MFA_HOSTNAME strongauthenticationservice.auth.microsoft.us AZURE_MFA_RESOURCE_HOSTNAME adnotifications.windowsazure.us STS_URL https://login.microsoftonline.us/ 如果是由 21Vianet 營運的 Microsoft Azure 的客戶,請設定以下機碼值:
登錄機碼 值 AZURE_MFA_HOSTNAME strongauthenticationservice.auth.microsoft.cn AZURE_MFA_RESOURCE_HOSTNAME adnotifications.windowsazure.cn STS_URL https://login.chinacloudapi.cn/ 重複前兩個步驟,以設定每個 NPS 伺服器的登錄機碼值。
重新啟動每個 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 擴充功能不支援在通話設定上設定的自定義通話。 預設通話語言將會使用 (EN-US)。
- NPS 延伸模組會使用來自內部部署 AD DS 環境的 UPN,以在用於執行次要驗證的 Microsoft Entra 多重要素驗證上識別使用者。延伸項目可以設定為使用不同的識別碼,例如 UPN 以外的替代登入識別碼或自訂 AD DS 欄位。 如需詳細資訊,請參閱多重要素驗證之 NPS 延伸模組的進階設定選項一文。
- 並非所有的加密通訊協定都支援所有的驗證方法。
- PAP 支援通話、單向簡訊、行動裝置應用程式通知和行動裝置應用程式驗證碼
- CHAPV2 和 EAP 支援通話和行動裝置應用程式通知
控制需要 MFA 的 RADIUS 用戶端
一旦您為使用 NPS 延伸模組的 RADIUS 用戶端啟用了 MFA 後,則該用戶端的所有驗證都必須要執行 MFA。 如果您想要為一些 RADIUS 用戶端啟用 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 中註冊,則必須進行 MFA 驗證,即使已將 REQUIRE_USER_MATCH 設定為 FALSE 時也還是會進行驗證。
當使用者已上線,但尚未全部註冊 Microsoft Entra 多重要素驗證時,您可以選擇建立此金鑰,並將其設定為「FALSE」。 但是,設定金鑰可讓未註冊 MFA 的使用者進行登入,因此您應該先移除此金鑰,然後再移至生產環境。
疑難排解
NPS 擴充功能健康情況檢查指令碼
Microsoft Entra 多重要素驗證 NPS 延伸模組健康情況檢查指令碼 (英文) 會在針對 NPS 延伸模組進行疑難排解時執行基本的健康情況檢查。 請執行指令碼,然後選擇其中一個可用的選項。
如何在執行 AzureMfaNpsExtnConfigSetup.ps1
指令碼時修正「找不到服務主體」錯誤?
如果基於任何原因而未在租用戶中建立「Azure 多重要素驗證用戶端」服務主體,則可以執行 PowerShell 手動予以建立。
Connect-MgGraph -Scopes 'Application.ReadWrite.All'
New-MgServicePrincipal -AppId 00001111-aaaa-2222-bbbb-3333cccc4444 -DisplayName "Azure Multi-Factor Auth Client"
- 以至少
應用程式管理員身分登入 Microsoft Entra 系統管理中心 。 - 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>,然後搜尋「Azure 多重要素驗證用戶端」。
- 然後按一下 [檢查此應用程式的屬性]。 確認服務主體已啟用還是停用。
- 按一下應用程式項目 >[屬性]。
- 如果 [為使用者啟用登入] 選項設定為 [否],請將其設定為 [是]。
再次執行 AzureMfaNpsExtnConfigSetup.ps1
指令碼,其應該不會傳回「找不到服務主體」錯誤。
如何確認已如預期安裝用戶端憑證?
在憑證存放區中尋找安裝程式所建立的自我簽署憑證,並確認私密金鑰已將「讀取」權限授與給使用者 NETWORK SERVICE。 憑證的主體名稱為 [CN <tenantid>, OU = Microsoft NPS Extension]
透過 AzureMfaNpsExtnConfigSetup.ps1
指令碼所產生的自我簽署憑證具有為期兩年的有效性存留期。 在確認憑證是否已安裝的同時,建議您也應確認憑證尚未逾期。
如何驗證用戶端憑證是否已與 Microsoft Entra ID 中的租用戶產生關聯?
開啟 PowerShell 命令提示字元並執行下列命令:
Connect-MgGraph -Scopes 'Application.Read.All'
(Get-MgServicePrincipal -Filter "appid eq '00001111-aaaa-2222-bbbb-3333cccc4444'" -Property "KeyCredentials").KeyCredentials |
Format-List KeyId, DisplayName, StartDateTime, EndDateTime,
@{Name = "Key"; Expression = {[System.Convert]::ToBase64String($_.Key) }},
@{Name = "Thumbprint"; Expression = { [Convert]::ToBase64String($_.CustomKeyIdentifier)}}
這些命令會列印出將租用戶與 PowerShell 工作階段中之 NPS 擴充功能執行個體相關聯的所有憑證。 將用戶端憑證匯出為不含私密金鑰的 Base-64 encoded X.509(.cer) 檔案,然後與 PowerShell 中的清單比較,以尋找您的憑證。 將安裝於伺服器上的憑證指紋與該指紋進行比較。 這兩個憑證指紋應該相符。
如果命令傳回多個憑證,則可以使用人類看得懂之格式的「StartDateTime」和「EndDateTime」時間戳記來篩選出明顯不符者。
我為何無法登入?
檢查您的密碼尚未到期。 NPS 延伸模組並不支援在登入工作流程期間變更密碼。 請連絡您組織的 IT 人員以獲得進一步協助。
為何要求會失敗並出現驗證權杖錯誤?
此錯誤可能來自多種原因之一。 請使用下列步驟對問題進行疑難排解:
- 重新啟動 NPS 伺服器。
- 確認已如預期安裝用戶端憑證。
- 確認憑證已與 Microsoft Entra ID 上的租用戶相關聯。
- 確認可以從執行延伸模組的伺服器存取
https://login.microsoftonline.com/
。
驗證為何失敗,並且 HTTP 記錄中有指出找不到使用者的錯誤?
請確認 AD Connect 已在執行中,且使用者同時存在於內部部署 AD DS 環境以及 Microsoft Entra ID 之中。
為何我會在記錄中看到 HTTP 連線錯誤,且我的所有驗證都失敗?
確認可以從執行 NPS 延伸模組的伺服器存取 https://adnotifications.windowsazure.com、https://strongauthenticationservice.auth.microsoft.com。
為何儘管已有有效的憑證,驗證仍無法運作?
如果先前的電腦憑證已過期,且已產生新的憑證,請刪除所有已過期的憑證。 過期的憑證可能會在 NPS 延伸模組啟動時產生問題。
若要檢查是否具備有效的憑證,請使用 MMC 檢查本機電腦帳戶的憑證存放區,並確認憑證尚未超過其到期日。 若要產生新的有效憑證,請重新執行執行 PowerShell 安裝程式指令碼一節中的步驟。
為什麼在 NPS 伺服器記錄中會顯示已捨棄的要求?
如果逾時設定的值太低,則 VPN 伺服器有可能會傳送重複的要求至 NPS 伺服器。 而 NPS 伺服器偵測到這些重複的要求,並予以捨棄。 這是原本設計的行為,並不表示 NPS 伺服器或 Microsoft Entra 多重要素驗證 NPS 延伸模組有問題。
如需有關在 NPS 伺服器記錄中顯示已捨棄封包的詳細資訊,請參閱本文開頭有關 RADIUS 通訊協定的行為與 NPS 延伸模組一節中的說明。
如何讓 Microsoft Authenticator 數字比對與 NPS 搭配運作?
雖然 NPS 不支援數字比對,但最新的 NPS 延伸模組卻支援時間型的單次密碼 (TOTP) 方法,例如 Microsoft Authenticator 提供的 TOTP、其他軟體權杖和硬體 FOB。 TOTP 登入提供的安全性比替代性核准/拒絕體驗更好。 請務必執行最新版的 NPS 擴充功能。
在 2023 年 5 月 8 日之後,當所有使用者都啟用數字比對時,任何使用 NPS 延伸項目 1.2.2216.1 版或更新版本來執行 RADIUS 連線的人,系統都會改為提示其使用 TOTP 方法來登入。
使用者必須註冊 TOTP 驗證方法,才會看到此行為。 若未註冊 TOTP 方法,使用者就會一直看到核准/拒絕。
在 NPS 延伸模組 1.2.2216.1 版發行之前,2023 年 5 月 8 日之後,執行舊版 NPS 延伸模組的組織可以修改登錄,以要求使用者輸入 TOTP。 如需詳細資訊,請參閱 NPS 延伸模組。
管理的 TLS/SSL 通訊協定和加密套件
除非您的組織必須使用較舊且較弱的加密套件,否則建議您應將其停用或移除。 如需如何完成這項工作的相關資訊,請參閱管理 AD FS 的 SSL/TLS 通訊協定和加密套件一文中的內容
其他疑難排解
如需其他疑難排解指導方針和可能的解決方案,請參閱解決 Microsoft Entra 多重要素驗證 NPS 延伸模組傳來的錯誤訊息 (部分機器翻譯) 一文。
下一步
在多重要素驗證之 NPS 延伸模組的進階設定選項中,設定登入的替代識別碼,或為不應該執行雙步驟驗證的 IP 設定例外狀況清單