Sun Java System Web Server 7.0 Update 3 管理員指南

為使用者/群組設定存取控制

您可以僅允許特定的使用者或群組存取您的 Web 伺服器。使用者/群組存取控制需要使用者輸入使用者名稱和密碼,然後才能存取伺服器。伺服器會將用戶端憑證中的資訊與目錄伺服器項目進行比較。

管理伺服器僅使用基本認證。如果您希望需要在管理伺服器上進行用戶端認證,必須手動編輯 ACL 檔案,將方法變更為 SSL。

Web 伺服器藉由讀取使用者群組資料庫中的項目,執行使用者/群組認證。目錄服務用於執行存取控制的資訊可以從以下任何一種來源獲得:

當伺服器使用基於 LDAP 的外部目錄服務時,它支援對伺服器實例使用以下類型的使用者/群組認證方法:

當伺服器使用基於檔案的內部目錄服務時,它支援的可對伺服器實例使用的使用者/群組認證方法有:

使用者/群組認證要求使用者先進行認證,然後才能存取伺服器或網站上的檔案和目錄。認證之後,使用者以用戶端憑證輸入使用者名稱及密碼,來驗證他們的身份。 只有 SSL 通訊需要用戶端憑證。

預設認證

預設認證是首選方法。預設設定會使用 server.xml 檔案中的預設方法,若 server.xml 中沒有設定,則使用「基本」方法。如果核取 [預設],ACL 規則便不會在 ACL 檔案中指定方法。如果選擇 [預設],則編輯 obj.conf 檔案中的一行即可輕鬆變更所有 ACL 的方法。

基本認證

基本認證要求使用者輸入使用者名稱和密碼,才能存取 Web 伺服器或網站。此為預設設定。您必須在 LDAP 資料庫 (例如 Sun Java System Directory Server) 或檔案中建立並儲存使用者與群組清單。您使用的目錄伺服器不能與您的 Web 伺服器安裝在相同的伺服器根目錄下;您也可以使用安裝在遠端機器上的目錄伺服器。

當使用者嘗試在管理伺服器或網站上存取需要使用者/群組認證的資源時,Web 瀏覽器將顯示對話方塊,要求該使用者輸入使用者名稱和密碼。伺服器將收到加密或未加密的資訊,這取決於是否為您的伺服器開啟了加密。


備註 –

使用不具有 SSL 加密的基本認證,以未加密文字的方式在網路上傳送使用者名稱和密碼。網路封包可能會被截取,並且使用者名稱和密碼可能會被盜用。基本認證結合 SSL 加密、主機 IP 認證或兩者時最有效。使用「摘要認證」可以避免此問題。


SSL 認證

伺服器可以使用安全憑證,以下列兩種方式來確認使用者的身份:

當您設定讓伺服器使用憑證資訊對用戶端進行認證時,伺服器將:

要求以用戶端認證機制控制用戶端存取特定資源,與要求所有伺服器連線皆需進行用戶端認證是不同的。如果您將伺服器設定為需要對所有連線進行用戶端認證,則用戶端只需提供一份由可信任的 CA 核發的有效憑證即可。如果您將伺服器的存取控制設定為使用 SSL 方法來認證使用者與群組,則用戶端將需要:

當您需要以用戶端認證進行存取控制時,便需要為您的 Web 伺服器啟用 SSL 加密。

為了成功存取 SSL 認證資源,用戶端憑證必須來自 Web 伺服器信任的 CA。如果 Web 伺服器的 certmap.conf 檔案配置為將瀏覽器中的用戶端憑證與目錄伺服器中的用戶端憑證進行比較,則需要在該目錄伺服器中發佈用戶端憑證。不過,certmap.conf 檔案也可以配置為僅將憑證中已選取的資訊與目錄伺服器項目進行比較。例如,您可以將 certmap.conf 檔案配置為僅將瀏覽器憑證中的使用者 ID 和電子郵件位址與目錄伺服器項目進行比較。


備註 –

由於檢查憑證時對照的是 LDAP 目錄,因此僅 SSL 認證方法需要對 certmap.conf 檔案進行修改。要求所有對伺服器的連線進行用戶端認證則不需要如此。如果您選擇使用用戶端憑證,則應該增加 magnus.confAcceptTimeout 指令的值。


摘要認證

可以將伺服器配置為使用基於 LDAP 或基於檔案的目錄服務執行摘要認證。

摘要認證允許使用者根據使用者名稱和密碼進行認證,而無須傳送明文格式的使用者名稱和密碼。瀏覽器以使用者的密碼和 Web 伺服器提供的某些資訊,利用 MD5 演算法來建立摘要值。

當伺服器使用基於 LDAP 的目錄服務執行摘要認證時,也將使用摘要認證外掛程式在伺服器端計算該摘要值,並與用戶端提供的摘要值比較。如果摘要值相符,則使用者將通過認證。為了使此機制得以運作,您的目錄伺服器需要存取明文格式的使用者密碼。Sun Java System Directory Server 具有一個可逆的密碼外掛程式,它使用對稱的加密演算法以加密形式儲存資料,這些資料可在稍後被解密成原來的形式。只有目錄伺服器保留了資料的金鑰。

對於基於 LDAP 的摘要認證,您需要啟用伺服器中包含的可逆密碼外掛程式及 digestauth 專用外掛程式。若要配置 Web 伺服器以處理摘要認證,請設定 dbswitch.conf 中資料庫定義的 digestauth 特性。

如果未指定 ACL 方法,則需要認證時,伺服器將使用摘要認證或基本認證;不需要認證時,伺服器將使用基本認證。此為首選方法。

表 7–1 摘要認證的不同情況

ACL 方法  

認證資料庫支援摘要認證  

認證資料庫不支援摘要認證  

「預設」 

未指定 

摘要和基本 

基本 

「基本」 

基本 

基本 

「摘要」 

摘要 

錯誤 

當處理具有 method = digest 的 ACL 時,伺服器嘗試透過下列方式進行驗證: