1. 程式人生 > 實用技巧 >Windows AD證書服務系列---部署CA(2)

Windows AD證書服務系列---部署CA(2)


AD CS中基於角色的管理使得管理員可以將使用者和群組委派給預先設定好許可權的內建CA角色。每個角色能夠執行某個或某類已設定好的任務,下表中標識出了基於角色管理的角色和群組的詳細資訊:

角色/組用途資訊
CA管理員管理CA在CA控制檯指派
證書管理員頒發和管理證書在CA控制檯指派
備份操作員備份和還原檔案及目錄作業系統角色
審計員管理審計和安全性方面的事件日誌作業系統角色
註冊者讀取和註冊有許可權申請證書

基於角色的管理結合了作業系統角色和AD CS角色,為CA提供了一個完整的,分段式的管理解決方案。你不再需要將本地管理員許可權指派給多個IT人員去管理CA,你只需要指派角色來達到滿足任務的最小許可權,從而提高了企業的安全性。

基於角色的管理還減少了管理員在為其他管理者授權時的工作量,因為所有的授權過程只需要將使用者加入到對應的組或者角色即可。


管理CA安全性

為了管理和配置CA的基於角色管理,並在管理CA的安全性,你可以在certsrv.msc命令開啟的管理控制檯中選擇證書授權機構的屬性,並通過其中的安全性列表進行管理。下列型別是我們可以在CA物件層次設定的安全性許可權:

  1. 讀取。指派此許可權的安全性主體能夠在AD域中找到CA,如果部署的是獨立CA,該安全性主體則能夠通過Web控制檯或服務訪問這臺CA。

  2. 頒發和管理證書。指派此許可權的安全性主體能夠對掛起狀態的證書請求進行批准和拒絕,同時他們還擁有吊銷和頒發證書、指定吊銷理由、取消吊銷狀態的許可權,以及讀取所有頒發的證書並將這些證書匯出到檔案的許可權。

  3. 管理CA。指派此許可權的安全性主體可以管理和配置CA級別的選項,但是他們不能管理證書,只能夠管理CA。

  4. 請求證書。指派此許可權的安全性主體能夠對這臺CA發出證書請求,但是這並不意味著他們能夠註冊證書,是否能夠註冊到證書,是在證書模板級別上指定的。

許可權型別可以參考下圖:

wKioL1TTOAPzfiQ1AAVIpUaUPjs929.jpg

可以看到administrators群組擁有頒發和管理證書以及管理CA的許可權。

結合CA物件的訪問控制列表上定義的安全性許可權,你還可以運用CA屬性視窗中的證書管理器選項,在你配置安全性主體時限定它們只可以在特定的證書模板上頒發和管理證書。例如如果你想給使用者Bob僅指派許可權去頒發和管理使用者證書,你需要將Bob加入到ACL中,並將頒發和管理證書許可權指派給Bob,但是你需要通過證書管理器選項去限制Bob的許可權只能應用在使用者證書模板,因為你不想Bob能夠頒發和管理所有證書,如下圖所示:

wKiom1TTNZewV6lFAAZ2mr2-qMQ303.jpg

wKioL1TTN5CyJZgyAAVXqf5U3s4822.jpg


配置CA策略和退出模組

CA結構更高階的部署是將CA與另一個PKI相關的服務整合在一起,這要求在CA上配置和管理策略退出模組。無論是獨立CA還是企業CA,任何一臺CA都擁有策略和退出模組,每臺CA使用預設的策略和退出模組,一般我們不需要對這些模組進行配置。如果想管理策略和退出模組,我們可以通過CA管理員控制檯來實現,不過遇到比較複雜的配置,我們還是需要使用certutil命令來進行配置。


什麼是策略模組?

策略模組決定了在CA收到證書請求後執行的動作,你可以配置一個預設策略,讓每個請求處於掛起狀態直到管理員對這些請求進行批准或者拒絕。如果某個證書模板的設定是允許策略模組頒發證書,那麼預設的策略模組就可以用來頒發證書。不過你也可以安裝一個自定義的策略模組,當CA收到證書請求時執行其他的任務。例如如果你在內部PKI中安裝了Microsoft Forefront Identity Manager 2010 Certificate Management(FIM CM 2010),FIM CM 2010策略模組會將請求轉發到FIM CM 2010,在經過FIM上的流程處理後,會執行證書的頒發或者將請求拒絕。FIM CM 2010策略模組還可以為通過了證書請求的客戶端指定一個簽名證書thumbprint,每個被FIM CM 2010策略模組使用指定thumbprint簽名了的請求,在被頒發前都會被傳遞到FIM流程。這只是自定義策略模組的一個例子,其他的第三方應用可能使用自己定義的策略模組。


什麼是退出模組?

與策略模組不同的是,退出模組使用在證書頒發之後,它決定證書頒發後所執行的動作。最常見的動作就是傳送一個郵件或者釋出一個證書給一個檔案系統,即使每臺CA使用的是預設退出模組這些動作也是可以被執行的。

同樣你也可以自己定義一個退出模組,我們借用策略模組的例子,如果你在公司部署了FIM CM 2010,並在CA上部署一個自定義的退出模組,在這個退出模組中指定將每臺正在執行SQL伺服器角色計算機的被頒發證書資料進行轉發,如果你寫入關於此類證書的資訊,FIM CM可以在不直接干涉到CA資料庫的情況下,檢視和監視被頒發的證書。

一臺CA可以同時使用多個退出模組,策略模組則不行,CA一次只能應用一個活動的策略模組。

如果你想每次在給一個特定地址傳送郵件時都頒發一個證書,你必須通過certutil來配置這些設定,因為這些設定在CA管理控制檯是無法配置的。首先,你必須指定用來發送郵件的SMTP伺服器,我們可以使用以下命令來實現:

certutil -setreg exit\smtp\<SMTP伺服器名稱>

SMTP伺服器名稱必須是FQDN。然後你必須指定事件和通知的郵件地址,我們可以通過以下命令實現:

certutil -setreg exit\smtp\CRLIssued\To<E-mailString>

注意:CA的退出模組配置的以事件形式傳送郵件,這種郵件是無法進行SMTP驗證的,如果你的SMTP伺服器要求驗證,你必須在CA伺服器上執行以下命令:

Certutil -setreg exit\smtp\SMTPAuthenticate 1

Certutil -setsmtpinfo<使用者名稱>

這裡的使用者名稱是能夠在SMTP伺服器上通過驗證的使用者名稱,此命令會提示你輸入使用者密碼。

除了在證書頒發的時候傳送通知郵件,你還可以設定一個退出模組在以下事件出現時傳送通知:

證書請求處於掛起狀態

證書請求被拒絕

證書被吊銷

CRL被頒發

CA服務啟動

CA服務停止

如果你想配置一個退出模組用來發布證書給檔案系統,你可以使用CA管理控制檯去開啟退出模組的屬性,然後啟用"允許將證書釋出到檔案系統"的選項並重啟CA,如下圖所示:

wKioL1TULLXBV9C4AAQif8byDcs133.jpg

從CA中頒發的證書會以.cer格式檔案複製到CA伺服器的c:\windows\system32\certenroll資料夾中,但是實現這個需要滿足一個前提,就是證書的請求者必須在他們的請求中包含certfile:true的屬性。


CA的備份和還原

企業中的CA伺服器可能運行了很多年,某一天你也許想升級CA伺服器的硬體或者作業系統,但是因為CA在整個企業IT環境中非常重要,所以你必須定義一個備份和還原過程。在對CA角色進行遷移的時候,同樣也需要對CA進行一個最新的可用備份。

注意:CA和其他的服務不同,它不是簡單的在新電腦上安裝了就可以繼續正常使用的,當你將CA從一臺伺服器轉移到另一臺伺服器時,保留CA的標識是非常重要的,這樣你才可以在新的硬體或系統中使用相同的CA標識進行工作。


CA備份

即使你不打算對CA做遷移,你也應該對CA做一個備份,CA的備份與我們通常所進行的備份時不同的,CA的備份需要通過以下的步驟實現:

  1. 如果你正準備備份一個企業CA,在CA控制檯中點選證書模板,然後記錄下證書模板中列出的名稱。這些模板都是儲存在AD域中的,所以你不需要對它們進行備份。你必須要清楚的知道進行遷移的模板有哪些是由CA釋出的,因為你必須在遷移之後手動的新增這些模板。

  2. 在CA控制檯,右鍵點選CA名稱,選擇"所有任務",然後點選"備份CA"開啟CA備份嚮導,在備份嚮導中,你需要選擇備份CA的私鑰,CA證書,證書資料庫以及證書資料庫日誌。你還可以指定一個合適的備份內容的存放位置,考慮到安全性因素,最好設定密碼對CA私鑰進行保護。

  3. 在完成備份之後,你應該開啟登錄檔編輯器,找到並匯出以下的登錄檔的子鍵:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

注意:我們推薦將該登錄檔鍵值的匯出檔案儲存到CA備份的資料夾中。

4. 做完上面的操作後,一旦你想將CA遷移到其他的電腦,你需要將CA從舊的伺服器上解除安裝,然後將舊 伺服器重新命名或斷開它的網路連線。


CA還原

CA的還原通常是在必須修復當前CA或需要遷移到其他伺服器時進行的。

還原CA需按照以下步驟操作:

  1. 在目標計算機上安裝AD CS角色。選擇安裝獨立CA或者企業CA,這取決於你需要遷移的CA的型別。當你見到"指定私鑰型別"頁面時,點選"使用現有私鑰",然後選中"選擇一個證書並使用其關聯私鑰",這樣可以讓你在新的CA伺服器上繼續使用原來舊伺服器的證書。

  2. 在"現有證書"頁面,點選匯入,輸入備份CA時生成.p12檔案的儲存路徑,接著輸入備份時設定的密碼,然後點選確認,當你被提示"公鑰和私鑰祕鑰對"時,確保選中了現有祕鑰,如果你想使用相同的根CA證書,這個步驟非常關鍵。

  3. 當你進入到"證書資料庫"頁面,指定一個和舊伺服器相同的存放位置去存放證書資料庫和證書資料庫日誌,這些步驟都完成後,點選"配置",等待安裝嚮導的執行完畢。

  4. 安裝完成後,開啟AD CS服務的服務外掛,還原舊伺服器的設定。

  5. 找到備份時匯出的登錄檔檔案,然後雙擊將它匯入到登錄檔中。

  6. 還原了登錄檔設定後,開啟CA管理控制檯,右鍵點選CA名稱,點選"所有任務",接著點選"還原CA",這時會出現CA還原嚮導,在嚮導中你可以選擇"私鑰和CA證書"和"證書資料庫和證書資料庫日誌",這裡是為了指定你想要還原的物件。下一步就輸入一個備份資料夾位置並確認還原的設定沒有問題。還原設定中"頒發日誌"和"掛起申請"應該是"顯示"。

  7. 當還原完成後,選擇重啟AD CS服務。

  8. 如果你還原的是企業CA,你需要確認之前記錄的AD域中儲存的證書模板在新的CA上能夠看到,並且是可用的。


轉載於:https://blog.51cto.com/thefallenheaven/1612368