Ssl

IIS7.5 - 多個使用者的個人 SSL 證書

  • July 18, 2011

我想實現一個安全模型,但我不確定 IIS/SSL 使用什麼術語來做到這一點。我也不知道如何在 IIS7.5 中實現它

我想要的過程

  • 網站的管理員使用者(多個)創建個人證書 (.p12/.pfx/something)
  • 伺服器操作員將此證書的一側安裝到 IIS(對於每個管理員)
  • 管理員將證書的另一端導入其瀏覽器
  • 然後,管理員使用 SSL 作為通行證對網站的管理區域進行身份驗證,以便能夠到達管理登錄區域附近的任何地方

我將如何實施上述模型?我幾乎需要逐步生成證書和 IIS 配置。我不確定我是否需要在網站身份驗證之上進行某種基於 Windows 的身份驗證,以及將某種證書映射回 Windows 使用者。

我猜我需要為每個管理員提供專用的 Windows 使用者,並使用同步的證書。請注意,這是 Win2k8 R2 + IIS 7.5,不是交換或域驅動的東西,只是一個沒有所有 AD 廢話的普通伺服器。

你有兩個不同的問題。

  1. 設計一種生成和維護證書的方法。通常,這意味著安裝 CA 並使用它來簽署使用者生成的證書。這是一個相當複雜的主題,但您可能希望從安裝和了解 Windows 中的“證書頒發機構”角色開始。但是,不要將它安裝在與您的 Web 伺服器相同的機器上。
  2. 在 IIS 7.5 中實現客戶端證書身份驗證規則。這實際上並不太複雜。

以下是有關如何在 IIS 7.5 中設置客戶端證書身份驗證的詳細資訊:

  • 在角色管理器中,安裝名為“IIS 客戶端證書映射身份驗證”的 IIS 角色服務
  • 打開 IIS 管理器並選擇要保護的站點或文件夾。
  • 打開“配置編輯器”並瀏覽到“system.webServer/security/authentication/iisClientCertificateMappingAuthentication”部分。
  • 將“啟用”設置為“真”。

現在,您有不同的選項(兩者都可以同時啟用):多對一和一對一映射。請參閱有關如何設置它的文件,但基本上,您為要接受的每個證書創建一個 base-64 編碼版本,在文本編輯器中打開它,刪除“開始證書”和“結束證書”行,刪除它的所有換行符,然後在配置編輯器中創建一個映射條目,其中包含用於該證書登錄的 Windows 使用者名和密碼,並使用您剛剛在“證書”欄位中創建的字元串。

使用人對一映射有點複雜,因為您必須指定客戶端證書的哪個欄位將用於驗證客戶端證書(而不是使用整個證書),但如果您有很多則更容易維護使用者(因為您不需要在 Web 伺服器上安裝每個單獨的證書)。

另外,請知道您使用的所有證書都需要在伺服器上有效:您需要將它們安裝在伺服器系統的證書儲存(不是您的使用者,系統的)中,或者在“受信任的人”部分(對於自簽名和使用者證書)、“受信任的根 CA”(用於證書根)或“中間證書頒發機構”(用於 ICA)。

引用自:https://serverfault.com/questions/286710