IIS 8.0 集中式 SSL 憑證支援:SSL 延展性和管理性
由 肖恩·伊根
相容性
版本 | 備註 |
---|---|
IIS 8.0 | IIS 8.0 中引進了集中式 SSL 憑證支援。 |
IIS 7.5 | IIS 7.5 不支援集中式 SSL 憑證支援。 |
IIS 7.0 | IIS 7.0 不支援集中式 SSL 憑證支援。 |
問題
隨著更多的電子商務網站上線,越來越多的企業正在在線儲存和共享機密文件,裝載和調整安全網站的能力越來越重要。 此外,使用雲端裝載和彈性延展性,必須以動態方式新增和移除伺服器容量。 在 Windows Server 2012 之前,在裝載安全網站方面有幾項挑戰:
- SSL 延展性:在多租用戶環境中,例如共用主機,Windows Server 上可以裝載多少個安全網站有限制,因而造成低網站密度。
- SSL 管理性:憑證會儲存在每個 Windows Server 的本機。 因此,它們必須在每個 Windows Server 上個別管理。 更新憑證等簡單工作必須在每部伺服器上重複執行。 此外,如果必須匯入數千個憑證,新增 Windows Server 可能需要數小時的時間。
解決方案
在 Windows Server 2012 上,集中式 SSL 憑證支援功能可讓伺服器系統管理員在檔案共用上集中儲存及存取憑證。 與 Windows Server 2008 中引進的共用設定功能類似,伺服器陣列中的 Windows Server 可以設定為視需要從檔案共用載入憑證。
透過這項功能,SSL 系結的管理體驗會簡化許多。 在 SSL 方面,憑證的 DNS 名稱和 CN 名稱必須相符。 類似的合約可以進一步擴充至憑證的檔名。 例如, www.contoso.com
會使用具有檔名 www.contoso.com.pfx
的憑證。 此合約可讓 IIS 8.0 只有一個 SSL 系結,不論使用這項功能的安全站台數目為何。 對應的憑證是由所要求網站的 SNI 值或主機名推斷,並將它比對至憑證的檔名。
逐步指示
必要條件
IIS 8.0 已安裝在具有集中式 SSL 憑證功能的 Windows Server 2012 上。 這項功能是 IIS 的選擇性元件,不會安裝為預設安裝的一部分。
若要安裝這項功能,請從 伺服器管理員,請務必選取 [安全性] 節點底下的 [集中式 SSL 憑證支援]:
具有 NULL 密碼的範例憑證。 (或者,您可能有一個全域密碼的範例憑證。
- 憑證必須具有 CN_name.pfx 的命名慣例(也就是
www.contoso.com.pfx
)。 - 如果憑證是通配符憑證,請使用 “_” 作為通配符。 (也就是
_.contoso.com.pfx
)。 - 如果憑證有多個 CN 名稱,則必須將其命名為個別檔案。 (即、
www.contoso1.com.pfx
、www.contoso2.com.pfx
等)
- 憑證必須具有 CN_name.pfx 的命名慣例(也就是
兩個檔案共享:一個用於共享組態,另一個用於集中式 SSL 憑證。
- IIS 伺服器正在使用共用組態。
- 範例憑證已複製到檔案共享以進行集中式 SSL 憑證。
\windows\system32\drivers\etc\hosts 已修改為用於範例網站和憑證。 例如,如果憑證的 CN 名稱是 centralCert0,則主機檔案必須包含:
127.0.0.1 centralCert0
已知 Bug 的因應措施
目前此功能沒有任何已知的 Bug。
設定集中式 SSL 憑證支援功能
開啟 IIS 管理員。
在左側導覽視窗中選取伺服器節點:
在 [管理] 底下,按兩下 [集中式憑證]:
在 [ 動作] 窗格中,選取 [ 編輯功能設定]:
輸入下列資訊:
啟用集中式憑證:已選取
實體路徑:例如:
\\ccdemo\centralcert
- 這是憑證所在檔案共用的 UNC 路徑。
用戶名稱:指定具有檔案共享讀取許可權的用戶帳戶。
密碼/確認密碼。
憑證私鑰密碼:
這是選擇性。 如果憑證沒有密碼,請將此保留空白。
如果憑證有一個全域密碼,請在這裡輸入該密碼。
集中式 SSL 憑證支援功能現已可供使用。 請注意,IIS 管理員會讀取憑證,並填入憑證的最相關信息。 此資訊會快取,以提升效能。
查看能夠看到憑證有多容易:
已過期
明天到期
本周到期
下周到期
下個月到期
稍後
建立安全網站
開啟 IIS 管理員。
在左側導覽視窗中選取 [網站 ]:
選取 [新增網站]:
填入資訊,就像建立任何網站一樣:
網站名稱:centralCert0
實體路徑:
c:\inetpub\wwwroot
類型:HTTPs
主機名:centralcert0
- 這是 Windows Server 2012 的新功能,該主機名可以針對 SSL 指定。
- 此組態的實際值會根據所使用的範例憑證而有所不同。
需要伺服器名稱指示:未選取
- 如果您選擇的話,您也可以選擇選取 [需要伺服器名稱指示]。 集中式證書存儲不需要您使用 SNI,但在使用 SNI 時會正常運作。
- 請注意,在開發人員預覽版本中,集中式證書存儲也需要使用SNI。 自 Beta 版起,已移除該限制。
使用集中式證書存儲:已選取
- 請注意,不需要選取要使用的特定對應憑證。
- 透過使用命名合約,會自動選取對應的憑證。 在此範例中,IIS 會嘗試從中央 SSL 憑證檔案共用讀取 centralcert0.pfx。
確認網站已建立:
這樣就大功告成了。 安全網站是使用集中式 SSL 憑證支援建立的。 管理體驗與共用設定和傳統 SSL 系結非常類似。 差異包括:
- 憑證會集中儲存在檔案共用上。
- 您可以為 SSL 網站指定主機名。
- SSL 系結未明確管理 1 對 1。
測試安全網站
開啟瀏覽器並巡覽至 https://centralcert0/
。 請注意,作為必要條件的一部分,主機檔案應修改為將此要求路由傳送至localhost:
此外,若要查看新的 SSL 系結類型,請在提升許可權的命令行視窗中輸入下列內容:
netsh http show sslcert
請注意,SSL 系結是 主機名:埠 ,值為 *:443。 此外,沒有憑證哈希與此系結相關聯,因為會根據憑證的檔名合約視需要載入對應的憑證。
案例
請嘗試部署下列案例:
集中式 SSL 憑證支援的設計是為了針對多租用戶環境進行調整。 請嘗試使用這項功能設定數千個安全網站。
使用數千個憑證,在提升許可權的命令行視窗中執行下列命令。 請注意,無論安全月台數目為何,只有一個系結:
netsh http show sslcert
請嘗試在此伺服器陣列中新增伺服器。 使用共用設定和集中式 SSL 憑證支援功能,現在是 3 個步驟:
將新的伺服器設定為使用共用組態。
將新伺服器設定為使用集中式 SSL 憑證支援。
建立 SSL 系結。 提升權限的指令列視窗,輸入:
add sslcert hostnameport=*:443 appid={00112233-4455-6677-8899-AABBCCDDEFF}
不同於舊版 Windows Server,Windows Server 2012 上的憑證會隨選載入記憶體。 使用集中式 SSL 憑證支援功能設定數千個安全月臺之後,請將 GET 要求傳送至其中一個安全月臺,並觀察記憶體使用量。 這是微不足道的。 在舊版的 Windows Server 上,如果已設定數百個安全月臺,只要傳送一個 GET 要求,就會讓 Windows Server 載入 所有 憑證,進而產生高記憶體使用量,並進一步限制延展性。
使用 SNI、傳統和集中式 SSL 憑證支援建立安全網站。 它們的設計目的是共同存在。
摘要
您已成功探索 Windows Server 2012 中的集中式 SSL 憑證功能。