REXX for CICS TS: Visión general de la seguridad

REXX for CICS® TS puede considerarse como una versión más sofisticada del intérprete de comandos a nivel de transacción (CECI) CICS. La transacción REXX (utilizada para emitir ejecuciones REXX), al igual que la transacción CECI, puede controlarse utilizando la seguridad de transacciones CICS. La transacción REXX puede estar ampliamente disponible, o puede estar limitada a unos pocos individuos, dependiendo de la naturaleza de la región CICS en la que se esté ejecutando.

Nota: La transacción REXX no es necesaria para ejecutar ejecutables REXX existentes, pero sí lo es si los usuarios o programadores desean tener la posibilidad de crear o modificar ejecutables REXX y luego probarlos.

Seguridad de comandos y recursos CICS para transacciones REXX

REXX for CICS TS es independiente de la versión de CICS. Sus transacciones se definen en un fichero que se utiliza como entrada del DCV. Utilizan los valores por defecto de RESSEC y CMDSEC. A partir de CICS TS 6.2, los valores por defecto son RESSEC(YES) y CMDSEC(YES).

Por lo tanto, si importa definiciones REXX for CICS al CSD a partir de CICS TS 6.2, tiene dos opciones:
  1. Implemente definiciones de seguridad para REXX for CICS, como se describe en Seguridad de comandos y recursos CICS para transacciones REXX.
  2. Cambie las definiciones importadas para especificar explícitamente RESSEC(NO) y CMDSEC(NO). Esto no es recomendable en un sistema de producción.

Para las definiciones existentes en su CSD, CICS TS 6.2 no las modifica. Sin embargo, se recomienda implementar RESSEC(YES) y CMDSEC(YES) como parte de su estrategia de confianza cero, al menos para las regiones de producción.

Soporte para múltiples identificadores de transacción

REXX for CICS TS admite la capacidad de asociar identificadores de transacciones (TRANID), distintos de REXX, con el programa de soporte REXX for CICS TS. En este caso, el nombre de la ejecución REXX que se emite viene determinado por una orden DEFTRNID anterior. Esto le permite seguir utilizando la seguridad de las transacciones con REXX en cada ejecución.

Seguridad de los ficheros

El acceso a nivel de directorio RFS se controla con el comando RFS AUTH y la salida de seguridad reemplazable RFS.

El acceso a execs autorizados accedidos por el ddname CICAUTH es controlado por el parámetro AUTH en los comandos DEFCMD y DEFSCMD.

El acceso a los conjuntos de datos asignados dinámicamente se controla mediante la salida de seguridad reemplazable del conjunto de datos.

Seguridad a nivel de mando

La seguridad a nivel de comandos puede utilizarse para controlar el acceso a las instalaciones de CICS (y de otros productos o sistemas).

En algunas situaciones, las prácticas de software actuales limitan la eficacia de confiar únicamente en la seguridad de los recursos CICS. Para un control de seguridad adicional, REXX for CICS TS está diseñado con el concepto de seguridad a nivel de comando. Dado que la mayoría de las facilidades de REXX for CICS TS se acceden como comandos, la seguridad a nivel de comandos puede utilizarse para controlar el acceso a las facilidades de CICS (y de otros productos o sistemas). Por ejemplo, el acceso a archivos VSAM se realiza mediante los comandos READ, WRITE y REWRITE.

La seguridad a nivel de comando REXX está controlada por el parámetro DEFSCMD y DEFCMD AUTH y por la provisión de soporte de biblioteca autorizada.

La seguridad de ejecución de comandos controla el uso de determinados comandos REXX o palabras clave de comandos. En general, esto se consigue designando determinados comandos (u opciones de comandos) como autorizados. Esta designación de comandos se realiza mediante los comandos DEFCMD y DEFSCMD. Para que los comandos autorizados se ejecuten correctamente, debe darse una de las siguientes condiciones:
  1. El comando debe ejecutarse desde un exec cargado desde un PDS z/OS® asignado a los ddnames CICAUTH o CICEXEC en el procedimiento JCL de inicio de CICS.
  2. El comando debe ser ejecutado por un usuario autorizado. Un usuario puede ser autorizado por el comando AUTHUSER.

Apoyo de mando autorizado

Cualquier comando REXX puede ser identificado como autorizado por un administrador de sistemas. Los comandos autorizados sólo pueden ejecutarse con éxito en una ejecución emitida por un usuario autorizado o cargada desde una biblioteca REXX autorizada.

Sólo los usuarios autorizados tienen acceso a la biblioteca ejecutiva autorizada CICAUTH. Todos los usuarios pueden ejecutar ejecuciones en la biblioteca autorizada CICEXEC. Todos los usuarios pueden ejecutar execs en la biblioteca no autorizada CICUSER. Los usuarios autorizados pueden ser definidos por cualquier usuario autorizado existente o en una ejecución autorizada. El exec de REXX CICSTART que se llama en la inicialización de CICS REXX (en la primera transacción REXX después de un reinicio de CICS ) se autoriza automáticamente. Este es el lugar lógico para definir los usuarios autorizados y las bibliotecas.

Dado que el acceso a las bibliotecas REXX puede controlarse fácilmente, es la contrapartida lógica del control de acceso a las bibliotecas de programas de producción CICS. Cualquier comando que un sitio considere sensible (como READ, WRITE y DELETE) podría definirse como autorizado en la región de producción. Esto significaría que sólo los usuarios autorizados podrían crear execs que emitan comandos autorizados y decidir si todos los usuarios pueden invocar estos execs que contienen comandos autorizados o sólo otros usuarios autorizados.

Nota: Puede controlar la capacidad de los ejecutores REXX para acceder a API externas redefiniendo los comandos CICS START, LINK y XCTL como comandos autorizados.