z/OS IBM CICS Transaction Server for RACF STIG Version Comparison
z/OS IBM CICS Transaction Server for RACF Security Technical Implementation Guide
Comparison
There are 4 differences between versions v6 r7 (Jan. 27, 2022) (the "left" version) and v6 r9 (April 27, 2023) (the "right" version).
Check ZCIC0030 was changed between these two versions. Green, underlined text was added, red, struck-out text was removed.
The regular view of the left check and right check may be easier to read.
Text Differences
Title
CICS System Initialization Table (SIT) parameter values must be specified in accordance with proper security requirements.
Check Content
Refer to the following report produced by the z/OS Data Collection: - Collection: - EXAM.RPT(CICSPROC) Refer EXAM.RPT(CICSPROC) Refer to the following report produced by the CICS Data Collection: - Collection: - CICS.RPT(DFHSITxx) Refer CICS.RPT(DFHSITxx) Refer to the CICS Systems Programmer Worksheets filled out from previous vulnerability ZCIC0010. Refer to the CICS region SYSLOG - (Alternate source of SIT parameters) be sure to process DFHSIT based on the order specified. The system initialization parameters are processed in the following order, with later system initialization parameter values overriding those specified earlier. CICS system initialization parameters are specified in the following ways: ways: - In the system initialization table, loaded from a library in the STEPLIB concatenation of the CICS startup procedure. procedure. - In the PARM parameter of the EXEC PGM=DFHSIP statement of the CICS startup procedure. procedure. - In the SYSIN data set defined in the startup procedure (but only if SYSIN is coded in the PARM parameter). Ensure the following CICS System Initialization Table (SIT) parameter settings are specified for each CICS region. If the following guidance is true, this is not a finding. ___ SEC=YES finding. ___ SEC=YES - If SEC is not coded in the CICS region startup JCL, go to offset x’117’ x'117' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the security byte flag. Below is the hex and bit settings for this flag. X’80’ flag. X'80' EQU B’10000000’ B'10000000' External Security Requested ___ DFLTUSER=<parameter> Requested ___ DFLTUSER=<parameter> - If DFLTUSER is not coded in the CICS region startup JCL, go to offset x’118’ x'118' from the beginning on the SIT dump (record sequence number - 6) for a length of 8 bytes. The value will be the CICS default userid. ___ XUSER=YES userid. ___ XUSER=YES - If XUSER is not coded in the CICS region startup JCL, go to offset x’117’ x'117' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the security byte flag. Below is the hex and bit settings for this flag. X’04’ flag. X'04' EQU B’00000100’ B'00000100' Surrogate User Checking required ___ required ___ SNSCOPE=NONE|CICS|MVSIMAGE|SYSPLEX SNSCOPE=NONE|CICS|MVSIMAGE|SYSPLEX - If SNSCOPE is not coded in the CICS region startup JCL, go to offset x’124’ x'124' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the signon scope byte flag. Ensure that users cannot sign on to more than one CICS production region within the scope of a single CICS region, a single z/OS image, or a sysplex. Below are listed the hex and bit settings for this flag: X’01’ flag: X'01' EQU 1 SIGNON SCOPE = NONE X’02’ NONE X'02' EQU 2 SIGNON SCOPE = CICS X’03’ CICS X'03' EQU 3 SIGNON SCOPE = MVSIMAGE X’04’ MVSIMAGE X'04' EQU 4 SIGNON SCOPE = SYSPLEX Note: SNSCOPE=NONE is only allowed with test/development regions. ___ XTRAN=YES|ssrrTRN regions. ___ XTRAN=YES|ssrrTRN - If XTRAN is not coded in the CICS region startup JCL, go to offset x’CA’ x'CA' from the beginning on the SIT dump (record sequence number - 6) for a length of 7 bytes. The value will be the resource class name used for that region. If XTRAN=YES is coded, c’CICSTRN’ c'CICSTRN' will be present. ___ SECPRFX=YES present. ___ SECPRFX=YES - If SECPRFX is not coded in the CICS region startup JCL, go to offset x’117’ x'117' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the security byte flag. Below are the hex and bit settings for this flag. X’40’ flag. X'40' EQU B’01000000’ B'01000000' Resource Prefix Required If XTRAN=ssrrTRN is specified, resource prefixing (e.g., SECPRFX=YES) is not required to be enabled. Also, CICS regions cannot share the same resource class if resource prefixing is not active.
Discussion
The CICS SIT is used to define system operation and configuration parameters of a CICS system. Several of these parameters control the security within a CICS region. Failure to code the appropriate values could result in unexpected operations and degraded security. This exposure may result in unauthorized access impacting the confidentiality, integrity, and availability of the CICS region, applications, and customer data.
Fix
Ensure that CICS System Initialization Table (SIT) parameter values are specified using the following guidance. The system initialization parameters are processed in the following order, with later system initialization parameter values overriding those specified earlier. CICS system initialization parameters are specified in the following ways: In the system initialization table, loaded from a library in the STEPLIB concatenation of the CICS startup procedure. In the PARM parameter of the EXEC PGM=DFHSIP statement of the CICS startup procedure. In the SYSIN data set defined in the startup procedure (but only if SYSIN is coded in the PARM parameter). SEC=YES - If SEC is not coded in the CICS region startup JCL, go to offset x’117’ x'117' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the security byte flag. Below are is the hex and bit settings for this flag. X’80’ flag. X'80' EQU B’10000000’ B'10000000' External Security Requested <<=== X’40’ <<=== X'40' EQU B’01000000’ B'01000000' Resource Prefix Required X’10’ Required X'10' EQU B’00010000’ B'00010000' RACLIST class APPCLU required X’08’ required X'08' EQU B’00001000’ B'00001000' ESM INSTLN data is required X’04’ required X'04' EQU B’00000100’ B'00000100' Surrogate User Checking required X’02’ required X'02' EQU B’00000010’ B'00000010' Always enact resource check X’01’ check X'01' EQU B’00000001’ B'00000001' Always enact command check DFLTUSER=<parameter> - If DFLTUSER is not coded in the CICS region startup JCL, go to offset x’118’ x'118' from the beginning on the SIT dump (record sequence number - 6) for a length of 8 bytes. The value will be the CICS default userid. XUSER=YES - If XUSER is not coded in the CICS region startup JCL, go to offset x’117’ x'117' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the security byte flag. Below is the hex and bit settings for this flag. X’80’ flag. X'80' EQU B’10000000’ B'10000000' External Security Requested X’40’ Requested X'40' EQU B’01000000’ B'01000000' Resource Prefix Required X’10’ Required X'10' EQU B’00010000’ B'00010000' RACLIST class APPCLU required X’08’ required X'08' EQU B’00001000’ B'00001000' ESM INSTLN data is required X’04’ required X'04' EQU B’00000100’ B'00000100' Surrogate User Checking required <<=== X’02’ <<=== X'02' EQU B’00000010’ B'00000010' Always enact resource check X’01’ check X'01' EQU B’00000001’ B'00000001' Always enact command check SNSCOPE=NONE|CICS|MVSIMAGE|SYSPLEX If SNSCOPE is not coded in the CICS region startup JCL, go to offset x’124’ x'124' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the signon scope byte flag. Ensure that users cannot sign on to more than one CICS production region within the scope of a single CICS region, a single z/OS image, or a sysplex. Below are the hex settings for this flag: X’01’ flag: X'01' EQU 1 SIGNON SCOPE = NONE X’02’ NONE X'02' EQU 2 SIGNON SCOPE = CICS X’03’ CICS X'03' EQU 3 SIGNON SCOPE = MVSIMAGE X’04’ MVSIMAGE X'04' EQU 4 SIGNON SCOPE = SYSPLEX Note: SNSCOPE=NONE is only allowed with test/development regions. XTRAN=YES|ssrrTRN - If XTRAN is not coded in the CICS region startup JCL, go to offset x’CA’ x'CA' from the beginning on the SIT dump (record sequence number - 6) for a length of 7 bytes. The value will be the resource class name used for that region. If XTRAN=YES is coded, c’CICSTRN’ c'CICSTRN' will be present. SECPRFX=YES - If SECPRFX is not coded in the CICS region startup JCL, go to offset x’117’ x'117' from the beginning on the SIT dump (record sequence number - 6) for a length of 1. This is the security byte flag. Below are the hex and bit settings for this flag with the resource prefixing setting bolded: X’80’ bolded: X'80' EQU B’10000000’ B'10000000' External Security Requested X’40’ Requested X'40' EQU B’01000000’ B'01000000' Resource Prefix Required <<=== X’10’ <<=== X'10' EQU B’00010000’ B'00010000' RACLIST class APPCLU required X’08’ required X'08' EQU B’00001000’ B'00001000' ESM INSTLN data is required X’04’ required X'04' EQU B’00000100’ B'00000100' Surrogate User Checking required X’02’ required X'02' EQU B’00000010’ B'00000010' Always enact resource check X’01’ check X'01' EQU B’00000001’ B'00000001' Always enact command check Note: If XTRAN=ssrrTRN is specified, resource prefixing (e.g., SECPRFX=YES) is not required to be enabled. Also, CICS regions cannot share the same resource class if resource prefixing is not active.