在本作指南中,您將瞭解如何使用 Microsoft Entra 條件式存取來授與 VPN 使用者存取資源的許可權。 透過對虛擬專用網路 (VPN) 連線的 Microsoft Entra 條件式存取,您可以幫助保護 VPN 連線。 條件式存取是以原則為主的評估引擎,可讓您針對任何 Microsoft Entra 連接的應用程式建立存取規則。
Prerequisites
開始設定 VPN 的條件式存取之前,您必須先完成下列必要條件:
-
- 與條件式存取互動的系統管理員必須有下列其中一個角色指派,視他們執行的工作而定。 若要遵循最低權限的零信任準則,請考慮使用 Privileged Identity Management (PIM) 來啟用 Just-In-Time 特殊權限角色指派。
您已完成 教學課程:部署 AlwaysOn VPN - 設定 AlwaysOn VPN 的基礎結構 ,或已在環境中設定 Always On VPN 基礎結構。
您的 Windows 用戶端電腦已使用 Intune 設定 VPN 連線。 如果您不知道如何使用 Intune 設定及部署 VPN 配置檔,請參閱使用 Microsoft Intune 將 Always On VPN 配置檔部署至 Windows 10 或更新版本用戶端。
設定 EAP-TLS 以忽略憑證撤銷清單 (CRL) 檢查
EAP-TLS 用戶端無法連線,除非 NPS 伺服器完成憑證鏈結 (包括根憑證) 的撤銷檢查。 Microsoft Entra ID 發給使用者的雲端憑證並沒有 CRL,因為它們是短期憑證,存留期只有一個小時。 在 NPS 上的 EAP 需要配置為忽略 CRL 的缺失。 由於驗證方法是 EAP-TLS,因此只有在 EAP\13 下才需要此登錄值。 如果使用其他 EAP 驗證方法,則登錄值也應該新增到這些方法之下。
在本節中,您將會新增 IgnoreNoRevocationCheck 和 NoRevocationCheck。 根據預設,IgnoreNoRevocationCheck 和 NoRevocationCheck 會設定為 0 (停用)。
若要深入瞭解 NPS CRL 登錄設定,請參閱 設定網路原則伺服器證書吊銷清單檢查登錄設定。
Important
如果 Windows 路由和遠端存取伺服器 (RRAS) 使用 NPS 來 Proxy 對第二個 NPS 的 RADIUS 呼叫,則必須在兩部伺服器上設定 IgnoreNoRevocationCheck=1。
無法實作此登錄變更會導致使用雲端憑證與 PEAP 的 IKEv2 連線失敗,但是使用從內部部署 CA 簽發的用戶端驗證憑證的 IKEv2 連線將會繼續運作。
在 NPS 伺服器上開啟 regedit.exe 。
導覽至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13。
選取 編輯 > 新增,選取 DWORD(32 位元)值,然後輸入 IgnoreNoRevocationCheck。
按兩下 IgnoreNoRevocationCheck ,並將 [值] 資料設定為 1。
選取 [編輯 > 新增 ],然後選取 [DWORD (32 位) 值] ,然後輸入 NoRevocationCheck。
按兩下 NoRevocationCheck ,並將 [值] 資料設定為 1。
選取 [ 確定 ] 並重新啟動伺服器。 重新啟動 RRAS 和 NPS 服務還不夠。
| 登錄路徑 | EAP 擴充功能 |
|---|---|
| HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 | EAP-TLS |
| HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\25 | PEAP |
使用 Microsoft Entra ID 為 VPN 驗證建立根憑證
在本節中,您會使用 Microsoft Entra ID 為 VPN 驗證設定條件式存取根憑證,這會自動在租用戶中建立名為 VPN 伺服器的雲端應用程式。 若要設定 VPN 連線的條件式存取,您必須:
- 在 Azure 入口網站中建立 VPN 憑證。
- 下載 VPN 憑證。
- 將憑證部署至您的 VPN 和 NPS 伺服器。
Important
在 Azure 入口網站中建立 VPN 憑證後,Microsoft Entra ID 將立即開始使用它向 VPN 用戶端發出短期憑證。 VPN 憑證必須立即部署至 VPN 伺服器,這一點很重要,如此才能避免在 VPN 用戶端認證驗證時發生任何問題。
當使用者嘗試 VPN 連線時,VPN 用戶端會在 Windows 10 用戶端上呼叫 Web 帳戶管理員 (WAM)。 WAM 會呼叫 VPN 伺服器的雲端應用程式。 滿足條件式存取原則中的條件和控制項時,Microsoft Entra ID 會以短期 (1 小時) 憑證的形式向 WAM 發出權杖。 WAM 會將憑證放在使用者的憑證存放區中,並將控制權傳遞給 VPN 用戶端。
然後,VPN 用戶端會將 Microsoft Entra ID 發出的憑證傳送到 VPN 進行認證驗證。
Note
Microsoft Entra ID 使用 VPN 連線面板中最近建立的憑證作為發行者。 Microsoft Entra 條件式存取 VPN 連線分葉憑證現在支援強式憑證對應,這是 KB5014754 引進的憑證型驗證需求。 VPN 連線分葉憑證現在包含 (1.3.6.1.4.1.311.25.2) 的 SID 延伸模組 ,其中包含從 onPremisesSecurityIdentifier 屬性取得的使用者 SID 的編碼版本。
若要建立根憑證:
- 以全域系統管理員身分登入您的 Azure 入口網站 。
- 在左側功能表中,按一下 [Microsoft Entra ID]。
- 在 [Microsoft Entra ID] 頁面上的 [管理] 區段中,按一下 [安全性]。
- 在 [ 安全性 ] 頁面的 [保護] 區段中,按一下 [條件式存取]。
- 在 [條件式存取 | 原則] 頁面的 [管理] 區段中,按一下 [VPN 連線]。
- 在 VPN 連線頁面 上,按一下 新增憑證。
- 在 [新增 ] 頁面上,執行下列步驟: a. 針對 [選取持續時間],選取 [1、2 或 3 年]。 b. 選取 ,創建。
設定條件式存取原則
在本節中,您會設定 VPN 連線的條件式存取原則。 在 [VPN 連線] 刀鋒視窗中建立第一個根憑證時,會自動在租用戶中建立「VPN 伺服器」雲端應用程式。
建立指派給 VPN 使用者群組的條件式存取原則,並將 雲端應用程式 範圍限定為 VPN 伺服器:
- 用戶:VPN 用戶
- 雲應用程序:VPN 服務器
- 授權(存取控制):「需要多重要素驗證」。 如有需要,可以使用其他控制項。
手續: 此步驟涵蓋建立最基本的條件式存取原則。 如有需要,可以使用其他條件和控制項。
在 [條件式存取 ] 頁面上,在頂端的工具列中,選取 [新增]。
在 [ 新增 ] 頁面的 [ 名稱 ] 方塊中,輸入原則的名稱。 例如,輸入 VPN 原則。
在 [指派] 區段中,選取 [ 使用者和群組]。
在 [使用者和群組] 頁面上,執行下列步驟:
a. 選取 [選取使用者和群組]。
b. 選取 選取。
c. 在 [ 選取 ] 頁面上,選取 VPN 使用者 群組,然後選取 [ 選取]。
d. 在 [使用者和群組] 頁面上,選取 [完成]。
在 [ 新增 ] 頁面上,執行下列步驟:
a. 在 [指派] 區段中,選取 [雲端應用程式]。
b. 在 [雲端應用程式 ] 頁面上,選取 [選取應用程式]。
d. 選取 VPN 伺服器。
在 [新增] 頁面上,若要開啟 [授與] 頁面,請在 [控制項] 區段中,選取 [授與]。
在 [ 授與 ] 頁面上,執行下列步驟:
a. 選取 [需要多重要素驗證]。
b. 選取 選取。
在 [ 新增 ] 頁面的 [啟用原則] 底下,選取 [ 開啟]。
在 [新增] 頁面上,選取 [建立]。
將條件式存取根憑證部署至內部部署 AD
在本節中,您會將用於 VPN 驗證的受信任根憑證部署至本機 AD。
在 [VPN 連線] 頁面上,選取 [ 下載憑證]。
Note
[下載 base64 憑證] 選項適用於需要 base64 憑證以進行部署的一些設定。
登入具有企業系統管理員許可權的已加入網域的電腦,然後從系統管理員命令提示字元執行這些命令,將雲端根憑證 () 新增至 企業 NTauth 存放區:
Note
在 VPN 伺服器未加入 Active Directory 網域的環境中,雲端根憑證必須手動添加至 信任的根憑證授權單位 存放區。
Command Description certutil -dspublish -f VpnCert.cer RootCA在 CN=AIA 和 CN=Certification Authorities 容器下建立兩個 Microsoft VPN 根 CA gen 1 容器,並將每個根證書發佈為這兩個 Microsoft VPN 根 CA gen 1 容器的 cACertificate 屬性值。 certutil -dspublish -f VpnCert.cer NTAuthCA在 CN=AIA 和 CN=Certificate Authorities 容器下建立一個 CN=NTAuthCertificates 容器,並將每個根憑證發佈為 CN=NTAuthCertificates 容器的 cACertificate 屬性上的值。 gpupdate /force加速將根憑證新增至 Windows 伺服器和用戶端電腦。 確認根憑證存在於企業 NTauth 存放區中,並顯示為受信任:
- 使用已安裝 證書頒發機構單位管理工具 的企業系統管理員許可權登入伺服器。
Note
根據預設, 證書頒發機構單位管理工具 會安裝證書頒發機構單位伺服器。 它們可以安裝在其他成員伺服器上,做為伺服器管理員中 角色管理工具 的一部分。
- 在 VPN 伺服器的 [開始] 功能表中,輸入 pkiview.msc 以開啟 [企業 PKI] 對話方塊。
- 從「開始」功能表中,輸入 pkiview.msc 以開啟「企業 PKI」對話方塊。
- 以滑鼠右鍵按一下 [企業 PKI ],然後選取 [管理 AD 容器]。
- 確認每個 Microsoft VPN 根 CA 第 1 代憑證都存在於:
- NTAuthCertificates
- 友邦貨櫃
- 憑證頒發機構容器
建立基於 OMA-DM 的 VPNv2 設定檔於 Windows 10 裝置上
在本節中,您會使用 Intune 建立 OMA-DM 型 VPNv2 設定檔,以部署 VPN 裝置設定原則。
在 Azure 入口網站中,選取 [ Intune>裝置組態>設定檔 ],然後選取您在 使用 Intune 設定 VPN 用戶端中建立的 VPN 設定檔。
在原則編輯器中,選取 [屬性] [>設定]> [基礎 VPN]。 擴充現有的 EAP Xml 以包含篩選條件,讓 VPN 用戶端提供從使用者憑證存放區擷取 Microsoft Entra 條件式存取憑證所需的邏輯,而不是讓它有機會使用探索到的第一個憑證。
Note
如果沒有這個項目,VPN 用戶端可以擷取從內部部署憑證授權單位發出的使用者憑證,導致 VPN 連線失敗。
找出以 /AcceptServerName</EapType>< 結尾>的區段,並在這兩個值之間插入下列字元串,以提供 VPN 用戶端邏輯,以選取Microsoft Entra 條件式存取憑證:
<TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUList Enabled="true"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions>選取 [條件式存取] 刀鋒視窗,並將 [此 VPN 連線的條件式存取] 切換為 [已啟用]。
啟用此設定會變更 VPNv2 配置檔 XML 中的 DeviceCompliance<Enabled><true>/Enabled< 設定。>
請選擇 [確定]。
選取 [指派],在 [包含] 底下,選取 [選取要包含的群組]。
選取接收此原則的正確群組,然後選取 [儲存]。
在用戶端上強制 MDM 原則同步
如果 VPN 設定檔未顯示在用戶端裝置上,則在 [設定\網路和網際網路\VPN] 下,可以強制 MDM 原則進行同步處理。
以 VPN 使用者 群組的成員身分登入已加入網域的用戶端電腦。
在 [開始] 功能表上,輸入 account,然後按 Enter。
在左側導覽窗格中,選取 [ 存取公司或學校]。
在 [存取公司或學校] 底下,選取 [已連線至 <\domain> MDM],然後選取 [資訊]。
選取 [同步處理] ,並確認 VPN 配置檔會顯示在 [設定\網路 & 網際網路\VPN] 底下。
後續步驟
您已完成將 VPN 設定檔設定為使用 Microsoft Entra 條件式存取。
若要深入了解條件式存取如何與 VPN 搭配運作,請參閱 VPN 和條件式存取。
若要深入瞭解進階 VPN 功能,請參閱 進階 VPN 功能。
若要查看 VPNv2 CSP 的概觀,請參閱 VPNv2 CSP:本主題提供 VPNv2 CSP 的概觀。