前言
在台灣微軟中文技術文件真的是少得可憐,有些關鍵問題都是靠國外英文教學或者簡體中文才查的到
在台灣使用 Windows AD 網域的企業很多,但是在內部建設CA的卻沒有很多
原因在於AD不會對外,大家對於內部的安全需求自然降低了標準
但是對於如果內部要採用零信任架構的話,其實在內部架設 CA 就會非常重要
至於單層還是雙層還是更多層取決企業的規劃而定,架設方法都是一樣的
目前微軟的 Windows CA 服務可以是 獨立CA 也可以是 企業CA,差異如下
偷個懶搬一下外面別人整理好的
還是要乖乖地將撤銷清單 CRL 與 AIA 設定好讓企業 PKI 可以運作才行
主要流程:
1.建立獨立離線CA
2.設置離線CA發佈的CRL與AIA
3.設定IIS與DNS,確保離線CA發佈的CRL與AIA在內網能正常運作
4.在新已加入網域的伺服器建立企業CA並選擇子CA設定
5.將子CA的申請檔案傳回獨立離線CA做核准
6.將核准的檔案傳回企業CA
7.設定IIS與DNS,確保企業CA可以正常運作
1. 建立獨立離線CA
建議使用虛擬機,至於CA的系統請用 Windows Server 來建立
雖然沒有硬性規定不能使用 Linux 來建立 Root CA
但是網路上找到的大多是用微軟自家的 Server 來建立居多
反正這個CA平時都是關閉甚至是加密狀態保存在其他地方
也不需要跟微軟購買授權基本上跟免費是一樣的了
虛擬機建議掛載兩個虛擬硬碟,一個用來交換檔案用
如果你要建立快照以防萬一,可以等到要交換檔案的時候再掛載
主機名稱會在第一層憑證上看到
開始安裝 ADCS 憑證角色
接著設定 CA 角色 (獨立CA)
想要安全高一些可以改成 SHA512 與 4096 長度
有效期限就看您的組織規劃的狀況
但是只要這個期限一到或者中途更新了Root憑證
底下所有憑證都必須要換新重發憑證才能正常運作
這期間累積起來的憑證與服務通常很恐怖,所以通常會拉長有效期限
甚至有的單位只要沒出問題乾脆就一直無限延長期限
最終確認
確認一下離線CA狀態與憑證是否沒有問題
2.設置離線CA發佈的CRL與AIA
先設定 CDP ( CRL發佈 )
在憑證授權單位的工具內,將CA主機選擇內容打開
並將頁面切換到延伸這個頁面
第一個位置代表本機位置(C:Windows\system32\開頭的),這應該不難理解吧
第二個代表是LDAP位置,我們是獨立CA沒有LDAP要用,移除了吧
第三個是 http 發佈位置的設定,這個是我們重點要設定的地方
第四個是檔案位置,跟第一個幾乎一樣只是路徑表達的方式不同,
我不喜歡複雜的方式不夠直白明瞭,通常我會直接砍掉
所以我喜歡砍光他只留一個保存用,剩下自己定義
在C根目錄下建立一個rootcadata資料夾,在 CDP 發佈點選擇新增,
將位置設定成剛剛建立的資料夾路徑,檔名自定義記得要有crl副檔名
在這裡我使用 certrootca.crl 作完整檔名
test-root-ca 是主機名稱,zerotest.com 是網域名稱,結合 CRL 的檔名
http://test-root-ca.zerotest.com/certrootca.crl
由於這是 root ca 發佈 crl 撤銷清單的下載路徑,他不能使用 https 協定來取得內容
並且 web 位置取得的解析是放在 DNS 的紀錄上,所以流量也不大CRL也小
重點:請記得不要將此 web 位置設定 SSL,CryptoAPI 不會取得 HTTPS URL
打勾下面這兩個選項
包含在已發行 CRL 的 IDP 延伸中 (L)
打勾 包含在已發行憑證的 AIA 延伸中()
就是每年到期前都要將這台機器開機來產生新的 CRL,產完傳檔就關機
如果兩年就是兩年開一次這台機器起來產生 CRL,產完傳檔就關機
請用自己組織的資安的標準來決定日期長短,預設是一週到期
稍微檢查一下到期日是否與你設定的一致
C:\Windows\System32\CertSrv\CertEnroll
複製到我們的建立好的資料夾
要怎麼在離線(沒有網路)的狀態下複製?
利用虛擬硬碟掛載的方式,這裡就不在多描述怎麼掛載了
3.設定 IIS 與 DNS,確保離線 CA 發佈的 CRL 與 AIA 在內網能正常運作
請別跟著教學放 DC 上,這只是我的測試用環境,實際環境請自行依據組織規劃決定
test-root-ca 是離線CA的主機名稱,也是先前設定發佈 CRL HTTP 裡面的路徑
打開 IIS 管理員 在預設網站上 進入要求篩選
在 IIS 管理員打開 預設網站的資料夾
獨立CA 的部份就到這裡告一段落
下一篇再來是建立企業子CA的部份與憑證申請的部份
微軟企業CA與雙層PKI CA架構 下篇



沒有留言:
張貼留言