Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

特定範圍的其他資訊

本小節包含以下主題:

建立 ldap 範圍

ldap 範圍使用 LDAP 伺服器資訊執行認證。使用者資訊包括使用者名稱、密碼和使用者所屬的群組。若要使用 LDAP 範圍,必須已在 LDAP 目錄中定義了使用者和群組。

若要建立 LDAP 範圍,請依循建立範圍中的步驟增加新範圍,然後增加下表中所示的特性。

表 9–2 ldap 範圍的必需特性

特性名稱 

說明 

值 

directory 

目錄伺服器的 LDAP URL。 

LDAP URL 的格式為:ldap://hostname:port,例如 ldap://myldap.foo.com:389

base-dn 

使用者資料位置的基底辨別名稱 (DN),由於將執行樹範圍的搜尋,因此該使用者資料的位置可以是高於使用者資料的任何層級。搜尋樹越小,效能越好。 

搜尋的網域,例如:dc=siliconvalley, dc=BayArea, dc=sun, dc=com

jaas-context 

要用於此範圍的登入模組類型。 

必須為 ldapRealm

下表列出了 ldap 範圍的選擇性特性。

表 9–3 ldap 範圍的選擇性特性

特性名稱 

說明 

預設 

search-filter 

用於尋找使用者的搜尋篩選器。 

uid=%s (%s 擴展為主旨名稱)。

group-base-dn 

群組資料位置的基底 DN。 

base-dn 相同,但必要時可以進行調校。

group-search-filter 

用於尋找使用者的群組成員關係的搜尋篩選器。 

uniquemember=%d (%d 擴展為使用者元素 DN)。

group-target 

包含群組名稱項目的 LDAP 屬性名稱。 

CN 

search-bind-dn 

用於向目錄認證以執行 search-filter 查找的選擇性 DN。只有不允許進行匿名搜尋的目錄才需要。 

 

search-bind-password 

search-bind-dn 中所指定之 DN 的 LDAP 密碼。

 

範例

例如,假定在 LDAP 目錄中定義了一個 LDAP 使用者 Joe Java,如下所示:

uid=jjava,ou=People,dc=acme,dc=com
uid=jjava
givenName=joe
objectClass=top
objectClass=person
objectClass=organizationalPerson
objectClass=inetorgperson
sn=java
cn=Joe Java

使用範例程式碼,在建立或編輯 ldap 範圍時,您可以輸入下表中所示的值。

表 9–4 ldap 範圍值範例

特性名稱 

特性值 

directory

伺服器的 LDAP URL,例如:ldap://ldap.acme.com:389

base-dn

ou=People,dc=acme,dc=com.

可以向更高層次進行搜尋 (例如 dc=acmedc=com),但搜尋將遍歷樹狀結構的更大部分,從而導致效能降低。

jaas-context

ldapRealm

建立 solaris 範圍

solaris 範圍從基礎 Solaris 使用者資料庫 (由系統配置確定) 取得使用者和群組資訊。solaris 範圍呼叫基礎 PAM 基礎架構以用於認證。如果已配置的 PAM 模組需要超級使用者權限,則網域必須以超級使用者身份執行才能使用該範圍。請參閱 Solaris 文件中有關安全服務的詳細資訊。

solaris 範圍有一個必要特性 jaas-context,該特性指定要使用的登入模組類型。特性值必須為 solarisRealm


備註 –

僅 Solaris 9 或更高版本才支援 solaris 範圍。


建立自訂範圍

除了四個內建範圍之外,您還可以建立以其他方式儲存使用者資料 (例如儲存在關聯式資料庫中) 的自訂範圍。自訂範圍的開發不在本文件的論述範圍之內。如需更多資訊,請參閱「Application Server Developer's Guide」中的「Securing Applications」一章。

做為管理員,您需要瞭解的主要事項是:自訂範圍是由源自 Java 認證與授權服務 (JAAS) 套裝軟體的類別 (稱為 LoginModule) 實作的。

Procedure建立自訂範圍

  1. 依循建立範圍中說明的程序,輸入自訂範圍的名稱和 LoginModule 類別的名稱。

    自訂範圍可以使用任何專屬名稱,例如 myCustomRealm

  2. 增加下表中所示的自訂範圍特性。

    特性名稱 

    特性值 

    jaas-context 

    LoginModule 類別名稱,例如 simpleCustomRealm

    auth-type 

    對範圍的說明,例如「自訂範圍的簡單範例」。 

  3. 按一下 [確定]。

  4. 編輯網域的登入配置檔案 domain-dir/config/login.conf,並在檔案末尾增加 JAAS LoginModule 之完全合格的類別名稱,如下所示:


    realmName {
        fully-qualified-LoginModule-classname required;
    };

    例如,


    myCustomRealm {
        com.foo.bar.security.customrealm.simpleCustomLoginModule required;
    };
  5. LoginModule 類別和所有附屬類別複製到 domain-dir/lib/classes 目錄中。

  6. 如果主控台中顯示「需要重新啟動」,請重新啟動伺服器。

  7. 確定已正確載入範圍。

    檢查 domain-dir/logs/server.log 以確定伺服器已載入該範圍。伺服器應呼叫該範圍的 init() 方法。

編輯 certificate 範圍

certificate 範圍支援 SSL 認證。該範圍在 Application Server 安全性環境中設定使用者身份,並使用從信任庫檔案和金鑰庫檔案 (請參閱關於證書檔案) 中以加密方式驗證的用戶端憑證獲得的使用者資料寫入該身份。使用 certutil 將使用者增加至這些檔案中。

透過 certificate 範圍,J2EE 容器可以基於每個使用者憑證中的辨別名稱 (DN) 來執行授權處理。DN 是證書對其公開金鑰進行識別的實體的名稱。此名稱使用 X.500 標準,因此它在網際網路中應該是一專屬名稱。如需有關金鑰庫和信任庫的更多資訊,請參閱使用網路安全服務 (NSS) 工具中的 certutil 文件。

下表列出了 certificate 範圍的選擇性特性。

表 9–5 certificate 範圍的選擇性特性

特性 

說明 

assign-groups 

以逗號分隔的群組名稱清單。提供有效證書的所有用戶端均被指定給這些群組。例如,employee,manager,它們是使用者群組的名稱。

jaas-context 

要用於此範圍的登入模組類型。對於 certificate 範圍,該值必須為 certificateRealm

編輯 file 和 admin-realm 範圍

伺服器在 file 範圍的名為 keyfile 的檔案和 admin-realm 範圍的名為 admin-keyfile 的檔案中維護所有使用者、群組和密碼資訊。對於這兩個範圍,file 特性均指定 keyfile 的位置。下表列出了 file 範圍的必要特性。

表 9–6 file 範圍的必要特性

特性名稱 

說明 

預設值 

file 

keyfile 的完整路徑和名稱。 

domain-dir/config/keyfile

jaas-context 

要用於此範圍的登入模組類型。 

fileRealm 是唯一的有效值

keyfile 最初為空,因此在使用 file 範圍之前,必須先增加使用者。如需說明,請參閱管理 file 範圍使用者

admin-keyfile 最初包含管理使用者名稱、加密格式的管理密碼和該使用者所屬的群組 (預設為 asadmin)。如需有關將使用者增加至 admin-realm 的更多資訊,請參閱授予對管理工具的存取權


備註 –

admin-realmasadmin 群組中的使用者已被授權,可以使用 管理主控台 和 asadmin 工具。只能將具有伺服器管理權限的使用者增加至該群組中。


使用網路安全服務 (NSS) 管理使用者

僅在 Enterprise Edition 中,您才可以使用 管理主控台 來管理使用者 (如管理 file 範圍使用者中所述),或者可以使用 NSS 工具來管理使用者。網路安全服務 (NSS) 是一組程式庫,用於支援啟用安全性的用戶端與伺服器應用程式的跨平台開發。使用 NSS 建立的應用程式可以支援 SSL v2 和 v3、TLS、PKCS #5、PKCS #7、PKCS #11、PKCS #12、S/MIME、X.509 v3 憑證以及其他安全性標準。如需詳細資訊,請連結到以下 URL:

管理 file 範圍使用者

使用 管理主控台 管理 file 範圍使用者。file 範圍中的使用者和群組列在 keyfile 中,keyfile 的位置由 file 特性指定。


備註 –

還可以使用以下步驟將使用者增加至任何 file 範圍 (包括 admin-realm) 中。您只需在目標範圍名稱中取代本小節中參照的 file 範圍即可完成此作業。


file 範圍中的使用者可以屬於 J2EE 群組 (依一般特性分類的使用者種類)。例如,電子商務應用程式的用戶可以屬於 CUSTOMER 群組,但是大用戶應屬於 PREFERRED 群組。將使用者進行群組分類可以簡化有大量使用者時的存取控制。

初次安裝 Application Server 之後,唯一的使用者是管理員在安裝期間輸入的使用者。依預設,此使用者屬於 admin-realm 範圍中的 asadmin 群組,該群組可授予修改 Application Server 的權利。指定給此群組的任何使用者都將具有管理員權限,亦即,這些使用者將具有對 asadmin 工具和 管理主控台 的存取權。

若要管理 file 範圍使用者,請執行以下作業︰

Procedure存取 [file 使用者] 頁面

  1. 在 管理主控台 樹形元件中,展開 [配置] 節點。

  2. 選取要配置的實例:

    • 若要配置特定實例,請展開該實例的配置節點。例如,對於預設實例 server,請展開 [server-config] 節點。

    • 若要為所有實例配置預設設定,請展開 [default-config] 節點。

  3. 展開 [安全性] 節點。

  4. 展開 [範圍] 節點。

  5. 選取 [file] 節點。

  6. 在 [編輯範圍] 頁面中,按一下 [管理使用者] 按鈕。

    螢幕上將顯示 [file 使用者] 頁面。在此頁面上,執行以下作業:

Procedure增加使用者

  1. 按一下 [新建] 以將新使用者增加至 file 範圍。

  2. 在 [file 使用者] 頁面中輸入以下資訊:

    • 使用者 ID (必填) - 使用者的名稱。

    • 密碼 (必填) - 使用者密碼。

    • 確認密碼 (必填) - 再次輸入使用者密碼以進行驗證。

    • 群組清單 (可選擇) - 使用者所屬群組的清單 (以逗號分隔)。無需在其他位置定義這些群組。

  3. 按一下 [確定] 以將該使用者增加至 file 範圍中的使用者清單。按一下 [取消] 以退出而不儲存變更。

等效的 asadmin 指令

create-file-user

Procedure編輯使用者資訊

  1. 在 [使用者 ID] 欄中,按一下要修改的使用者名稱。

    螢幕上將顯示 [編輯 file 範圍使用者] 頁面。

  2. 在 [密碼] 和 [確認密碼] 欄位中輸入新密碼,以變更使用者密碼。

  3. 在 [群組清單] 欄位中增加或刪除群組,以變更使用者所屬的群組。

    用逗號將群組名稱分隔開。不需要先定義群組。

  4. 按一下 [儲存] 以將該使用者儲存至 file 範圍中的使用者清單中。

    按一下 [關閉] 以退出而不儲存變更。

Procedure刪除使用者

  1. 選取要刪除的使用者名稱左側的核取方塊。

  2. 按一下 [刪除]。

  3. 按一下 [關閉] 以返回至 [編輯範圍] 頁面。

等效的 asadmin 指令

delete-file-user

配置相互認證

在相互認證中,伺服器端和用戶端認證都會啟用。若要測試相互認證,必須存在一個包含有效證書的用戶端。如需有關相互認證的資訊,請參閱位於以下位置的「The J2EE 1.4 Tutorial」中的「Security」一章:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

在應用程式中啟用相互 SSL 認證

若要針對特定應用程式啟用相互認證,請使用 deploytool 將認證方法設定為 Client-Certificate。如需有關使用 deploytool 的更多資訊,請參閱位於以下位置的「The J2EE 1.4 Tutorial」中的「Security」一章:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

Procedure針對所有應用程式啟用相互認證

Application Server 使用 certificate 範圍進行 HTTPS 認證。

  1. 在 管理主控台 樹形元件中,展開 [配置] 節點。

  2. 選取要配置的實例:

    • 若要配置特定實例,請展開該實例的配置節點。例如,對於預設實例 server,請展開 [server-config] 節點。

    • 若要為所有實例配置預設設定,請展開 [default-config] 節點。

  3. 展開 [安全性] 節點。

  4. 展開 [範圍] 節點。

  5. 選取 [certificate] 範圍。

  6. 按一下 [增加特性] 按鈕。

    1. 在 [名稱] 欄位中,輸入 clientAuth

    2. 在 [值] 欄位中,輸入 true

  7. 按一下 [儲存]。

  8. 如果主控台中顯示 [需要重新啟動],請重新啟動 Application Server。

    重新啟動伺服器之後,需要對使用 certificate 範圍的所有應用程式進行用戶端認證。