2.2 安全性

從生產前的作業移至生產過程通常涉及加強系統的安全性。 在沙箱測試中,您可能已使用一般 HTTP 將使用者應用程式驅動程式連接至 JBoss,或者已使用自行簽署的證書 (做為暫時措施),以進行驅動程式/應用程式伺服器通訊。 另一方面,在生產過程中,您可能會使用安全連接,根據公司的 Verisign (或其他託管提供者) 證書進行伺服器驗證。

通常,在 Identity Manager 使用者應用程式環境中,許多地方都會用到 X.509 證書,如下圖所示。

描述: 描述: 圖例

使用者應用程式與身份儲存區之間的所有通訊都是安全的,且預設使用「輸送層安全性」。 在安裝時,會自動將身份儲存區 (eDirectory) 證書安裝至 JBoss KeyStore 中。 除非另外指定,否則使用者應用程式安裝程式會將 eDirectory 證書的副本置於 JRE 的預設 cacerts 儲存區中。

如圖所示,為了保障通訊的安全,伺服器證書需要置於數個位置。 視您是要在圖中的不同 JBoss cert 方塊使用自行簽署的證書,還是要 (改為) 使用託管證書權限 (Certificate authority,CA) 所發出的證書 (如 Verisign),可能需要採取不同的步驟。

自行簽署的證書

如果您是使用來自知名託管發證者 (例如,Verisign) 的證書,則無需特殊的組態設定步驟。 但是,如果您想要建立並使用自行簽署的證書,則需要執行下列步驟:

  1. 使用類似於下列內容的指令行語法,以自行簽署的證書建立 KeyStore:

    keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=JBoss,ou=exteNd,o=Novell,l=Waltham,s=MA,c=US" -keypass changeit
    

    請注意,您正在建立檔案 jboss.jks 和證書。

  2. 將 KeyStore 檔案 (jboss.jks) 複製到 JBoss 使用者應用程式目錄,例如:

    cp jboss.jks ~/jboss-4.0.2/server/spitfire/conf
    

在 JBoss 中開啟 SSL

若要在 JBoss 中啟用保全插槽層 (Secure Socket Layer,SSL),請尋找 [IDM]/jboss/server/IDM/deploy/ 下的 jbossweb-tomcat55.sar 檔案。 您可以在其中找到 server.xml,並在文字編輯器中開啟該檔案。 新增類似於下列內容的區段或取消其註解,以啟用保全插槽層 (SSL):

<Connector port="8443" address="${jboss.bind.address}" maxThreads="100" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/spitfire/conf/jboss.jks" keystorePass="changeit" sslProtocol = "TLS" />

開啟 SOAP 安全性

IDM.war 中,找到 web.xml 檔案並在文字編輯器中開啟它。 在檔案的底部,取消下列區段的註解:

<security-constraint> <web-resource-collection> <web-resource-name>IDMProv</web-resource-name> <url-pattern>/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> <description>IDM Provisioning Edition</description> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport guarantee> </user-data-constraint> </security-constraint>

儲存檔案和歸檔。 重新啟動 JBoss。

2.2.1 相互驗證

Identity Manager 使用者應用程式支援傳統的伺服器驗證案例 (通常用於 Web 上安全網頁的 https 會期中),但是不支援內建的證書式雙向驗證。 不過,您可以使用 Novell iChain 取得該功能。 因此,如果 (例如) 您的組織需要讓使用者透過使用者證書 (而不是透過密碼) 登入,則您可藉由將 iChain 新增至環境來達成。

如需相關資訊,請洽詢 Novell 代表。