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

第 9 章 配置安全性

本章說明某些核心 Application Server 的安全性概念,以及如何為 Application Server 配置安全性。本章包含以下主題:

關於 Application Server 的安全性

安全性簡介

安全性實質上就是資料保護:如何在儲存或傳輸資料時防止對資料進行未授權的存取或紐a。Application Server 具有基於 J2EE 標準的動態可延伸安全性架構。它內置的安全性功能包括密碼學、認證與授權以及公開金鑰基礎架構。Application Server 是基於 Java 安全性模型建置的,該安全性模型使用了一個沙箱,應用程式可以在沙箱中安全地執行,而不會給系統或使用者帶來潛在的危險。本節論述以下主題:

瞭解應用程式和系統安全性

從廣泛意義上講,應用程式安全性有兩種:

除了應用程式安全性以外,還有影響 Application Server 系統中所有應用程式的系統安全性

程式安全性受應用程式開發者的控制,因此本文件不對其進行論述;宣告性安全性受應用程式開發者的控制要少一些,本文件中只偶爾涉及到宣告性安全性。本文件主要針對系統管理員,因此主要論述系統安全性。

管理安全性的工具

Application Server 提供了以下用於管理安全性的工具:

Java 2 Platform, Standard Edition (J2SE) 提供了兩個用於管理安全性的工具:

如需有關使用 keytoolpolicytool 和其他 Java 安全性工具的更多資訊,請參閱位於以下位置的「Java 2 SDK Tools and Utilities」:http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html#security

在 Enterprise Edition 中,還可以使用另外兩個實作網路安全服務 (NSS) 的工具來管理安全性。如需有關 NSS 的更多資訊,請至 http://www.mozilla.org/projects/security/pki/nss/。用於管理安全性的工具包括:

如需有關使用 certutilpk12util 和其他 NSS 安全性工具的更多資訊,請參閱位於以下位置的「NSS Security Tools」:http://www.mozilla.org/projects/security/pki/nss/tools

管理密碼安全性

在 Application Server 的此發行版本中,包含特定網域規格的 domain.xml 檔案最初包含純文字形式的 Sun Java System Message Queue 代理程式密碼。domain.xml 檔案中包含此密碼的元素為 jms-host 元素的 admin-password 屬性。由於在安裝期間不能變更此密碼,因此它不會對安全性產生很大的影響。

但是,您可以使用 管理主控台 增加使用者和資源,並為這些使用者和資源指定密碼。部分密碼將以純文字形式寫入 domain.xml 檔案,例如用於存取資料庫的密碼。將這些純文字形式的密碼保存在 domain.xml 檔案中可能會破壞安全性。透過執行以下程序,您可以加密 domain.xml 中的任何密碼,包括 admin-password 屬性或資料庫密碼。

Procedure加密 domain.xml 中的密碼

  1. domain.xml 檔案常駐的目錄 (依預設,此目錄為 domain-dir/config) 中,執行以下 asadmin 指令:


    asadmin create-password-alias --user admin alias-name
    

    例如,


    asadmin create-password-alias --user admin jms-password

    螢幕將顯示輸入密碼提示 (在本範例中為 admin)。請參閱 create-password-aliaslist-password-aliasesdelete-password-alias 指令的線上手冊,以取得更多資訊。

  2. 移除並替代 domain.xml 中的密碼。使用 asadmin set 指令可以完成此作業。使用 set 指令實現此目的的範例如下:


    asadmin set --user admin server.jms-service.jms-host.
    default_JMS_host.admin-password=${ALIAS=jms-password}
  3. 重新啟動相關網域的 Application Server。

保護具有編碼密碼的檔案

某些檔案包含需要使用檔案系統許可權進行保護的編碼密碼。這些檔案包括:

Procedure變更主密碼

主密碼 (MP) 是全局性的共用密碼。它從不用於認證,也從不會在網路上傳輸。此密碼是全局安全性的要塞點;使用者可以選擇在需要時手動輸入此密碼,也可以將其隱藏在檔案中。它是系統中最敏感的資料。使用者可以透過移除此檔案強制系統提示輸入 MP。變更主密碼後,系統會將其重新儲存到主密碼金鑰存放區中。

  1. 停止網域的 Application Server。使用 asadmin change-master-password 指令會提示輸入舊密碼和新密碼,然後重新加密所有附屬項目。例如,


    asadmin change-master-password>
    Please enter the master password>
    Please enter the new master password>
    Please enter the the new master password again>
  2. 重新啟動 Application Server。


    注意 – 注意 –

    此時,不能啟動正在執行的伺服器實例並且不能重新啟動正在執行的伺服器實例,除非已變更這些實例所對映的節點代理程式上的 SMP。如果在變更伺服器實例的 SMP 之前重新啟動了該伺服器實例,它將無法啟動。


  3. 一次停止一個節點代理程式及其相關伺服器。再次執行 asadmin change-master-password 指令,然後重新啟動節點代理程式及其相關伺服器。

  4. 繼續對下一個節點代理程式執行這些步驟,直到對所有節點代理程式均已執行這些步驟。這樣可以完成輪替變更。

Procedure變更管理員密碼

管理密碼安全性中論述了如何加密管理員密碼。強烈建議您加密管理員密碼。若要在加密管理員密碼之前變更管理員密碼,請使用 asadmin set 指令。使用 set 指令實現此目的的範例如下:


asadmin set --user admin 
server.jms-service.jms-host.default_JMS_host.admin-password=new_pwd

還可以使用 管理主控台 變更管理員密碼,如以下程序所示。

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

  2. 選取要配置的實例:

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

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

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

  4. 展開 [範圍] 節點。

  5. 選取 [admin-realm] 節點。

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

  7. 選取名為 admin 的使用者。

  8. 輸入新密碼並確認密碼。

  9. 按一下 [儲存] 以儲存新密碼,或者按一下 [關閉] 以關閉頁面而不儲存新密碼。

指定安全性職責

將為以下角色指定安全性職責:

應用程式開發人員

應用程式開發者負責:

應用程式部署者可以使用 deploytool 等工具編輯應用程式部署描述元。「The J2EE 1.4 Tutorial」中的「Security」一章詳細論述了這些安全性作業,您可以從以下 URL 中檢視該指導文件:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

應用程式部署人員

應用程式部署人員負責:

應用程式部署者可以使用 deploytool 等工具編輯應用程式部署描述元。「The J2EE 1.4 Tutorial」中的「Security」一章詳細論述了這些安全性作業,您可以從以下 URL 中檢視該指導文件:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

系統管理員

系統管理員負責:

系統管理員使用 管理主控台 管理伺服器安全性設定,並使用 certutil 管理憑證。本文件主要適用於系統管理員。

關於認證與授權

認證與授權是應用程式伺服器安全性的核心概念。以下主題論述了與認證和授權相關的內容:

認證實體

認證是實體 (使用者、應用程式或元件) 用於確定其他實體是否是其宣告的實體的方法。實體使用安全性憑證對其自身進行認證。憑證可以是使用者名稱和密碼、數位證書或其他憑證。

通常,認證表示使用者使用使用者名稱和密碼登入某個應用程式;也可以指 EJB 從伺服器請求資源時,提供安全性憑證。通常,伺服器或應用程式要求使用者端進行認證;另外,使用者端也可以要求伺服器對其自身進行認證。如果認證是雙向的,則稱為相互認證。

當實體嘗試存取受保護的資源時,Application Server 將使用為該資源配置的認證機制來確定是否授予存取權。例如,使用者可以在 Web 瀏覽器中輸入使用者名稱和密碼,如果應用程式順利完成了對這些憑證的驗證,則表示該使用者已通過認證。在此階段作業的剩餘時間內,該使用者將始終與這個經過認證的安全性身份相關聯。

Application Server 支援四種類型的認證,如認證實體所示。應用程式在其部署描述元中指定所使用的認證類型。如需有關使用 deploytool 配置應用程式認證方法的更多資訊,請參閱位於以下位置的「The J2EE 1.4 Tutorial」:http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html

表 9–1 Application Server 認證方法

認證方法 

通訊協定 

說明 

使用者憑證加密 

基本 

HTTP (SSL 選取性) 

使用伺服器的內建快顯式登入對話方塊。 

無,除非使用 SSL。 

基於表單 

HTTP (SSL 選取性) 

應用程式提供它自己的自訂登入頁面和錯誤頁面。 

無,除非使用 SSL。 

使用者端證書 

HTTPS (基於 SSL 的 HTTP) 

伺服器使用公開金鑰證書認證使用者端。 

SSL 

驗證單次登入

單次登入可以讓一個虛擬伺服器實例中的多個應用程式共用使用者認證狀態。使用單次登入,登入到一個應用程式的使用者也會隱式登入到需要相同認證資訊的其他應用程式。

單次登入基於群組。其部署描述元可定義相同的群組並可使用相同認證方法 (基本、表單、摘要、憑證) 的所有 Web 應用程式均共用單次登入。

對於為 Application Server 定義的虛擬伺服器,依預設已啟用單次登入。如需有關停用單次登入的資訊,請參閱配置單次登入 (SSO)

對使用者進行授權

使用者通過認證後,授權層級將決定該使用者可以執行哪些作業。使用者的授權基於其角色。例如,人力資源應用程式可以授權管理者檢視所有員工的個人資訊,但每個員工僅能檢視自己的個人資訊。如需有關角色的更多資訊,請參閱瞭解使用者、群組、角色和範圍

指定 JACC 提供者

JACC (Java 容器授權合約) 屬於 J2EE 1.4 規格,它定義可插接式授權提供者介面。這可以讓管理員設置協力廠商外掛程式模組以執行授權。

依預設,Application Server 提供符合 JACC 規格並基於檔案的簡單授權引擎。還可以指定其他協力廠商 JACC 提供者。

JACC 提供者使用 Java 認證與授權服務 (JAAS) API。JAAS 可以讓服務對使用者進行認證並強制對使用者進行存取控制。JAAS 實作了 Java 技術版本的標準可插接式認證模組 (PAM) 框架。

稽核認證與授權決策

Application Server 可以透過稽核模組提供對所有認證與授權決策的稽核追蹤。Application Server 提供預設的稽核模組,還提供了自訂稽核模組的功能。如需有關開發自訂稽核模組的資訊,請參閱「Application Server Developer's Guide」。

配置訊息安全性

訊息安全性可以讓伺服器在訊息層執行 Web 服務呼叫和回應的點對點認證。Application Server 使用 SOAP 層上的訊息安全性提供者實作訊息安全性。訊息安全性提供者提供以下資訊,例如請求訊息和回應訊息所需的認證類型。受支援的認證類型包括:

此發行版本包括兩個訊息安全性提供者。可以為 SOAP 層的認證配置訊息安全性提供者。可以配置的提供者包括 ClientProviderServerProvider

訊息層安全性支援以 (可插接式) 認證模組的形式整合在 Application Server 及其用戶端容器中。依預設,Application Server 中的訊息層安全性處於停用狀態。

您可以為整個 Application Server 或者為特定的應用程式或方法配置訊息層安全性。第 10 章, 配置訊息安全性中論述了如何配置 Application Server 層級的訊息安全性。Developer’s Guide 中的「Securing Applications」一章論 述了如何配置應用程式層級的訊息安全性 。

瞭解使用者、群組、角色和範圍

Application Server 對以下實體強制執行其認證與授權策略:


備註 –

儘管使用者和群組是為整個 Application Server 指定的,但是每個應用程式都需要定義自己的角色。封裝和部署應用程式時,應用程式會指定使用者/群組和角色之間的對映,如下圖所示。


圖 9–1 角色對映

此圖顯示為群組指定使用者的方式、為角色指定使用者和群組的方式,以及應用程式使用群組和角色的方式。

使用者

使用者是已在 Application Server 中定義的個人 (或應用程式) 身份。使用者可以與群組關聯。Application Server 認證服務可以管理多個範圍中的使用者。

群組

J2EE 群組 (或簡稱群組) 是依循一般特性 (例如職務或用戶設定檔) 進行分類的使用者類別。例如,假定電子商務應用程式的使用者屬於 customer 群組,但是大用戶可以屬於 preferred 群組。將使用者進行群組分類可以簡化有大量使用者時的存取控制。

角色

角色定義使用者可以存取哪些應用程式以及每個應用程式的哪些部分,以及使用者可以執行的作業。亦即,角色決定了使用者的授權層級。

例如,假定在人事應用程式中,所有員工均可以存取電話號碼和電子郵件位址但只有管理者才能存取薪水資訊。該應用程式至少可以定義兩個角色:employeemanager;僅允許 manager 角色中的使用者檢視薪水資訊。

角色與使用者群組的不同之處在於,角色在應用程式中定義功能,而使用者群組是以某一方式相關的一組使用者。例如,假定在人事應用程式中有 full-timepart-timeon-leave 幾個群組,但所有這些群組中的使用者仍是 employee 角色。

角色是在應用程式部署描述元中定義的。相反,群組是針對整個伺服器和範圍而定義的。應用程式開發者或部署者在每個應用程式的部署描述元中將角色對映至一個或多個群組。

範圍

範圍 (也稱為安全策略網域安全網域),是伺服器定義和強制執行一般安全策略的範圍。在實際應用中,範圍是伺服器儲存使用者和群組資訊的儲存庫。

Application Server 預先配置了三個範圍:file (初始預設範圍)、certificateadmin-realm。您還可以設定 ldapsolaris 範圍或自訂範圍。應用程式可以在其部署描述元中指定要使用的範圍。如果應用程式不指定範圍,Application Server 將使用其預設範圍。

file 範圍中,伺服器將使用者憑證儲存在本地名為 keyfile 的檔案中。您可以使用 管理主控台 來管理 file 範圍中的使用者。如需更多資訊,請參閱管理 file 範圍使用者

certificate 範圍中,伺服器將使用者憑證儲存在憑證資料庫中。使用 certificate 範圍時,伺服器結合使用憑證和 HTTPS 通訊協定認證 Web 用戶端。如需有關憑證的更多資訊,請參閱證書和 SSL 簡介

admin-realm 也是一個 FileRealm,它將管理員使用者憑證儲存在本地名為 admin-keyfile 的檔案中。您可以使用 管理主控台 管理此範圍中的使用者,其方法與您管理 file 範圍中的使用者的方法相同。如需更多資訊,請參閱管理 file 範圍使用者

ldap 範圍中,伺服器將從簡易資料存取協定 (LDAP) 伺服器 (例如 Sun Java System Directory Server) 中取得使用者憑證。LDAP 是一種可以讓任何人在網路 (無論是公共網際網路還是企業內部網路) 中尋找組織、個人和其他資源 (例如檔案和裝置) 的協定。如需有關管理 ldap 範圍中的使用者和群組的資訊,請參閱您的 LDAP 伺服器文件。

solaris 範圍中,伺服器將從 Solaris 作業系統中取得使用者憑證。Solaris 9 OS 和更高版本支援此範圍。如需有關管理 solaris 範圍中的使用者和群組的資訊,請參閱您的 Solaris 文件。

自訂範圍是使用者憑證的任何其他儲存庫,例如關聯式資料庫或協力廠商元件。如需更多資訊,請參閱建立自訂範圍

證書和 SSL 簡介

本節論述以下主題:

關於數位證書

數位憑證 (或簡稱憑證) 是在網際網路上唯一識別人員和資源的電子檔案。證書還可以使兩個實體之間能夠進行安全、機密的通訊。

證書有很多種類型,例如個人證書 (由個人使用) 和伺服器證書 (用於透過安全套接字層 [SSL] 技術在伺服器和使用者端之間建立安全階段作業)。如需有關 SSL 的更多資訊,請參閱關於安全套接字層

憑證以公開金鑰密碼學為基礎,公開金鑰密碼學使用數位金鑰 (很長的數位) 對資訊進行加密或編碼,從而使資訊只能被指定的接收者讀取。然後,接收者對資訊進行解密 (解碼),即可讀取該資訊。

一個金鑰對包含一個公開金鑰和一個私密金鑰。所有者對公開金鑰進行發放並使任何人都可以使用該公開金鑰。但是所有者永遠不會發放私密金鑰;私密金鑰始終是保密的。由於金鑰與數學相關,因此使用了金鑰對中的一個金鑰進行加密的資料只能透過金鑰對中的另一個金鑰進行解密。

證書就好像一本護照:它可以識別持有者並提供其他重要資訊。憑證由稱為憑證授權單位 (CA) 的可信任的協力廠商發行。CA 類似於護照申領辦公室:它將驗證憑證持有者的身份並對憑證進行簽名,以使他人無法偽造或竄改憑證。CA 對證書進行簽名之後,持有者可以提供該證書做為身份證明並建立加密的機密通訊。

最重要的是,憑證會將所有者的公開金鑰連結至所有者身份。與護照將照片連結至其持有者的個人資訊類似,證書將公開金鑰連結至有關其所有者的資訊。

除了公開金鑰以外,證書通常還包括以下資訊:

數位憑證受 x.509 格式的技術規格約束。若要驗證 certificate 範圍中某個使用者的身份,認證服務將使用 X.509 憑證的一般名稱欄位做為主體名稱對 X.509 憑證進行驗證。

關於證書鏈

Web 瀏覽器已預先配置了一組瀏覽器自動信任的 CA 憑證。來自其他憑證授權單位的所有憑證都必須附帶憑證鏈,以驗證這些憑證是否有效。憑證鏈是由連續 CA 憑證發行的憑證序列,最終以根 CA 憑證結束。

憑證最初產生時是自簽名憑證。自簽名證書是其發行者 (簽名者) 與主旨 (其公開金鑰由該證書進行認證的實體) 相同的證書。如果所有者向 CA 傳送證書簽名請求 (CSR),然後輸入回應,自簽名證書將被證書鏈取代。鏈的底部是由 CA 發行的、用於認證主旨的公開金鑰證書 (回覆)。鏈中的下一個證書是認證 CA 公開金鑰的證書。通常,這是一個自簽名證書 (即,來自 CA、用於認證其自身公開金鑰的證書),並且是鏈中的最後一個證書。

在其他情況下,CA 可能會傳回一個證書鏈。在此情況下,鏈的底部證書是相同的 (由 CA 簽名的證書,用於認證金鑰項目的公開金鑰),但是鏈中的第二個證書是由其他 CA 簽名的證書,用於認證您向其傳送了 CSR 的 CA 的公開金鑰。然後,鏈中的下一個憑證是用於認證第二個 CA 金鑰的憑證,依此類推,直至到達自簽名的憑證。因此,鏈中的每個證書 (第一個證書之後的證書) 都需要認證鏈中前一個證書的簽名者的公開金鑰。

關於安全套接字層

安全套接字層 (SSL) 是用於確定網際網路通訊和作業事件保護的最常見標準。Web 應用程式使用 HTTPS (基於 SSL 的 HTTP),HTTPS 使用數位證書來確保在伺服器和使用者端之間進行安全、機密的通訊。在 SSL 連線中,使用者端和伺服器在傳送資料之前都要對資料進行加密,然後由接受者對其進行解密。

Web 瀏覽器 (用戶端) 需要與某個安全站點建立連線時,則會發生 SSL 交換

交握之後,即表示使用者端已驗證了網站的身份,並且只有該使用者端和 Web 伺服器擁有該階段作業金鑰副本。從現在開始,使用者端和伺服器便可以使用該階段作業金鑰對彼此間的所有通訊進行加密。這樣就確保了使用者端和伺服器之間的通訊的安全。

SSL 標準的最新版本稱為 TLS (傳輸層安全性)。Application Server 支援安全套接字層 (SSL) 3.0 和傳輸層安全性 (TLS) 1.0 加密協定。

若要使用 SSL,Application Server 必須擁有接受安全連線的每個外部介面或 IP 位址的憑證。只有安裝了數位證書之後,大多數 Web 伺服器的 HTTPS 服務才能夠執行。請使用使用 keytool 公用程式產生憑證中說明的程序來設定 Web 伺服器可以用於 SSL 的數位憑證。

關於加密算法

加密算法是用於加密或解密的加密演算法。SSL 和 TLS 協定支援用於伺服器和使用者端彼此進行認證、傳輸證書和建立階段作業金鑰的各種加密算法。

某些加密算法比其他加密算法更強大且更安全。使用者端和伺服器可以支援不同的密碼組。從 SSL3 和 TLS 協定中選取加密算法。在安全連線期間,使用者端和伺服器同意在通訊中使用它們均已啟用的最強大的加密算法,因此通常需要啟用所有加密算法。

使用基於名稱的虛擬主機

對安全應用程式使用基於名稱的虛擬主機可能會帶來問題。這是 SSL 協定本身的設計限制。必須先進行 SSL 交握 (使用者端瀏覽器在此時接受伺服器證書),然後才能存取 HTTP 請求。這樣,在認證之前就無法確定包含虛擬主機名稱的請求資訊,因此也不能將多個證書指定給單一 IP 位址。

如果單一 IP 位址上的所有虛擬主機均需要對照同一證書進行認證,則增加多個虛擬主機將不會影響伺服器上正常的 SSL 作業。但是請注意,大多數瀏覽器會將伺服器的網域名稱與憑證中列示的網域名稱 (如果有,且主要適用於官方 CA 簽名憑證) 進行對照。如果網域名稱不匹配,這些瀏覽器將顯示警告。通常在生產環境中,只將基於位址的虛擬主機與 SSL 配合使用。

關於防火牆

防火牆控制兩個或多個網路之間的資料流,並管理網路之間的連結。防火牆可能包含硬體和軟體元素。本節描述了一些一般防火牆架構及其配置。此處的資訊主要針對 Application Server。如需有關特定防火牆技術的詳細資訊,請參閱防火牆供應商提供的文件。

通常,需要對防火牆進行配置,以便使用者端存取所需的 TCP/IP 連接埠。例如,如果 HTTP 偵聽程式正在連接埠 8080 上作業,則將防火牆配置為僅允許處理連接埠 8080 上的 HTTP 請求。同樣地,如果為連接埠 8181 設定了 HTTPS 請求,則必須將防火牆配置為允許處理連接埠 8181 上的 HTTPS 請求。

如果需要從網際網路對 EJB 模組進行直接的 RMI-IIOP (全稱為 Remote Method Invocations over Internet Inter-ORB Protocol [通過網際網路 ORB 交換協定的遠端方法呼叫]) 存取,則還需要開啟 RMI-IIOP 偵聽程式連接埠,但強烈建議您不要這樣做,因為這樣可能會破壞安全性。

在雙防火牆架構中,您必須將外部防火牆配置為允許處理 HTTP 和 HTTPS 作業事件。您必須將內部防火牆配置為允許 HTTP 伺服器外掛程式與防火牆後面的 Application Server 進行通訊。

使用 管理主控台 管理安全性

管理主控台 提供了對安全性的以下方面進行管理的方法:

伺服器安全性設定

在 [安全性設定] 頁面中,設定整個伺服器的特性,包括指定預設範圍、匿名角色和預設的主體使用者名稱和密碼。如需更多資訊,請參閱配置安全性設定

範圍和 file 範圍使用者

瞭解使用者、群組、角色和範圍中介紹了範圍的概念。

請參閱有關範圍的 管理主控台 作業,以取得有關這些作業的詳細資訊。

JACC 提供者

指定 JACC 提供者中介紹了 JACC 提供者。使用 管理主控台 執行以下作業:

請參閱有關 JACC 提供者的 管理主控台 作業,以取得有關這些作業的詳細資訊。

稽核模組

稽核認證與授權決策中介紹了稽核模組。稽核是記錄重要事件 (例如錯誤或安全性漏洞) 以進行後續檢查的方法。所有認證事件都被記錄到 Application Server 記錄中。完整的存取記錄提供了 Application Server 存取事件的循序追蹤。

使用 管理主控台 執行以下作業:

請參閱有關稽核模組的 管理主控台 作業,以取得有關這些作業的詳細資訊。

訊息安全性

配置訊息安全性中介紹了訊息安全性的概念。使用 管理主控台 執行以下作業:

請參閱第 10 章, 配置訊息安全性,以取得有關這些作業的詳細資訊。

HTTP 和 IIOP 偵聽程式安全性

HTTP 服務中的每個虛擬伺服器都透過一個或多個 HTTP 偵聽程式提供網路連線。如需有關 HTTP 服務和 HTTP 偵聽程式的一般資訊,請參閱什麼是 HTTP 服務?

Application Server 支援 CORBA (共用物件請求代理程式架構) 物件,這類物件使用網際網路 Orb 交換協定 (IIOP) 在網路上進行通訊。IIOP 偵聽程式接受來自 EJB 的遠端用戶端和其他基於 CORBA 之用戶端的內送連線。如需有關 IIOP 偵聽程式的一般資訊,請參閱IIOP 偵聽程式

使用 管理主控台 執行以下作業:

請參閱有關偵聽程式和 JMX 連接器的 管理主控台 作業,以取得有關這些作業的詳細資訊。

管理服務安全性

管理服務決定伺服器實例是一般實例、網域管理伺服器 (DAS),還是兼具兩者。使用管理服務可以配置 JSR-160 相容遠端 JMX 連接器,該連接器處理網域管理伺服器與遠端伺服器實例的節點代理程式 (管理主機電腦上的伺服器實例) 之間的通訊。

使用 管理主控台 執行以下作業:

請參閱配置管理服務之 JMX 連接器的安全性,以取得有關這些作業的詳細資訊。

安全性對映

關於安全性對映中介紹了用於連接器連線池的安全性對映的概念。使用 管理主控台 執行以下作業:

請參閱有關連接器連線池的 管理主控台 作業,以取得有關這些作業的詳細資訊。

有關安全性的 管理主控台 作業

Procedure配置安全性設定

管理主控台 中的 [安全性] 頁面可以讓您設定各種系統範圍內的安全性設定。

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

  2. 選取要配置的實例:

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

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

  3. 選取 [安全性] 節點。

    將顯示 [安全性] 頁面。

  4. 依需要修改值。

    下表論述了一般安全性選項。

    設定 

    說明 

    稽核記錄 

    選取以啟用稽核記錄。如果啟用稽核記錄,伺服器將載入並執行在 [稽核模組] 設定中指定的所有稽核模組。如果停用稽核記錄,伺服器將不存取稽核模組。依預設,稽核記錄處於停用狀態。 

    預設範圍 

    伺服器用於進行認證的使用中 (預設) 範圍。除非應用程式在其部署描述元中指定了其他範圍,否則應用程式將使用此範圍。清單中將顯示所有已配置的範圍。初始預設範圍為 file 範圍。

    匿名角色 

    預設或匿名角色的名稱。匿名角色將被指定給所有使用者。應用程式可以在其部署描述元中使用此角色以向任何人授予許可權。 

    預設主體 

    指定預設使用者名稱。如果未提供任何主體,伺服器將使用此預設主體。如果在此欄位中輸入了值,則請在 [預設主體密碼] 欄位中輸入相應的值。 

    一般伺服器作業不需要此屬性。 

    預設主體密碼 

    在 [預設主體] 欄位中指定的預設主體的密碼。 

    一般伺服器作業不需要此屬性。 

    JACC 

    已配置的 JACC 提供者的類別名稱。請參閱建立 JACC 提供者

    稽核模組 

    稽核模組提供者類別清單 (以逗號分隔)。此處所列示的模組必須是已配置模組。如果啟用 [稽核記錄],則此設定必須列示稽核模組。依預設,伺服器使用名為 default 的稽核模組。如需有關建立新稽核模組的資訊,請參閱建立稽核模組

  5. 在 [附加特性] 區段輸入要傳送至 Java 虛擬機器 (JVM) 的附加特性。

    有效的特性取決於 [預設範圍] 欄位中所選取範圍的類型。在以下小節中會論述有效特性:

  6. 選取 [儲存] 以儲存變更,或者選取 [載入預設值] 以復原預設值。

Procedure授予對管理工具的存取權

asadmin 群組中的使用者才能存取 管理主控台 和 asadmin 指令行公用程式。

若要授予使用者對這些管理工具的存取權,請將這些工具增加至 admin-realmasadmin 群組中。

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

  2. 選取要配置的實例:

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

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

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

  4. 展開 [範圍] 節點。

  5. 選取 [admin-realm] 節點。

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

    初次完成安裝之後,安裝期間輸入的管理員使用者名稱和密碼將列示在名為 admin-keyfile 的檔案中。依預設,此使用者屬於 asadmin 群組,該群組可授予修改 Application Server 的權限。請僅在您要為使用者授予 Application Server 的管理員權限時,才將使用者指定至該群組。

    如果您將使用者增加至 admin-realm 範圍,但將使用者指定給 asadmin 以外的群組,則雖然使用者資訊仍會被寫入名為 admin-keyfile 的檔案,但使用者不具有對管理工具或 file 範圍中的應用程式的存取權。

  7. 按一下 [新建] 以將新使用者增加至 admin-realm 範圍。

  8. 在 [使用者 ID]、[密碼]、和 [群組清單] 欄位中輸入正確資訊。

    若要授予使用者修改 Application Server 的權限,請將 asadmin 群組包含在 [群組清單] 中。

  9. 按一下 [確定] 以將此使用者增加至 admin-realm 範圍中,或按一下 [取消] 以退出而不儲存變更。

有關範圍的 管理主控台 作業

Procedure建立範圍

Application Server 預先配置了三個範圍:filecertificateadmin-realm。您還可以建立 ldapsolaris 範圍和自訂範圍。通常,一個伺服器上會有每種類型的一個範圍,但在 Application Server 上有兩個 file 範圍:fileadmin-realm。這兩個範圍類型相同但用於兩種不同的目的。您的系統也可以為每個虛擬伺服器配備不同的證書資料庫。

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

  2. 選取要配置的實例:

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

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

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

  4. 選取 [範圍] 節點。

  5. 在 [範圍] 頁面中,按一下 [新建]。

    將顯示 [建立範圍] 頁面。

  6. 在 [名稱] 欄位中為範圍輸入名稱。

  7. 指定要建立的範圍的類別名稱。

    下表列出了有效選項:

    範圍名稱 

    類別名稱 

    file

    com.sun.enterprise.security.auth.realm.file.FileRealm

    certificate

    com.sun.enterprise.security.auth.realm.certificate.CertificateRealm

    ldap

    com.sun.enterprise.security.auth.realm.ldap.LDAPRealm

    solaris

    com.sun.enterprise.security.auth.realm.solaris.SolarisRealm

    自訂

    登入範圍類別的名稱 

  8. 增加範圍必需特性和任何所需的選擇性特性。

    1. 按一下 [增加特性]。

    2. 在 [名稱] 欄位中,輸入特性的名稱。

    3. 在 [值] 欄位中輸入特性的值。

  9. 按一下 [確定]。

等效的 asadmin 指令

create-auth-realm

Procedure編輯範圍

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

  2. 選取要配置的實例:

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

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

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

  4. 展開 [範圍] 節點。

  5. 選取現有範圍的名稱。

    將顯示 [編輯範圍] 頁面。

  6. 依需要編輯現有特性及其值。

  7. 若要增加附加特性,請按一下 [增加特性] 按鈕。

    該頁面將顯示一個新行。輸入有效的特性名稱和特性值。

  8. 按一下 [儲存] 以儲存變更。

Procedure刪除範圍

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

  2. 選取要配置的實例:

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

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

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

  4. 選取 [範圍] 節點。

  5. 按一下要刪除的範圍旁邊的方塊。

  6. 按一下 [刪除]。

等效的 asadmin 指令

delete-auth-realm

Procedure設定預設範圍

預設範圍是當應用程式部署描述元未指定範圍時,Application Server 用於認證與授權的範圍。

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

  2. 選取要配置的實例:

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

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

  3. 選取 [安全性] 節點。

    將顯示 [安全性] 頁面。

  4. 在 [預設範圍] 欄位中,從下拉式清單中選取所需的範圍。

  5. 按一下 [儲存] 以儲存變更,或按一下 [載入預設值] 以刪除變更並復原 Application Server 的預設值。

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

特定範圍的其他資訊

本小節包含以下主題:

建立 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 範圍的所有應用程式進行用戶端認證。

有關 JACC 提供者的 管理主控台 作業

Procedure建立 JACC 提供者

JACC (Java 容器授權合約) 屬於 J2EE 1.4 規格,它定義可插接式授權提供者介面。這可以讓管理員設定協力廠商外掛程式模組以執行授權。依預設,Application Server 提供簡單的、JACC 相容的、基於檔案的授權引擎。

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

  2. 選取要配置的實例:

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

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

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

  4. 選取 [JACC 提供者] 節點。

  5. 在 [JACC 提供者] 頁面上,按一下 [新建]。

  6. 在 [建立 JACC 提供者] 頁面中,輸入以下資訊:

    • 名稱 – 用於識別此提供者的名稱。

    • 策略配置 – 用於實作策略配置工廠的類別名稱。預設提供者使用 com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl

    • 策略提供者 – 用於實作策略工廠的類別名稱。預設提供者使用 com.sun.enterprise.security.provider.PolicyWrapper

  7. 按一下 [增加特性] 按鈕向提供者增加特性。有效特性包括:

    • repository – 包含策略檔案的目錄。對於預設提供者,此值為 ${com.sun.aas.instanceRoot}/generated/policy

  8. 按一下 [確定] 儲存此配置,或按一下 [取消] 結束而不進行儲存。

Procedure編輯 JACC 提供者

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

  2. 選取要配置的實例:

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

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

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

  4. 展開 [JACC 提供者] 節點。

  5. 選取要編輯的 JACC 提供者的節點。

  6. 在 [編輯 JACC 提供者] 頁面上,依需要修改提供者資訊:

    • 策略配置 – 用於實作策略配置工廠的類別名稱。

    • 策略提供者 – 用於實作策略工廠的類別名稱。

  7. 若要增加特性,請按一下 [增加] 按鈕。輸入特性的名稱和值。有效項目包括:

    • repository – 包含策略檔案的目錄。對於預設提供者,此值為 ${com.sun.aas.instanceRoot}/generated/policy

  8. 若要刪除現有特性,請按一下該特性左側的核取方塊,然後按一下 [刪除特性]。

  9. 按一下 [儲存] 以儲存變更,或按一下瀏覽器上的 [向後] 按鈕以取消而不儲存變更。

Procedure刪除 JACC 提供者

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

  2. 選取要配置的實例:

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

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

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

  4. 選取 [JACC 提供者] 節點。

  5. 按一下要刪除的 JACC 提供者左側的核取方塊。

  6. 按一下 [刪除]。

Procedure設定使用中的 JACC 提供者

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

  2. 選取要配置的實例:

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

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

  3. 選取 [安全性] 節點。

    將顯示 [安全性] 頁面。

  4. 在 [JACC] 欄位中,輸入伺服器要使用的 JACC 提供者的名稱。

    如果不知道哪些 JACC 提供者可用,請展開樹狀結構中的 [JACC 提供者] 元件,以檢視所有已配置的 JACC 提供者。

  5. 選取 [儲存] 以儲存變更,或選取 [載入預設值] 以復原為預設值。

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

有關稽核模組的 管理主控台 作業

Procedure建立稽核模組

Application Server 提供了簡單的預設稽核模組;如需更多資訊,請參閱使用 default 稽核模組

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

  2. 選取要配置的實例:

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

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

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

  4. 選取 [稽核模組] 節點。

  5. 在 [稽核模組] 頁面上,按一下 [新建]。

  6. 在 [建立稽核模組] 頁面上,輸入以下資訊:

    • 名稱 – 用於識別此稽核模組的名稱。

    • 類別名稱 – 用於實作此模組的類別之完全合格的名稱。預設稽核模組的類別名稱為 com.sun.enterprise.security.Audit

  7. 若要將 JVM 特性增加至此模組,請按一下 [增加特性]。指定每個特性的名稱和值。有效特性包括:

    • auditOn - 指定是否啟用此實作類別。有效值為 truefalse

  8. 按一下 [確定] 以儲存項目,或按一下 [取消] 以退出而不儲存變更。

Procedure編輯稽核模組

依預設,未開啟稽核模組。如需有關如何啟動稽核模組的更多資訊,請參閱啟用或停用稽核記錄

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

  2. 選取要配置的實例:

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

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

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

  4. 展開 [稽核模組] 節點。

  5. 選取要編輯的稽核模組的節點。

  6. 在 [編輯稽核模組] 頁面上,依需要修改類別名稱。

  7. 透過選取 [增加] 按鈕並輸入特性的名稱和值,來輸入模組的任何附加特性。有效特性包括:

    • auditOn - 指定是否使用此稽核模組。有效值為 truefalse

  8. 透過選取要修改的名稱或值並在文字欄位中直接輸入變更來修改任何現有特性。

  9. 透過選取特性左側的核取方塊並按一下 [刪除特性] 來刪除特性。

  10. 按一下 [儲存] 以儲存變更,或按一下瀏覽器上的 [向後] 按鈕以取消而不儲存變更。

Procedure刪除稽核模組

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

  2. 選取要配置的實例:

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

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

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

  4. 選取 [稽核模組] 節點。

  5. 按一下要刪除的稽核模組左側的核取方塊。

  6. 按一下 [刪除]。

Procedure啟用或停用稽核記錄

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

  2. 選取要配置的實例:

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

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

  3. 選取 [安全性] 節點。

    將顯示 [安全性] 頁面。

  4. 若要啟用記錄,請選取 [稽核記錄] 核取方塊。若要停用記錄,請取消選取該核取方塊。

    選取此選項可以載入稽核模組,並確保這些模組在稽核時被 Application Server 的稽核程式庫呼叫。

  5. 若要啟用稽核記錄,請指定預設稽核模組 (如設定使用中的稽核模組中所述)。

  6. 選取 [儲存] 以儲存變更。

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

Procedure設定使用中的稽核模組

開始之前

若要指定伺服器使用的稽核模組,請先啟用稽核記錄 (如啟用或停用稽核記錄中所述)。

  1. 在 [稽核模組] 欄位中,輸入伺服器要使用的稽核模組名稱。

    預先配置的稽核模組稱為 default。確定已依照使用 default 稽核模組中所述將該稽核模組的 auditOn 設定為 true。

  2. 選取 [儲存] 以儲存變更,或選取 [載入預設值] 以取消變更。

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

Procedure使用 default 稽核模組

default 稽核模組將認證與授權請求記錄至伺服器記錄檔中。如需有關變更記錄檔位置的資訊,請參閱配置一般記錄設定

認證記錄項目包括以下資訊:

無論是否啟用稽核記錄,Application Server 均會記錄所有被拒絕的認證事件。

授權記錄項目包括以下資訊:

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

  2. 選取要配置的實例:

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

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

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

  4. 展開 [稽核模組] 節點。

  5. 按一下 [default] 節點。

  6. auditOn 特性的值設定為 true

  7. 選取 [儲存] 以儲存變更。

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

有關偵聽程式和 JMX 連接器的 管理主控台 作業

Procedure配置 HTTP 偵聽程式的安全性

HTTP 服務中的每個虛擬伺服器都透過一個或多個 HTTP 偵聽程式提供網路連線。使用 管理主控台 可以建立新的 HTTP 偵聽程式和編輯現有 HTTP 偵聽程式的安全性設定。

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

  2. 選取要配置的實例:

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

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

  3. 展開 [HTTP 服務] 節點。

  4. 選取 [HTTP 偵聽程式] 節點。

  5. 選取 HTTP 偵聽程式以編輯現有的偵聽程式,或按一下 [新建] 並依照建立 HTTP 偵聽程式中的程序來建立新的偵聽程式。

  6. 依照設定偵聽程式安全性特性中的程序來設定安全性特性。

  7. 按一下 [儲存] 以儲存變更,或按一下瀏覽器上的 [向後] 按鈕以取消而不儲存變更。

等效的 asadmin 指令

create-http-listener

Procedure配置 IIOP 偵聽程式的安全性

Application Server 支援 CORBA (共用物件請求代理程式架構) 物件,這類物件使用網際網路 Orb 交換協定 (IIOP) 在網路上進行通訊。IIOP 偵聽程式接受來自 EJB 的遠端用戶端和其他基於 CORBA 之用戶端的內送連線。使用 管理主控台 可以建立新的 IIOP 偵聽程式和編輯現有 IIOP 偵聽程式的設定。

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

  2. 選取要配置的實例:

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

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

  3. 展開 [ORB] 節點。

  4. 選取 [IIOP 偵聽程式] 節點。

  5. 選取 IIOP 偵聽程式以對其進行編輯,或按一下 [新建] 並依照建立 IIOP 偵聽程式中的程序來建立新的偵聽程式。

  6. 依照設定偵聽程式安全性特性中的程序來設定安全性特性。

  7. 按一下 [儲存] 以儲存變更,或按一下 [載入預設值] 以復原為特性的預設值。

    如果已建立新的偵聽程式,則該新的偵聽程式會立即列在 [IIOP 偵聽程式] 頁面上的 [目前的偵聽程式] 表中。

等效的 asadmin 指令

create-iiop-listener

Procedure配置管理服務之 JMX 連接器的安全性

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

  2. 選取要配置的實例:

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

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

  3. 展開 [管理服務] 節點。

  4. 選取要修改的管理服務。

  5. 依照設定偵聽程式安全性特性中的程序來設定安全性特性。

  6. 按一下 [儲存] 以儲存變更,或按一下 [載入預設值] 以復原為特性的預設值。

Procedure設定偵聽程式安全性特性

此程序適用於 HTTP 偵聽程式、IIOP 偵聽程式和 JMX 連接器安全性特性。

  1. 在 [編輯 HTTP 偵聽程式]、[編輯 IIOP 偵聽程式] 或 [編輯 JMX 連接器] 頁面中,移至標有 [SSL] 的區段。

  2. 核取 [安全性] 欄位中的 [已啟用] 方塊,以啟用此偵聽程式的安全性。選取此選項後,您必須選取 [SSL3] 或 [TLS] 才能指定啟用何種類型的安全性,並且必須輸入憑證暱稱。

  3. 如果在使用此偵聽程式時,用戶端要向 Application Server 認證其自身,請核取 [用戶端認證] 欄位中的 [已啟用] 方塊。

  4. 如果已核取 [已啟用] 方塊,請在 [憑證暱稱] 欄位中輸入金鑰庫別名。金鑰庫別名是用於識別現有伺服器金鑰對和憑證的單一值。預設金鑰庫的憑證暱稱為 s1as

    若要尋找憑證暱稱,請使用 certutil 公用程式 (如使用網路安全服務 (NSS) 工具中所述)。

  5. 如果已選取 [已啟用] 方塊,請選取 [SSL3] 和/或 [TLS]。依預設,SSL3 和 TLS 均處於啟用狀態。

  6. 依需要啟用個別密碼組。依預設,已啟用所有受支援的密碼組。關於加密算法中論述了加密算法。

  7. 選取 [儲存] 以儲存變更,或選取 [載入預設值] 以取消變更。

有關虛擬伺服器的 管理主控台 安全性作業

Procedure配置單次登入 (SSO)

單次登入可以讓多個應用程式共用使用者登入資訊,而不需要每個應用程式都單獨進行使用者登入。使用單次登入的應用程式對使用者進行一次認證,然後此認證資訊將被傳遞到其他所有涉及的應用程式。

單次登入適用於為同一範圍和虛擬伺服器配置的 Web 應用程式。


備註 –

單次登入使用 HTTP cookie 來傳輸記號,而該記號將每個請求與已儲存的使用者身份關聯起來,因此僅當瀏覽器用戶端支援 cookie 時才能使用單次登入。


單次登入根據以下規則作業:

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

  2. 選取要配置的實例:

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

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

  3. 展開 [HTTP 服務] 節點。

  4. 展開 [虛擬伺服器] 節點,然後選取要配置為支援單次登入的虛擬伺服器。

  5. 按一下 [增加特性]。

    一個空白的特性項目將被增加至清單末尾。

  6. 在 [名稱] 欄位中輸入 sso-enable

  7. 在 [值] 欄位中輸入 false 以停用 SSO,輸入 true 以啟用 SSO。

    依預設,SSO 處於啟用狀態。

  8. 按一下 [增加特性] 並配置所有適用的 SSO 特性,以增加或變更任何其他單次登入特性。

    下表說明了虛擬伺服器的有效 SSO 特性。

    特性名稱 

    說明 

    值 

    sso-max-inactive-seconds

    如果未接收到任何用戶端作業,在可以清除使用者的單次登入記錄之前等待的時間 (以秒為單位)。對虛擬伺服器中的任何應用程式的存取都可以使單次登入記錄保持使用中狀態。 

    預設為 300 秒 (5 分鐘)。值越高,為使用者提供的持續性越長,但伺服器上的記憶體消耗也會越多。 

    sso-reap-interval-seconds

    清除過期的單次登入記錄的間隔 (以秒為單位)。 

    預設為 60。 

  9. 按一下 [儲存]。

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

有關連接器連線池的 管理主控台 作業

關於連接器連線池

連接器模組 (也稱為資源配接卡) 可讓 J2EE 應用程式與企業資訊系統 (EIS) 進行互動。連接器資源可讓應用程式與 EIS 連線。連接器連線池是針對特定 EIS 的一組可重複使用的連線。

安全性對映可以建立 J2EE 使用者和群組與 EIS 使用者和群組之間的對映。使用 管理主控台 可以建立、更新、列出和刪除連接器連線池的安全性對映。


備註 –

在此環境中,使用者被稱為主體。企業資訊系統 (EIS) 是保存此資訊的任何系統。它可以是主機、訊息傳送系統、資料庫系統或應用程式。


關於安全性對映

使用安全性對映可以將應用程式 (主體或使用者群組) 的呼叫者身份對映至適當的 EIS 主體,此主體包含在容器管理的基於作業事件的分析藍本中。應用程式主體向 EIS 發出請求後,Application Server 將首先使用為連接器連線池定義的安全性對映檢查確切的主體,以確定已對映的後端 EIS 主體。如果沒有完全相符的主體,Application Server 將使用萬用字元規格 (如果有) 來確定已對映的後端 EIS 主體。應用程式使用者需要執行 EIS 作業 (需要以 EIS 中的特定身份來執行) 時,將使用安全性對映。

若要管理安全性對映,請使用 管理主控台 中的以下程序︰

Procedure建立安全性對映

連接器連線池的安全性對映可將應用程式使用者和群組 (主體) 對映至 EIS 主體。應用程式使用者需要執行 EIS 作業 (需要 EIS 中的特定身份) 時,請使用安全性對映。

  1. 展開 [資源] 節點

  2. 展開 [連接器] 節點。

  3. 選取 [連接器連線池] 節點。

  4. 透過從目前池清單中選取連接器連線池的名稱來選取連接器連線池,或透過從目前池清單中選取 [新建] 並依照建立 JDBC 連線池中的說明建立新的連接器連線池。

  5. 選取 [安全性對映] 頁面。

  6. 按一下 [新建] 以建立新的安全性對映。

  7. 在 [建立安全性對映] 頁面上,輸入以下特性。

    • 名稱 – 輸入用於參照此特定安全性對映的名稱。

    • 使用者群組 – 要對映至適當 EIS 主體的應用程式之呼叫者身份。請輸入應用程式特定的使用者群組清單 (以逗號分隔),或輸入萬用字元星號 (*) 來表示所有使用者或所有使用者群組。指定 [主體] 或 [使用者群組] 選項,但不能同時指定這兩個選項。

    • 主體 – 要對映至適當 EIS 主體的應用程式之呼叫者身份。請輸入應用程式特定的主體清單 (以逗號分隔),或輸入萬用字元星號 (*) 來表示所有主體。指定 [主體] 或 [使用者群組] 選項,但不能同時指定這兩個選項。

  8. 在 [後端主體] 區段中,輸入以下特性。

    • 使用者名稱 – 輸入 EIS 使用者名稱。企業資訊系統 (EIS) 是保存此資訊的任何系統。它可以是主機、訊息傳送系統、資料庫系統或應用程式。

    • 密碼 – 輸入 EIS 使用者的密碼。

  9. 按一下 [確定] 以建立安全性對映,或按一下 [取消] 以退出而不儲存變更。

等效的 asadmin 指令

create-connector-security-map

Procedure編輯安全性對映

  1. 展開 [資源] 節點。

  2. 展開 [連接器] 節點。

  3. 選取 [連接器連線池] 節點。

  4. 透過從目前池清單中選取連接器連線池的名稱來選取一個連接器連線池。

  5. 選取 [安全性對映] 頁面。

  6. 在 [安全性對映] 頁面上,從目前安全性對映清單中選取安全性對映。

  7. 在 [編輯安全性對映] 頁面上,依需要修改以下特性。

    • 使用者群組 – 要對映至適當 EIS 主體的應用程式之呼叫者身份。請輸入應用程式特定的使用者群組清單 (以逗號分隔),或輸入萬用字元星號 (*) 來表示所有使用者或所有使用者群組。指定 [主體] 或 [使用者群組] 選項,但不能同時指定這兩個選項。

    • 主體 – 要對映至適當 EIS 主體的應用程式之呼叫者身份。請輸入應用程式特定的主體清單 (以逗號分隔),或輸入萬用字元星號 (*) 來表示所有主體。指定 [主體] 或 [使用者群組] 選項,但不能同時指定這兩個選項。

  8. 在 [後端主體] 區段中,輸入以下特性。

    • 使用者名稱 – 輸入 EIS 使用者名稱。企業資訊系統 (EIS) 是保存此資訊的任何系統。它可以是主機、訊息傳送系統、資料庫系統或應用程式。

    • 密碼 – 輸入 EIS 使用者的密碼。

  9. 按一下 [儲存] 以儲存對安全性對映所做的變更。

有用的 asadmin 指令

list-connector-security-mapsupdate-connector-security-maps

Procedure刪除安全性對映

  1. 展開 [資源] 節點。

  2. 展開 [連接器] 節點。

  3. 選取 [連接器連線池] 節點。

  4. 透過從目前池清單中選取連接器連線池的名稱來選取一個連接器連線池。

  5. 選取 [安全性對映] 頁面。

  6. 在 [安全性對映] 頁面上,按一下要刪除的安全性對映名稱左側的核取方塊。

  7. 按一下 [刪除]。

等效的 asadmin 指令

delete-connector-security-map

使用證書和 SSL

關於證書檔案

安裝 Application Server 會產生適合內部測試的 NSS (網路安全服務) 格式的數位憑證。依預設,Application Server 將其憑證資訊儲存在 domain-dir/config 目錄下的憑證資料庫中︰

Procedure變更憑證檔案的位置

供開發使用的金鑰庫檔案和信任庫檔案儲存在 domain-dir/config 目錄中。

  1. 在 管理主控台 樹狀結構中,展開 [配置]。

  2. 展開 [server-config] (管理配置) 節點。

  3. 選取 [JVM 設定] 節點。

  4. 按一下 [JVM 選項] 標籤。

  5. 在 [JVM 選項] 頁面上,在 [值] 欄位中增加或修改以下值,以反映憑證檔案的新位置:


    -Dcom.sun.appserv.nss.db=${com.sun.aas.instanceRoot}/NSS-database-directory
    

    其中,NSS-database-directory 是 NSS 資料庫的位置。

  6. 按一下 [儲存]。

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

使用 Java 安全套接字延伸 (JSSE) 工具

使用 keytool 可以設定和使用 JSSE (Java 安全套接字延伸) 數位憑證。在 Platform Edition 的伺服器端,Application Server 使用 JSSE 格式來管理憑證和金鑰庫。在 Platform Edition 和 Enterprise Edition 中,用戶端 (應用程式用戶端或獨立用戶端) 均使用 JSSE 格式。

J2SE SDK 附帶有 keytool,可以讓管理員管理公開/私密金鑰對和關聯憑證。還可以讓使用者快取正與其通訊的另一方的公開金鑰 (以證書形式)。

若要執行 keytool,必須配置 shell 環境,以使 J2SE /bin 目錄位於路徑中,或者指令行中必須存在該工具的完整路徑。如需有關 keytool 的更多資訊,請參閱位於以下位置的 keytool 文件:http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html

使用 keytool 公用程式

以下範例說明了與使用 JSSE 工具處理憑證相關的用法︰

Procedure使用 keytool 公用程式產生憑證

使用 keytool 產生、匯入和匯出憑證。依預設,keytool 將在其執行目錄中建立金鑰庫檔案。

  1. 變更至要執行憑證的目錄。

    始終在包含金鑰庫檔案和信任庫檔案的目錄中產生憑證,依預設,該目錄為 domain-dir/config。如需有關變更這些檔案位置的資訊,請參閱變更憑證檔案的位置

  2. 輸入以下 keytool 指令,以在金鑰庫檔案 keystore.jks 中產生憑證:


    keytool -genkey -alias keyAlias-keyalg RSA
     -keypass changeit
     -storepass changeit
    -keystore keystore.jks

    使用任何專屬名稱做為 keyAlias。如果您已變更金鑰庫或私密金鑰密碼的預設值,請使用新密碼取代以上指令中的 changeit

    螢幕上將顯示提示,要求您提供姓名、組織和其他資訊,keytool 將使用這些資訊產生憑證。

  3. 輸入以下 keytool 指令,以將產生的憑證匯出至檔案 server.cer (或 client.cer [如果您願意]):


    keytool -export -alias keyAlias-storepass changeit
     -file server.cer
     -keystore keystore.jks
  4. 如需由憑證授權機構簽署的憑證,請參閱使用 keytool 公用程式簽署數位憑證

  5. 若要建立信任庫檔案 cacerts.jks,並將憑證增加至該信任庫,請輸入以下 keytool 指令:


    keytool -import -v -trustcacerts
    -alias keyAlias
     -file server.cer
    -keystore cacerts.jks
     -keypass changeit

    如果您已變更金鑰庫或私密金鑰密碼的預設值,請使用新密碼取代以上指令中的 changeit

    工具將顯示有關證書的資訊並提示您是否要信任該證書。

  6. 鍵入 yes,然後按下 Enter 鍵。

    keytool 便會顯示如下資訊:


    Certificate was added to keystore
    [Saving cacerts.jks]
  7. 重新啟動 Application Server。

Procedure使用 keytool 公用程式簽署數位憑證

建立數位憑證之後,所有者必須簽署該憑證以防偽造。電子商務站點或那些身份認證對其很重要的站點可以從知名的憑證授權機構 (CA) 購買憑證。如果無需考量認證 (例如當私密安全通訊可以滿足全部需求時),則可節省獲取 CA 憑證所花費的時間和費用並使用自我簽署憑證。

  1. 請依照 CA 網站上的說明產生憑證金鑰對。

  2. 下載產生的證書金鑰對。

    將憑證儲存在包含金鑰庫檔案和信任庫檔案的目錄中,依預設,該目錄為 domain-dir/config。請參閱變更憑證檔案的位置

  3. 在 shell 中,變更至包含憑證的目錄。

  4. 使用 keytool 將憑證匯入本機金鑰庫和本機信任庫 (如有必要)。


    keytool -import -v -trustcacerts
    -alias keyAlias
     -file server.cer
    -keystore cacerts.jks
     -keypass changeit
    -storepass changeit

    如果金鑰庫密碼或私密金鑰密碼不是預設密碼,請使用新密碼取代以上指令中的 changeit

  5. 重新啟動 Application Server。

使用 keytool 公用程式刪除憑證

若要刪除現有憑證,請使用 keytool -delete 指令,例如:

keytool -delete
 -alias keyAlias
 -keystore keystore-name
 -storepass password

如需有關 -delete 指令之可能選項的完整清單,請參閱位於以下位置的 keytool 文件:http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html

使用網路安全服務 (NSS) 工具

在 Enterprise Edition 的伺服器端,使用網路安全服務 (NSS) 數位憑證管理儲存私密金鑰和憑證的資料庫。對於用戶端 (應用程式用戶端或獨立用戶端),使用使用 Java 安全套接字延伸 (JSSE) 工具中所述的 JSSE 格式。

使用網路安全服務 (NSS) 管理安全性的工具包括:

這些工具位於 install-dir/lib/ 目錄中。以下環境變數用於指向 NSS 安全性工具的位置︰

在這些範例中,憑證一般名稱 (CN) 是指用戶端或伺服器的名稱。CN 還用於在 SSL 交換過程中比較憑證名稱和產生憑證的主機名稱。如果憑證名稱和主機名稱不符,則在 SSL 交換過程中會產生警告或異常。在某些範例中,為方便起見,使用憑證一般名稱 CN=localhost,以便所有使用者均可以使用該憑證,而不必使用其真實主機名稱建立新憑證。

以下小節中的範例說明了與使用 NSS 工具處理憑證相關的用法︰

使用 certutil 公用程式

憑證資料庫工具 certutil 是 NSS 指令行公用程式,可建立和修改 Netscape Communicator cert8.dbkey3.db 資料庫檔案。該公用程式還可以列出、產生、修改或刪除 cert8.db 檔案中的憑證,以及建立或變更密碼、產生新的公開和私密金鑰對、顯示金鑰資料庫的內容或刪除 key3.db 檔案中的金鑰對。

金鑰和憑證管理程序通常以在金鑰資料庫中建立金鑰開始,然後在憑證資料庫中產生和管理憑證。以下文件論述了如何使用 NSS (包括 certutil 公用程式的語法) 管理憑證和金鑰資料庫:http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

以下清單中的每個項目均提供了使用 NSS 和 JSSE 安全性工具建立和/或管理憑證的範例。

使用 pk12util 公用程式匯入和匯出憑證

pk12util 指令行公用程式用於以 PKCS12 格式在憑證/金鑰資料庫和檔案之間匯入與匯出金鑰和憑證。PKCS12 為公開金鑰加密標準 (PKCS) #12,個人資訊交換語法標準。如需有關 pk12util公用程式的說明,請至 http://www.mozilla.org/projects/security/pki/nss/tools/pk12util.html

使用 modutil 增加和刪除 PKCS11 模組

安全性模組資料庫工具 modutil 是指令行公用程式,用於管理 secmod.db 檔案或硬體記號中的 PKCS #11 (加密記號介面標準) 模組資訊。您可以使用此工具來增加和刪除 PKCS #11 模組、變更密碼、設定預設值、列出模組內容、啟用或停用槽、啟用或停用 FIPS-140-1 規範遵循,以及為加密作業指定預設提供者。此工具還可以建立 key3.dbcert7.dbsecmod.db 安全性資料庫檔案。如需有關此工具的更多資訊,請至 http://www.mozilla.org/projects/security/pki/nss/tools/modutil.html

詳細資訊