IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

在IBM Workplace Collaboration Services上启用SSL端到端

2005年12月02日
/

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 屏幕
Security Alert 屏幕

该窗口是一个标准的浏览器功能,并且表明正在访问安全证书,同时已经根据浏览器的可接受证书列表对该安全证书进行了验证。出现该窗口即表明正在使用 SSL。单击 Yes 并继续后面操作。

显示了 HTTP 服务器欢迎页面之后,请查看浏览器任务栏上的 Lock 指示器。图 8 显示了该指示器在 Internet Explorer 中的样子:


图 8. Lock 指示器
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,确保公司最敏感信息的安全性和完整性。


发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

以不变应万变 网络虚拟化应对园区网新挑战
以不变应万变 网络虚拟化应对园区网新挑战Forrester Research的分析师Robert Whiteley认为: “十年以来,虚拟化技术与网络...
OpenShift加入更多新元素 友好面对开发者
OpenShift加入更多新元素 友好面对开发者通过网络进行程序提供的服务称之为SaaS(Software as a Service),而将服务器平台...

本类热点