Windows
使用來自不同域的證書進行網站身份驗證
我的問題:有沒有比我在下面所做的更好的方法來啟用 2 個域之間的身份驗證,並且名稱映射是否正確使用?
有2個域;一個是主要公司域,第二個是較小的子域。
公司域為公司中的每個使用者都有帳戶,並生成一個電子郵件證書(支持客戶端身份驗證)。子域不能與公司域建立信任;子域中的使用者有 2 個登錄名:一個用於公司域,一個用於子域。
小型子域託管一個需要使用者名和密碼的網站。我們希望使用帶有電子郵件證書的智能卡,因此登錄到任一域對使用者來說都是透明的。
我開始為子域手動創建與公司域頒發的電子郵件證書的名稱映射,但我知道如何獲取這些證書的唯一方法是讓使用者向我發送一封籤名的電子郵件,然後將證書導出到文件中。
該過程如下所示:
- 使用者向我發送了一封籤名的電子郵件。
- 我從簽名的電子郵件中下載使用者證書並將其保存到文件中。
- 執行我創建的腳本,該腳本讀取證書,通過 AD 中的電子郵件地址查找使用者,並在使用者和該證書之間創建名稱映射。
因此,現在使用者可以對站點進行身份驗證,該站點使用主域頒發的證書在子域的域控制器上查找他們的憑據。
注意事項:
- 子域不能有 CA 伺服器。
- 我在公司網路上沒有特權。
- 我對子域擁有完全權限,包括網路伺服器的配置。
證書信任可以(並且通常確實)獨立於 AD 工作。
為了迂腐,如果子域是另一個 AD 域的子域,則已經建立了信任關係,但我懷疑您已將“子”域配置為新林中的新域。雖然尷尬,但這應該有效。
無論如何,除了 AD,要讓使用者使用客戶端證書對網站進行身份驗證,伺服器需要信任客戶端證書進行身份驗證,並且它需要有某種方式將證書的主題映射到安全主體(例如,a使用者)。您目前的解決方案是這樣做的,因此它是正確的。
如果您願意,您可以強制使用者(或他們的 IT 部門)以某種格式(例如 PEM)向您發送導出的證書以及哪些證書對應於哪些帳戶的資訊。這可能會也可能不會更容易,並且將分發與 S/MIME 簽名電子郵件分發的完全相同的資訊。