伺服器支援三個層次的從屬站鑑別,以及基於從屬站憑證資訊的兩種存取控制。
層次以 SSLCLientAuth 指引來設定:
如果您選擇 required 層次的從屬站鑑別, 安全伺服器會向所有提出 https 要求的從屬站要求憑證。 伺服器經由檢查本端金鑰資料庫中之具公信力的 CA 主要憑證,來驗證從屬站。 具公信力的 CA 主要憑證是由您伺服器上指定為具公信力的 CA 之憑證管理中心所簽名的憑證。
如果從屬站具備有效的憑證,伺服器就會建立安全連線。 如果從屬站具備的憑證已過期,或簽署憑證的憑證管理中心 (CA) 不是伺服器上指定之具公信力的 CA,則伺服器會拒絕要求。
切記,SSL 從屬站鑑別會增加網路壅塞的程度。
如果您選擇 optional 層次,伺服器會要求從屬站憑證。但即使從屬站不提供憑證,仍然會建立安全連線。 如果從屬站提供的憑證已過期,或簽署憑證的憑證管理中心 (CA) 不是伺服器上指定之具公信力的 CA,則伺服器會拒絕要求。
切記,SSL 從屬站鑑別會增加網路壅塞的程度。
如果您選擇 none,安全伺服器不會向從屬站要求憑證。
類型是以 SSLFakeBasicAuth 或 SSLClientAuthRequire 指引來設定。
附註: SSLClientAuthRequire 是偏好的從屬站鑑別類型。
不建議使用 SSLFakeBasicAuth。 針對 Apache SSL 碼(或 mod_ssl 和 Apache)所產生的密碼檔,無法使用於 IBM HTTP Server, 因為區別名稱的格式不相同。
SSLFakeBasicAuth 類型是執行從屬站鑑別的一個非常簡單的方法。 如果您指定 SSLFakeBasicAuth,則從屬站憑證的區別名稱和密碼(亦即 "password")是以 Base64 編碼,且存放在授權標頭中。mod_ibm_ssl 模組必須是模組清單的第一個模組, 如此一來,後續的鑑別模組才有假造的基本鑑別使用者 ID 和密碼可用。請注意,指定的虛擬主電腦內的基本鑑別支援沒有作用, 因為使用者提供的使用者 ID 和密碼,將被從屬站的區別名稱和密碼(亦即 "password")所改寫。
如果要顯示從屬站憑證的區別名稱,請建立一個通用閘道介面程式來輸出 SSL_CLIENT_DN 環境變數。
更具伸展性的 SSLClientAuthRequire 支援可讓網站管理員定義含有 x509 屬性的邏輯表示式。 這些邏輯表示式再與從屬站憑證資訊做比較, 以決定授與或拒絕物件的存取權限。 不過,在一切處理程序發生之前,GSK 會先驗證從屬站憑證,確定它是由授信憑證管理中心所簽署。
SSLClientAuthRequire 指引可讓網站管理員建置一個邏輯表示式, 此表示式由 AND、OR 及 NOT 所鏈結的屬性檢查組成。也容許使用括弧。例如:
SSLClientAuthRequire (CommonName = "Fred Smith" OR CommonName = "John Deere") AND Org = IBM表示除非從屬站憑證包含 Fred Smith 或 John Deere 等一般名稱, 且組織必須是 IBM,否則不提供該物件。
對於屬性檢查,有效的比較只有「等於」和「不等於」(= 和 !=)。 每一個屬性檢查可以經由 AND、OR 或 NOT(也可以使用 &&、|| 及 !)來鏈結。 為一個資源指定多重 SSLClientAuthRequire 指引時, 對資源的作用就像是以布林 AND 運算子結合各個值一樣。
可以使用括弧將比較分組。 如果屬性的值包含一個非英數字元,則值必須以雙引號做區隔。
有效的屬性如下:
IssuerStateOrProvince IssuerCommonName IssuerOrgUnit IssuerCountry IssuerLocality IssuerOrg IssuerEmail StateOrProvince CommonName OrgUnit Country Locality Org Email
下列縮寫名稱亦有效:
IST, ICN, IOU, IC, IL, IO, IE, ST, CN, OU, C, L, O, E