SSL(安全套接字層)是一種用來在 Web 和其他網絡上傳輸機密信息的協議。SSL 使用私鑰對數據進行加密,然后在加密狀態下傳送數據。隨后在目標服務器上使用相同的私鑰對數據進行解密。對于許多環境,SSL 是整體安全策略的一個重要組件。(您可能已經注意到了,那些需要 SSL 連接的站點的 URL 通常是以 HTTPS 開始的,而不是 HTTP。)
作為發行 IBM Workplace Collaboration Services 2.5 前進行的測試的一部分,我們在服務器上配置了 SSL 安全性,以便在受保護的環境下測試 IBM Workplace Collaboration Services 的通訊功能。這樣做是想確保 IBM Workplace Collaboration Services 在啟用 SSL 的情況下和沒有啟用 SSL 的情況下都能正常運行。我們將運行腳本并對啟用 SSL 的服務器進行測試,然后在沒有 SSL 的情況下運行相同的測試。為實現這一點,我們為 IBM Workplace Collaboration Services 設置了一個完整的 SSL 環境。
本文回顧了我們設置 IBM Workplace Collaboration Services SSL 環境的經驗。這里提供的指導是建立在最初由 Workplace Collaboration Services Infrastructure 團隊開發的內部配置過程基礎之上的。我們從解釋如何在 HTTP 服務器上啟用 SSL 開始。然后討論如何在 Workplace Collaboration Services 自身中啟用 SSL。最后通過描述如何設置最簡單的測試來驗證新 SSL 連接,以此結束本文。我們的目的是幫助有經驗的系統管理員(特別是那些具有 SSL 經驗的系統管理員)使用 SSL 設置其 Workplace Collaboration Services 站點。
我們的過程是以我們在 Windows 2000 服務器上設置 SSL 的經驗為基礎的。這些指導過程也適用于 AIX 和 Linux 服務器,只是在文件名和位置上稍微有些區別。(有關這些區別的幫助信息,請查閱平臺文檔。)
為 Workplace Collaboration Services 設置 SSL 的第一步是創建密鑰,服務器利用此密鑰進行互相驗證??梢岳?IBM 的 ikeyman 工具實現這一點,在安裝 Workplace Collaboration Services 隨附的 IBM HTTP 服務器時將安裝此工具。
要創建密鑰和相關的數據庫和文件,請遵循下列步驟。(這些說明假設 Workplace Collaboration Services 服務器位于不受保護的環境中。要將 Workplace Collaboration Services 與現有的 SSL 環境集成,請轉至本文后面的“將 Workplace Collaboration Services 服務器集成到現有 SSL 密鑰數據庫中”小節。)
要創建自簽名數字證書,請轉至 Key Management 菜單,然后單擊 Signer Certificates。(該選項剛好位于 CA 列表上。)然后選擇 Personal Certificates。如果還沒有創建任何個人證書,應該會看到一個空列表,如圖 3 所示:
圖 3. 個人證書

單擊 New Self-Signed 按鈕,將下列信息輸入到圖 4 中:
圖 4. 輸入自簽名證書信息

該對話框的其余字段是可選的。但是我們建議您填寫盡可能多的字段。然后單擊 OK。您應該可以看到列表中新創建的數字證書(參見圖 5):
圖 5. 新證書

關閉 Key Manager 實用程序。
在前一小節中,我們討論了如何為 Workplace Collaboration Services 站點創建新的 SSL 密鑰文件。這一小節將描述如何將 Workplace Collaboration Services 合并到現有 SSL 環境中。
在您的 HTTP 服務器上,轉到 <IHS_ROOT> 文件夾,如果不存在名為 ssl\keys 的文件夾,則創建一個這樣的文件夾。(默認情況下,<IHS_ROOT> 目錄為 C:\Program Files\IBMHttpServer。如果在安裝 WebSphere Application Server 時,選擇的是默認設置,則新創建的文件夾將為 C:\Program Files\IBMHttpServer\ssl\keys。)
從當前的 SSL 密鑰數據庫管理員那里獲取下列文件(假設 ikeyman 是用于創建密鑰和數據庫的):<filename>.sth、<filename>.kdb、<filename>.rdb 和 <filename>.crl。文件名并不是很關鍵,關鍵的是那些將文件標識為 ikeyman 的擴展名:
![]() |
|
接下來需要更新 HTTP 服務器配置文件來使用 SSL。下列過程調整了用于 IBM HTTP 服務器的文件。如果您使用的是其他服務器,請查閱產品文檔以找到實現 SSL 的正確方法。
編輯 httpd.conf 文件之前,請進行備份,以便在出現錯誤的情況下可以還原。然后在您喜歡的文本編輯器中打開 httpd.conf 文件(該文件位于 <IHS_ROOT>\conf 文件夾下),將下列行追加到文件結尾處(這些行表示將為 IBM HTTP 服務器 1.3.26 添加的設置):
|
使用 IBM HTTP 服務器的全限定主機名替換 HOST_MACHINE 的所有實例,例如,intlcontact.sales.acme.com。由此得到的 httpd.conf 文件應該在文件的末尾包含下列文本,以便系統可以使用 intlcontact.sales.acme.com HTTP 服務器。第一個例子適用于 IBM HTTP 服務器 1.3.26 的 Windows 上的自簽名證書;第二個例子適用于 IBM HTTP 服務器 2.0.42。
第一個例子:
|
第二個例子:
|
密鑰文件 path/name 組合是先前設置的 path/name,正如在前一小節“在 HTTP 服務器上啟用 SSL”中所描述的那樣。
完成這些更改后,保存并關閉 httpd.conf。然后重新啟動 HTTP 服務器,使這些更改生效。要在 Windows 下實現這一點,請打開 Services 窗口,重新啟動 IBM HTTP Server 服務。重新啟動 HTTP 服務器之后,可以通過在瀏覽器屏幕上鍵入 URL https://<yourservername> 來測試服務器是否仍然在運行,確保能看到帶有鎖定圖標的 IBM HTTP Server 配置屏幕,該圖標表明這是一個安全的 SSL 會話。如果沒有,請檢查對 http.conf 文件所做的更改是否有輸入錯誤。如果這樣還不能解決問題,請查閱產品文檔。
![]() |
|
必須將所創建的 IBM HTTP 服務器證書導入到 IBM WebSphere Application Server 服務器信任存儲和 WebSphere Application Server Java 信任存儲中。Workplace Team Collaboration 將同時使用 WebSphere Portal Server 的 IBM WebSphere Portal Content Publishing (WPCP) 組件和 IBM WebSphere Portal Document Manager (PDM) 組件。必須將用來服務于 Workplace Collaboration Services 的所有 IBM HTTP 服務器的 HTTP 服務器證書作為簽名者證書導入到任意 Workplace Collaboration Services 的 Jave 信任存儲中,這些 Workplace Collaboration Services 支持 WebSphere Application Servers 的 WPCP 和 PDM 服務。
默認情況下,WebSphere Application Server 會提供一個偽服務器信任文件 (DummyServerTrustFile.jks)。 定義了如何創建自己的服務器信任文件 (WASV5ServerTrustFile.jks) 和服務器密鑰文件 (WASV5ServerKeyFile.jks)。有關創建這些文件的過程,請參閱 。
要將 IBM HTTP 服務器證書導入到 WebSphere Application Server 信任存儲中,請執行下列步驟。
注意:該過程只適用于從 IBM HTTP 服務器導入證書。實現這一點的實用程序會隨 HTTP 服務器的變化而變化;IBM HTTP Server 的 IKEYMAN 實用程序在其他 HTTP 服務器中將不可用。
![]() |
|
要在 IBM Workplace Collaboration Services 中啟用 SSL,需要將運行在 WebSphere Application Server 之上的 IBM Workplace Collaboration Services 配置為運行在 SSL 之下??梢酝ㄟ^以管理員的身份登錄到 WebSphere Application Server 管理控制臺來做到這一點。(通常,Administration Console 的地址為 http://servername.yourco.com:9091/admin。)然后執行下列步驟:
注意:有些 web.xml 文件包含多個 <transport-guarantee> 標記實例,需要對其進行編輯。
![]() |
|
通過將 ssl=“true” 添加到鏈接的 <wps:url> 標記中來編輯下列 JavaServer Pages (JSP)。(有一個文件例外:編輯 <was_root>/installedApps/<cellname>/wps.ear/wps.war/themes/html/ToolBarInclude.jsp- 時,只需將其現有值從 false 改為 true 即可,無需添加 ssl=“true”)如果使用了代理服務器,則應該將代理服務器的 DNS 名稱定義為 PortalServer/shared/app/config/services/ConfigService.properties 中的 host.name 參數。(這些 JSP 為登錄按鈕提供了到標記的登錄鏈接,例如,<a href='<wps:url home="public" screen="Login" ssl="true"/>'>。必須編輯下列必需的 JSP;其他 JSP 是可選的:
必需的:
|
可選的:
|
在所有這些文件中,應該有一個登錄鏈接實例。通過對文件進行簡單的搜索應該可以快速找到該設置。該屬性應該出現在一個鏈接中,如下所示:
找到登錄鏈接后,添加 ssl= 屬性并將其設置為 true,例如:
|
編輯完所有的 JSP 文件之后,需要刪除編譯后的文件,這些文件由 WebSphere Application Server 使用。要實現這一點,請轉到 WebSphere Application Server 緩存目錄 <WAS_ROOT>/temp/<node_name>/WebSphere_Portal/wps,然后移除子目錄 wps.war。重新啟動 Workplace Collaboration Services 服務器時,將重新編譯 JSP 文件并重新創建目錄,這時可以配置 SSL。
將下列屬性文件中 wpcp.serverUrl 的值更改為通過 HTTPS 進行連接,默認情況下,它被設置為通過 HTTP 進行連接。具體地說,更改 wpcp.serverUrl 值是通過刪除 :9081 端口值,并將 http 改為 https 實現的:
更改為
|
將下列屬性文件中 workplaceurl.serverUrl 的值改為通過 HTTPS 進行連接,默認情況下,它被設置為通過 HTTP 進行連接。具體來說,更改 workplaceurl.serverUrl 值是通過刪除 :9081 端口值,并將 http 改為 https 實現的:
更改為
重新啟動所有的服務器。現在需要重新啟動與 Workplace Collaboration Services 相關聯的所有服務器,以確保剛才所做的更改是正確的。使用適當產品文檔隨附的指南,啟動 WebSphere Portal 服務器、Workplace Collaboration Services 服務器,最后啟動 HTTP 服務器。
![]() |
|
將 SSL 完全配置為想要的級別后,還需要執行一些簡單的步驟來檢查 SSL 連接。首先,通過 SSL 端口 443 找到 HTTP 服務器??梢酝ㄟ^輸入 URL https://<server name>:443 實現這一點,其中 <server name> 是 HTTP 主機的名稱。在該 URL 中,要注意 https 中的 s,并且端口被設置為 443。系統會顯示一個類似于圖 7 的窗口:
圖 7. Security Alert 屏幕

該窗口是一個標準的瀏覽器功能,并且表明正在訪問安全證書,同時已經根據瀏覽器的可接受證書列表對該安全證書進行了驗證。出現該窗口即表明正在使用 SSL。單擊 Yes 并繼續后面操作。
顯示了 HTTP 服務器歡迎頁面之后,請查看瀏覽器任務欄上的 Lock 指示器。圖 8 顯示了該指示器在 Internet Explorer 中的樣子:
圖 8. Lock 指示器

如果 Lock 圖標處于關閉狀態,則表明站點受到保護,SSL 正在 HTTP 服務器上運行。
接下來,檢查 Workplace Collaboration Services。開始一個 Workplace Collaboration Services 會話 (http://yourservername.com/lwp/workplace),然后單擊鏈接中的 Log。系統可能會再次顯示 Security Alert 窗口。如果出現這個窗口,則單擊 Yes 并繼續后面的操作。這時,檢查瀏覽器中顯示的 URL。HTTP 前綴應該被替換為 HTTPS,并且鎖定指示器應該是可見的。這表明 Workplace Collaboration Services 的基本操作和登錄操作都已經受到保護。
![]() |
|
希望這些設置用于 Workplace Collaboration Services 的 SSL 的過程和建議能對您有所幫助。SSL 通常是站點整體安全性的一個重要部分,很多系統管理員都想確保他們可以部署啟用了 SSL 的 Workplace Collaboration Services。我們的經驗表明,需要經過一番努力才能實現這一點,您可以使用 SSL 設置 Workplace Collaboration Services,確保公司最敏感信息的安全性和完整性。