在Android 14之後,向NPS做認證時,無法使用首次信任(TOFU)順利連線

在Android 14之後,強化了匿名安全性,這使得在EAP階段時,預設會使用「anonymous」名稱去與NPS要求憑證。

然而,anonymous通常在AD之中是不存在的,因此這個連線會被NPS拒絕掉。

爲了避免使用anonymous去嘗試與NPS做EAP建立,這邊在匿名使用者,應該也要輸入跟使用者一樣的值,也就是帳號打兩次。

例如:

使用者jn@jnlab.com.tw。匿名使用者jn@jnlab.com.tw。

使用者jn。匿名使用者jn。

其他排查

NPS的憑證需要具有「主體」名稱。

避免使用域控制器憑證作爲NPS憑證,因爲其沒有主體名稱。應該要額外再簽發一張憑證。

如果NPS兼DC,可以建立與發佈憑證範本

  • 步驟 1:建立憑證範本
    1. 在已安裝 AD CS 的 CA 伺服器上,開啟「憑證授權管理工具」。
    2. 複製或修改現有的「伺服器憑證」範本,確保範本中包含以下項目:
      • 用途:必須支援伺服器驗證(例如:Server Authentication)。
      • 主體名稱:設定為 NPS 伺服器的 FQDN,或使用自動註冊機制自動填入。
      • 安全性:如果NPS是DC,需要加入「Domain Controller」並且允許註冊。
    3. 完成範本修改後,儲存並命名,例如「NPS_Server_Template」。
  • 步驟 2:發佈憑證範本
    1. 在 CA 管理工具中,右鍵點選「憑證範本」>「管理」,將剛建立的範本發佈至 CA。

步驟 3:於 NPS 伺服器上申請憑證

  1. 以系統管理者身分登入 NPS 伺服器。
  2. 開啟「Microsoft 管理控制台」(MMC),並新增「憑證」管理單元,選擇「本機電腦」。
  3. 右鍵點選「個人」>「所有工作」>「向憑證授權單位申請新憑證」,啟動憑證註冊精靈。
  4. 在精靈中選擇「進階憑證申請」或「自訂憑證申請」,並選取剛剛發佈的「NPS_Server_Template」憑證範本。
  5. 按照精靈指示填寫必要資訊(通常範本中會自動填入 NPS 伺服器名稱),完成申請。

步驟 4:安裝並綁定憑證

  1. 憑證申請完成後,憑證會存放在本機電腦的「個人」憑證存放區。
  2. 開啟 NPS 管理工具,在「NPS (本機)」的屬性中,於「EAP」設定頁面選擇剛剛申請到的憑證作為伺服器憑證。

其他參考文件

https://learn.microsoft.com/en-us/answers/questions/718947/nps-server-configuration-for-eap-identity-privacy