z/OS IBM CICS Transaction Server for TSS STIG Version Comparison
z/OS IBM CICS Transaction Server for TSS 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 information gathered from the CICS Systems Programmer’s Programmer's Worksheet 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 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.
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 listed 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 are listed 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 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 : SNSCOPE=NONE is only allowed with test/development regions.