如何告訴域控制器不要註冊“Kerberos 身份驗證”證書?
根據這個問題,我有一個環境,其中無法頒發基於“Kerberos 身份驗證”模板的證書(有遠端站點沒有直接連接到 CA,證書註冊使用 CEP/CES,但 Kerberos 身份驗證模板需要 CA連接回請求的 DC;連結問題中的完整詳細資訊)。
我們可以在沒有這些證書的情況下生活……但是當啟用自動註冊時,所有域控制器都會不斷請求它們。
我嘗試禁用模板,但 DC 不斷嘗試並失敗,並出現錯誤“此 CA 不支持請求的證書模板”。
我如何告訴 DC 隻請求“域控制器身份驗證”證書並停止嘗試獲取“Kerberos 身份驗證”證書?
這個問題可以有兩個輸入:
第 1 部分:模板取代
在證書模板設置 ( certtmpl.msc ) 中,有被取代的模板選項卡,您可以在其中指定被目前模板取代的模板列表。此設置僅由證書自動註冊功能使用。
在自動註冊期間,客戶端檢查每個模板並檢查目前模板是否在任何其他模板中列為**superseded 。**如果已列出,則跳過目前模板。此行為定義在$$ MS-CAESO $$協議規範,§4.4.5.6.1:
4.4.5.6.1 確定 CertificateTemplate 實例是否對自動註冊有效 如果以下列表中的任何條件為真,則自動註冊不應處理特定 CertificateTemplate 實例的新註冊
<…> 為簡潔起見略過
- 在 CertificateEnrollmentPolicy.Templates 列表中存在一個 CertificateTemplate 實例,其 CertificateTemplate.SupersededTemplates 列表包含等於目前 CertificateTemplate.CommonName 的值
注: 2014 年,
$$ MS-CAESO $$文件已停用,其內容已移至許多其他協議規範,我沒有嘗試跟踪此移動。鑑於此後未發生任何更改,您可以使用文件的存檔 PDF 副本:已存檔$$ MS-CAESO $$PDF 副本。
這回答了問題的前半部分:為什麼不自動註冊允許自動註冊模板。因此,請檢查兩個模板是否都未配置為取代
Domain Controller Authentication
模板。如果有,請將其從取代列表中刪除。並檢查是否
Domain Controller Authentication
添加了發佈到啟用 Web 註冊的 CA。第 2 部分:MS-XCEP 記憶體
當客戶端使用證書註冊 Web 服務 (Microsoft CEP/CES) 時,他們會執行以下操作:
- 連接到註冊策略服務 (CEP) 並請求策略。
- CEP 對客戶端進行身份驗證,並從經過身份驗證的實體至少具有
Read
權限的 Active Directory 中讀取所有證書模板。- CEP 聯繫 CA 以獲取每個 CA 允許的模板列表,並按照$$ MS-XCEP $$§3.1.4.1.3.23
響應消息具有
nextUpdateHours
:一個整數,表示伺服器建議客戶端在送出另一個 GetPolicies 消息之前等待的小時數。
預設值為 8 小時。客戶端記憶體此響應,並且可能不會嘗試在這段時間內使用更新的模板列表請求新策略。雖然,
policiesNotChanged
客戶端可以使用布爾欄位來輪詢更改,但從實踐中我可以看出客戶端不執行輪詢。相反,他們使用該位來確定是否應該替換記憶體的策略。這只是我的觀點,因為策略的任何變化都會對客戶端造成很大的延遲。或者,等待至少 8 小時,看看當客戶端從 CEP 伺服器獲取新策略或嘗試強制檢索策略時問題是否自動解決:
從目標電腦(DC)上刪除所有內容
%systemdrive%\ProgramData\Microsoft\Windows\X509Enrollment
,然後執行certutil -pulse
觸發自動註冊。在此呼叫期間,將下載新策略,並且自動註冊應選擇正確的模板。