美国国家标准技术学会 (NIST) 特刊 800-131 标准加强了算法并增加了密钥长度以提高安全性。该标准还提供了用于移至新标准的转换期。可以配置 WebSphere® Application Server 以使用 SP800-131 标准转换方式。
开始之前
请阅读“WebSphere Application Server 安全性标准配置”主题,以获取有关安全性标准的更多背景信息。
关于此任务
转换期使用户可以在混合使用该标准下受支持和不受支持的设置的环境中运行。NIST SP800-131 标准要求配置用户以在特定的时间范围内进行标准的严格实施。请参阅
美国国家标准技术学会 Web 站点,以获取更多详细信息。
尝试移至 strict SP800-131 时,转换选项可能很有用。服务器可以接受旧设置和新要求的混合使用。例如,它们可以转换证书,但继续使用 TLS 协议。
可以将 WebSphere Application Server 配置为通过 transition 方式或 strict 方式运行 SP800-131。有关如何配置严格方式的信息,请阅读“配置 WebSphere Application Server 以使用严格方式 SP800-131 安全性标准”主题。
要以 SP800-131 转换方式运行,服务器还必须使用特定的配置设置。可以根据需要包含其他严格要求。
- 必须将 com.ibm.jsse2.sp800-131 系统属性设置为 transition,这样 JSSE 才能以转换方式运行。
- SSL 配置协议必须是某个 TLS 设置。有效值包括 TLS、TLSv1、TLSv1.1 和 TLSv1.2。
过程
- 单击。
- 选择启用 SP800-131 单选按钮。
- 选择转换单选按钮。
- 通过选中将 SSL 配置更新为需要 TLSv1.2 框,可以选择将 SSL 配置中的协议更改为 TLSv1.2。如果不选中此框,那么所有 SSL 配置都将设置为 TLS。
- 单击应用/保存。
- 重新启动服务器。 如果服务器启用了“动态 SSL 更新”,请编辑 ssl.client.props 文件并更改 com.ibm.ssl.protocol 属性,以便在重新启动服务器之前具有您已将服务器配置为具有的相同协议。
应用这些更改后,服务器将重新启动,服务器上的所有 SSL 配置将修改为使用 TLS 或 TLSv1.2 协议,并且 com.ibm.jsse2.sp800-131 系统属性将设置为 transition。SSL 配置使用与标准相应的 SSL 密码。
配置中的协议必须满足严格要求,然后才能移至严格方式证书。
通过执行以下操作,可以直接转至 SSL 配置并将协议设置为 TLSv1.2:
- 单击。
- 从集合面板中选择 SSL 配置。
- 在“相关项”下,选择保护质量 (QoP)。
- 从标注为“协议”的下拉框中选择 TLSv1.2。
- 单击应用/保存。 要使用脚本编制更改 SSL 协议,还可以使用 modifySSLConfig 任务。
证书的大小必须至少为 2048(对于椭圆曲线证书至少为 244),并使用 SHA256、SHA384 或 SHA512 签名。可以在控制台上创建新证书并替换旧证书,或导入符合标准要求的证书。
可以使用多个选项来替换证书。
- 使用“转换证书”面板。此面板将转换所有证书以满足指定的标准。
- 单击。
注: 如果标注为无法转换的证书的框中存在任何证书,那么无法使用此选项来转换证书。
- 选择严格单选按钮,并从下拉框中选择创建新证书时要使用的 signatureAlgorithm。
- 从标注为新的证书密钥大小的下拉框中选择证书的大小。请注意,椭圆曲线签名算法需要特定的大小,因此无需提供大小。
- 单击应用/保存。
还可以使用 convertCertForSecurityStandard 脚本编制任务来转换所有证书以满足指定的标准。
- 通过执行以下操作,使用个人证书面板来创建新证书并替换不符合要求的证书:
- 单击。
- 从集合面板中选择密钥库。
- 选择个人证书。
- 从“创建”按钮上的下拉列表中,选择自签名证书。
- 输入证书的别名。为使用 SHA256、SHA384 或 SHA512 签名的证书选择签名算法。选择 2048 或更大的大小。请注意,椭圆曲线签名算法需要特定的大小,因此无需指定大小。
- 单击应用/保存。
- 返回至“个人证书”集合面板,然后选择不满足标准的证书。单击替换。
- 在“替换”面板上,从标注为替换为的框中的下拉列表选择符合标准的已创建证书。
- 选中在替换后删除旧证书和删除旧签署者框。
- 单击应用/保存。
注: 要替换链式证书,必须创建满足标准的根证书。遵循 defaultRootStore 中根证书的先前导航路径,然后使用该新根证书来创建链式证书。
还可以使用 createSelfSigneCertificate 脚本编制任务来创建自签名证书。还可以使用 replaceCertificate 脚本编制任务将旧证书替换为新证书。
- 使用个人证书面板来导入新证书并替换不符合要求的证书。某些证书来自外部源,如认证中心 (CA)。
- 单击。
- 从集合面板中选择密钥库。
- 选择个人证书。
- 选择导入证书。
- 输入访问现有密钥库文件中的证书所需的信息。
- 单击应用/保存。
- 返回至“个人证书”集合面板,然后选择不满足标准的证书。单击替换按钮。
- 在“替换”面板上,从标注为替换为的框中的下拉列表选择符合标准的已创建证书。选中在替换后删除旧证书和删除旧签署者框。
- 单击应用/保存。
还可以使用 importCertificate 脚本编制任务来导入证书。还可以使用 replaceCertificate 脚本编制任务将旧证书替换为新证书。
- 要启用严格 SP800-131,请单击。
- 单击启用 SP800-131。
- 单击严格。
- 单击应用/保存。
- 重新启动服务器并手动同步节点以使更改生效。 要手动同步节点,您可能需要修改每个节点的点的 ssl.client.props 文件,以与 Deployment Manager 的协议相匹配。编辑每个节点的 ssl.client.props 文件并更改 com.ibm.ssl.protocol 属性,以与 Deployment Manager 的协议相匹配,以便可以手动同步节点。
- 配置 client ssl.client.props 文件,以与您正在采用的安全性标准(严格方式或者过渡方式)相匹配。
编辑
ssl.client.props 文件,如下所示:
- 修改 com.ibm.security.useFIPS 属性,将其设置为 true。
- 就在 useFips 属性之后添加 com.ibm.websphere.security.FIPSLevel 属性。如果启用了严格方式,请将此属性设置为 SP800-131;如果启用了过渡方式,请将此属性设置为 transition。
- 如果启用了严格方式,请将 com.ibm.ssl.protocol 属性更改为 TLSv1.2。如果启用了过渡方式,请确保该属性与服务器协议设置相匹配。
- 重新启动服务器,并以手动方式使节点同步。
您所作的更改要在节点同步之后才会生效。
如果您正在集群环境中运行:
- 请确保已关闭管理控制台。
- 请确保服务器上没有任何 JVM 在运行:
- 停止所有服务器。
- 停止 Node Agent。
- 停止 Deployment Manager。
- 清除 temp 文件夹中的所有内容。
<profile_root>/wstemp/
<profile_root>/temp/
<profile_root>/config/temp/
<profile_root>/logs/dmgr/
<profile_root>/servers/nodeagent/configuration/
<profile_root>/servers/<server_name>/configuration/
- 通过运行 osgiCfgInit 来初始化 OSGi 配置。
was_profile_root/profile/bin/osgiCfgInit.bat
Profile is your dmgr01/bin profile.
- 通过运行 clearClassCache 来清除 OSGi 类高速缓存。
was_profile_root/profile_name/bin/clearClassCache.bat
其中 profile_name 是 dmgr01/bin 概要文件。
- 启动 Deployment Manager。
- 以手动方式使节点同步。
- 如果 wsadmin 工具未在运行,请启动该工具。
- 从 was_home/profiles/profile_name/bin 中发出以下 syncNode 命令。
syncNode
dmgr_host dmgr_port
其中 profile_name 是 dmgr01/bin 概要文件。
如果启用了安全性,那么在发出此命令时要包括 -username 和 -password 参数:
syncNode
dmgr_host dmgr_port -username user_name -password
pass_word
- 启动 Node Agent。
- 启动所有其他服务器。
下一步做什么
用于访问管理控制台或应用程序的浏览器必须使用与服务器兼容的协议。如果服务器以转换方式运行,那么必须将浏览器设置为使用与该服务器匹配的协议。SP800-131 标准要求 SSL 连接使用 TLSv1.2 协议,因此该浏览器必须支持 TLSv1.2 并且使用该协议来访问管理控制台。