升级安全性
本主题总结了从 CICS® 的一个发行版迁移到另一个发行版时与安全性相关的操作。 强烈建议显示为可选的任何操作,因为它们是安全性增强功能。 此信息适用于所有当前受支持的 CICS TS 发行版,而不考虑当前发行版和目标发行版。
所有信息都引用 RACF®。 如果使用其他外部安全管理器,请参阅该产品的文档。 假定系统初始化参数 SEC 设置为 YES。
如果要从服务终了发行版升级,那么可能需要执行与当前服务终了发行版相关的其他操作。 您可以在 从服务终了发行版升级中找到用于从服务终了发行版迁移的其他升级操作。
升级操作
表 1 列出了升级到更高的 CICS 发行版时必须执行的操作,而不考虑当前发行版和目标发行版。 详细描述这些操作的部分使用 所有版本进行标记。
表 2 列出了依赖于当前发行版和目标发行版的操作。 详细描述依赖于版本的操作的部分还列出了适用的当前-目标对。
| 操作 | 必需还是可选? |
|---|---|
| 更新所有使用两位数字代码的资源定义 | 必需 |
| 查看正在使用的 TLS 协议和密码 | 可选 |
| 查看扩展对命令和资源安全性检查的影响 | 必需 |
| 向 RACF定义新类别 2 事务 | 必需 |
| 从 APPC PEM 迁移 | 如果要支持使用密码短语进行认证,那么必需 |
| 查看 REXX for CICS TS 的安全性定义 | 可选 |
| 当前版本 | 您的目标版本 | 操作 | 必需还是可选? |
|---|---|---|---|
6.2 或更早 |
6.3 | 新的终端交易代理检查 | 必需 |
6.1 或更低版本 |
6.2 或更高版本 |
迁移到使用 CICS 代理用户检入 JCL 作业提交 | 必需 |
6.1 或更低版本 |
6.2 或更高版本 |
查看安全性定义以进行命令和资源安全性检查 | 必需 |
6.1 或更低版本 |
6.2 或更高版本 |
增加 TLS 连接的最小密钥大小 | 必需 |
6.1 或更低版本 |
6.2 |
更新 IBM XML Toolkit for z/OS | 必需 (如果使用 WS-Security) |
更新所有使用两位数字代码的资源定义
所有版本
CICS 不再支持IPCONN、TCPIPSERVICE和URIMAP资源中的两位数字密码。 您必须重新定义这些资源,使用合适的密码文件,例如 defaultciphers.xml。 安装这些资源之一而不指定密码文件,会导致 CICS 使用 defaultciphers.xml 而不是资源定义中的 CIPHERS 值。 这些信息 DFHIS1060 , DFHSO0178 , DFHWB1561 分别针对每个受影响资源发布 IPCONN、TCPIPSERVICE 和 URIMAP 消息。
EXEC CICS WEB OPEN 未指定用于安全出站连接的URIMAP的and 命令将使用。 EXEC CICS INVOKE SERVICE defaultciphers.xml EXEC CICS WEB OPEN 命令不再支持使用 CIPHERS 和 NUMCIPHERS 选项。 这些选项将被忽略, CICS 将使用 defaultciphers.xml。 包含 EXEC CICS WEB OPEN CIPHERS NUMCIPHERS 命令的程序将在 DFHWB0768 消息中。 DFHWB0768 每个受影响的程序都会发出一次。
您需要查看 defaultciphers.xml 的内容,确保密码列表符合您的要求。
查看正在使用的 TLS 协议和密码
所有版本
TLS 协议的最新版本提供增强的安全性。 如果需要,您可能想要复审并升级 TLS 协议。 从 CICS TS 6.1起, CICS 引入了对 TLS 1.3的支持。 只要您位于 CICS TS 6.1 或更高版本,就可以随时启用 TLS 1.3 。 请参阅 在 CICS 中启用 TLS 1.3。 如果要从低于 CICS TS 6.1的发行版进行升级,那么必须先完成 CICS 升级,然后再启用 TLS 1.3。
另请查看 CICS正在使用的密码,包括密码套件规范文件中指定的密码以及直接在资源定义中编码的 2 数字密码列表 (如果有)。 建议您将弱密码更改为更强的密码,以提高入站和出站连接的安全性级别。 例如,从 CICS TS 6.2开始,将从 CICS提供的缺省密码套件规范文件 (defaultciphers.xml) 中除去使用 NULL ,三重 DES (3DES) 和 RC4 加密的密码套件。 如果您在先前发行版的 USSCONFIG/security/ciphers 中有自己的 defaultciphers.xml 的未更改副本,那么建议您将新版本从 USSHOME/security/ciphers 复制到 USSCONFIG/security/ciphers。 有关更多信息,请参阅 对样本的更改。
查看 REXX for CICS TS 的安全性定义
所有版本
如果重新安装 REXX for CICS,请查看其安全性定义。
REXX 事务在用作 CSD 输入的文件中定义。 它们使用缺省值 RESSEC 和 CMDSEC。 从 CICS TS 6.2起,缺省值设置为 RESSEC(YES) 和 CMDSEC(YES)。 虽然这不会影响 CSD 中的现有定义,但建议为 REXX for CICS 用户实现安全性定义。 有关更多信息,请参阅 REXX for CICS TS: CICS 命令和资源安全性。
查看扩展对命令和资源安全性检查的影响
所有版本
如果为 CICS 区域指定了 XCMD 系统初始化参数 (即,未设置为 NO) ,那么将应用命令安全性。 如果为 CICS 区域指定了任何 Xnnn SIT 参数,那么资源安全性适用。 CICS 发行版扩展受命于命令安全性检查和资源安全性检查的资源类型,其资源标识和关联命令。 请检查已更改的资源和命令。
向 RACF 定义新的类别 2 事务
所有版本
类别 2 事务由 CICS 用户启动或与 CICS 用户关联。 您必须向 RACF定义这些事务,并授权用户或用户组使用这些事务。 提供了样本 CLIST DFH$CAT2 以帮助执行此操作。 有关 CICS 事务的列表,请参阅 所有提供的事务和关联的安全类别。
从 APPC PEM 迁移
所有版本
对 CICS 高级程序对程序通信 (APPC) 密码过期管理 (PEM) 的支持已趋于稳定。 APPC PEM 服务器不支持密码短语。 要在使用 CICS Transaction Gateway 时支持使用密码短语进行身份验证,您必须从 APPC 迁移到 IP 互联 (IPIC),并更改应用程序代码以使用当前的外部安全接口 (ESI) API,如 CICS_VerifyPassword 和 CICS_ChangePassword (如产品文档中所述)。 CICS Transaction Gateway for Multiplatforms 和。 有关 APPC PEM 的信息可在以前版本的 CICS TS 文档中找到,例如 APPC 密码过期管理。
迁移到使用 CICS 代理用户检入 JCL 作业提交
此操作取决于当前发行版和目标发行版。
- 当前发行版: 6.1 或更低版本
- 您的目标发行版: 6.2 或更高版本
使用假脱机命令提交给内部阅读器的 JCL 作业的保护由代理用户检查提供。 当JOB卡未指定USER参数时,默认的工作用户ID 为 CICS TS 6.2 ,该ID受 INTRDRJOBUSER 系统初始化参数的影响。 默认情况下, INTRDRJOBUSER 代表任务用户ID。 然而,在 5.5、 5.6 和 6.1 中,默认的工作用户ID受功能切换 com.ibm.cics.spool.defaultjobuser 的影响,默认情况下,该功能切换会使用 CICS 区域的用户ID;因此,当您升级到 CICS TS 6.2 或更高版本时,请注意默认工作用户ID的变化。
通过 TDQ 提交的 JCL 作业的保护由 TDQ 上的资源安全性提供。 如果在 JOB 卡上指定了 USER 参数,那么将通过代理用户检查来提供其他保护。
从 CICS TS 6.2 ,代理用户检查 JCL 作业受 XUSER 系统初始化参数的影响,默认情况下启用。
- 请勿在客户应用程序中使用 CICS 区域用户标识来提交作业,因为该作业将有权访问 CICS 区域的所有资源。
- 请勿在 JOB 卡上使用密码。 而是使用代理访问权来保护 JCL 作业提交。
为了增强安全性,请迁移到使用 CICS 代理用户检查来保护 JCL 作业提交。 有两个选项:
在任一情况下,都需要在 JESSPOOL 类中具有 CICS 区域用户标识的概要文件,以授予区域用户标识针对作业用户标识提交作业的权限,而不管 CICS 代理用户检查是否处于活动状态。
- 选项 1: 迁移到由部分或所有应用程序提交的作业在任务用户标识下运行的配置
- 标识使用 SPOOLWRITE 的应用程序代码,并在 JCL 上提交不带 USER 选项的作业。
- 如果某些应用程序必须以 CICS 区域用户 ID 提交 JCL,请在 JOB 语句中添加 USER=&SYSUID。 您还必须授予任务用户标识代理权限,以代表作业用户标识提交作业。
- 确定允许运行这些应用程序的用户组。
- 定义代理检查以仅允许这组用户在 CICS 区域用户标识下提交 JCL。
- 标识允许运行其他应用程序的用户组,这些应用程序在 JCL 上没有 USER 选项的情况下提交作业。 假定这些将需要在任务用户标识下运行,并且具有执行此操作的权限。
- 确保为区域设置了 XUSER=YES 和 INTRDRJOBUSER=TASK (或它们的缺省值)。
- 测试新配置。
- 选项 2: 迁移至仍在区域用户标识下运行作业但仅具有授权的配置
- 标识使用 SPOOLWRITE 的应用程序代码,并在 JCL 上提交不带 USER 选项的作业。
- 确定允许运行这些应用程序的用户组。
- 定义代理检查以仅允许这组用户在 CICS 区域用户标识下提交 JCL。
- 授予任务用户标识代理权限以代表作业用户标识提交作业。
- 为区域设置 XUSER=YES 和 INTRDRJOBUSER=REGION 。
- 测试新配置。
- 需要哪些应用程序更改
使用 WRITEQ TD 在不使用 USER 选项的情况下提交作业的应用程序不需要任何应用程序更改。 仅当您在 TDQ 定义上指定 JOBUSERID 时,它们才需要 RACF 定义。
您需要定义其他代理检查,或者更改应用程序 (如果它在 JOB 卡上指定了 USER 选项) ,其用户标识与任务用户标识不同。
在 用于向内部阅读器提交 JCL 作业的安全性中了解更多详细信息。
查看安全性定义以进行命令和资源安全性检查
此操作取决于当前发行版和目标发行版。
- 当前发行版: 6.1 或更低版本
- 您的目标发行版: 6.2 或更高版本
为了符合零信任策略,从 CICS TS 6.2开始, CICS 事务 (不包括 CJXA 和 CICSPlex ® SM 事务 (CO* *)) 和 TRANSACTION 资源在缺省情况下都具有 CMDSEC(YES) 和 RESSEC(YES) 。 您可能需要更新某些事务的安全性定义。
- CMDSEC (YES) 和 RESSEC (YES) 对 CICS 和用户事务的影响
某些 CICS 类别 2 事务将接受命令和资源安全性检查,并且可能需要您重新配置安全性。 有关所需访问权的更多信息,请参阅 受安全性检查约束的CICS 事务。 如果无法正确配置安全性,那么应用程序可能无法像以前一样工作。
对于用户事务,在定义和添加新用户事务时,缺省情况下将打开 CMDSEC 和 RESSEC 以启用命令安全性和资源安全性检查。 这适用于定义事务资源的所有方法,包括 CREATE TRANSACTION SPI 命令、 CSD DEFINE TRANSACTION SPI 命令、在线资源定义 (RDO)、CSD 更新批处理实用程序 DFHCSDUP、 CICS 捆绑包、 CICS Explorer®、BAS、 CICS Transaction Server 资源构建器等等。 确保安全性定义为需要运行这些事务的用户以及这些事务所使用的命令和资源定义正确的访问权。
对于已在 CICS中定义的现有用户事务, CICS 不会自动启用命令安全性和资源安全性检查。 CICS 将先前保存的信息保留在 CICS 系统定义 (CSD) 文件中。 但是,建议您升级这些事务以增强应用程序的安全性。
- 更新安全性定义以实现命令和资源安全性
- 要确定资源安全性所需的安全性定义,可以在 CICS 测试区域中的手动或自动应用程序测试期间使用 CICS 安全性定义捕获 (SDC) ,安全性最低。注: CICS 安全性定义捕获仅标识实际运行的路径的安全性定义。 如果错误路径使用需要保护的其他资源,那么需要添加这些安全性定义。 识别这些路径需要某种形式的代码扫描。 如果您没有源代码,那么还可以使用 DFHEISUP 来识别需要保护的命令。
- 更新安全性定义后,运行 DFHCSDUP 实用程序以升级 CSD 并重新启动区域。 如果应用程序停止工作,那么将发出消息 DFHXS1111 和 DFHXS1117 以提供更多故障诊断信息。 您还可以使用 CICS 安全性请求记录 (SRR) 工具对更复杂的问题进行故障诊断。
- 覆盖 RESSEC (YES) 和 CMDSEC (YES)
对于 CICS 事务,如果希望覆盖新的安全检查行为并继续使用旧的事务定义,则 DFHCOMPK 和 DFHCOMK2 兼容性组包含以前版本的事务定义。 您可以创建该组的副本,并将事务定义复原到先前发行版的事务定义。 这仅适用于第 2 类交易。 第 1 类和第 3 类交易现在由 CICS 内部定义,不能修改。 这些交易没有额外的安全要求,因此 CMDSEC(YES) 和 RESSEC(YES) 的新设置不会导致任何行为变化。
对于用户事务,如果要覆盖此更改,那么在定义事务时需要显式设置 CMDSEC(NO) 和 RESSEC(NO) 。 例如,从程序发出 CREATE TRANSACTION CMDSEC(NO) RESSEC(NO) 。
增加 TLS 连接的最小密钥大小
此操作取决于当前发行版和目标发行版。
- 当前发行版: 6.1 或更低版本
- 您的目标发行版: 6.2 或更高版本
从 CICS TS 6.2起, CICS 在 TLS 握手期间使用最小密钥大小 256 (对于 ECC 密钥) 和 2048 (对于 RSA , DSA 和 Diffie-Hellman 密钥)。 TLS 握手中使用的所有证书必须具有至少为最小大小的密钥。 如果使用较小的密钥,那么 TLS 握手将失败,并发出带有返回码 508 的消息 DFHSO0123 。 您需要增大证书中的密钥大小。
如果要继续使用与先前发行版一样较小的最小密钥大小,请设置功能切换 com.ibm.cics.tls.minimumkeystrength=1024。
有关 CICS中使用的系统 SSL 值的更多信息,请参阅 设置 CICS的系统 SSL 环境。
更新 IBM XML Toolkit for z/OS
6.16.2
此操作取决于当前发行版和目标发行版。
- 当前发行版: 6.1 或更低版本
- 您的目标发布: 6.2
如果使用 WS-Security ,那么必须将 IBM® XML Toolkit for z/OS® 更新为 v1.11。
6.3 beta CICS TS 6.3 不支持使用 WS-Security 协议对 SOAP 消息进行签名和加密。 因此,从 CICS TS 6.3 版本开始, XML Toolkit for z/OS 已不再需要。