最近碰到幾個關於AD認證的問題,問題發生會使EAP-MSCHAPv2無法正常進行,進而導正網路連接驗證失敗。
EAP-MSCHAPv2過程中,用戶端(Client)會去檢驗Server憑證,近來Windows調整憑證管控機制,這使得Windows電腦在憑證相關的運作出現問題。
微軟建議改使用EAP-TLS,除了避免Credential Guard影響網路驗證,另外一方也能提高安全性。
以下文章內容描述如何透過Windows Server NPS網路連接驗證與透過GP派送群組原則,使用戶端可以自動取得憑證,並且連線上EAP-TLS驗證方法的網路。
EAP-TLS是個以「憑證」進行驗證的驗證方法,因此,需要有一個憑證機構(CA),才能順利進行,這裡使用Active Directory Certificate Service(ADCS)。
驗證伺服器(Authentication Server)使用Network Policy Service(NPS)。
一個以EAP-TLS驗證的網路,我們需要將憑證放入Windows電腦的憑證中的「個人」,才能再連線時選取憑證。
而這個憑證,憑證用途需要具有「用戶端驗證」。
憑證會跟隨使用者帳戶才會具有唯一性,因此,只有憑證需要以具有用戶屬性簽發,例如主體為用戶域名。
可以分為三個部分進行設置:
設定以EAP-TLS驗證的無線網路
無線網路安全性使用「WPA2 Entriprise」或是「WPA3 Entripris」,且將該SSID的驗證伺服器指向NPS,並且在NPS中與網路控制器使用相同PSK,確保網路認證能順利進行。
設定RADIUS伺服器(NPS)
EAP-TLS可以搭配Radius Server,因此我們啟用ADCS與NPS,使用ADCS簽發憑證作為NPS憑證使用,並且進行簡單的網路原則,限制>驗證方式中使用「Microsoft智慧卡或其他憑證」,並選擇後編輯,確認是否有套用憑證。

參考微軟文件:《用於網路造訪的 Extensible Authentication Protocol (EAP)》
透過群組原則(GP)使加入網域電腦自動註冊使用者憑證
透過群組原則管理器,針對想要修改的原則修改,這裡以「Default Domain Policy」為主。
在「使用者設定」> 「原則」 > 「Windows 設定」> 「安全性設定」 > 「公開金鑰原則」中,將「憑證服務用戶端 – 憑證註冊原則」與「憑證服務用戶端 – 自動註冊」調整為「啟用」。

此外,在「電腦設定」> 「原則」 > 「Windows 設定」> 「安全性設定」中,可以設定有線網路原則與無線網路原則,使網域電腦可以無需再設定,單擊就能正確設定去連線網路。


新增「憑證範本」用於用戶端驗證自動註冊使用,直接複製範本「使用者」,然後針對安全性進行修改,將自動註冊勾選。

在「延伸」點選應用程式原則修改憑證用途,只保留用戶端驗證。

在ADCS中,添加剛剛複製的範本「使用者 自動註冊」

驗證
加入網域後的電腦,使用Domain User登入,登入後可以在「憑證」> 「個人」找到自動註冊的憑證。
從ADCS上,可以看到自動簽發給Domain User的憑證。

然後透過連線以WPA2-Entriprise的網路,使用憑證進行驗證,並且選擇該自動簽發憑證,能自動上網即完成快速部署EAP-TLS驗證之網路連接。