[z/OS]

Canal de conexión de servidor de IBM MQ for z/OS

El canal SVRCONN de IBM® MQ for z/OS® no es seguro sin implementar la autenticación de canal o añadir una salida de seguridad utilizando TLS. Los canales SVRCONN no tienen definida una salida de seguridad de forma predeterminada.

Aspectos de seguridad

Los canales SVRCONN no son seguros tal como están definidos inicialmente, por ejemplo SYSTEM.DEF.SVRCONN. Para proteger un canal SVRCONN, debe configurar la autenticación de canal utilizando el mandato SET CHLAUTH , o instalar una salida de seguridad e implementar TLS.

Debe utilizar una salida de seguridad de ejemplo públicamente disponible, escribir una salida de seguridad o adquirir una salida de seguridad.

Hay diversos ejemplos disponibles que puede utilizar como punto de partida para escribir su propia salida de seguridad de canal SVRCONN.

En IBM MQ for z/OS, el miembro CSQ4BCX3 de la biblioteca hlq.SCSQC37S es un ejemplo de salida de seguridad escrito en el lenguaje C. CSQ4BCX3 también viene precompilado en la biblioteca hlq.SCSQAUTH.

Puede implementar la salida de ejemplo CSQ4BCX3 copiando el miembro compilado hlq.SCSQAUTH(CSQ4BCX3) en una biblioteca de carga ubicada en la sentencia CSQXLIB DD del procedimiento CHIN. Tenga en cuenta que CHIN requiere que la biblioteca de carga esté definida como "Controlada por programa".

Altere el canal SVRCONN para definir CSQ4BCX3 como salida de seguridad.

Cuando un cliente se conecta utilizando ese canal SVRCONN, CSQ4BCX3 se autenticará utilizando el par RemoteUserIdentifier y RemotePassword desde MQCD o, desde IBM MQ for z/OS 9.1.4, el par CSPUserIdPtr y CSPPasswordPtr desde MQCSP. Si la autenticación es satisfactoria, copiará RemoteUserIdentifier en MCAUserIdentifier, cambiando el contexto de identidad de la hebra.

Para Long Term Support y Continuous Delivery antes de IBM MQ for z/OS 9.1.4, cuando un cliente se conecta utilizando ese canal SVRCONN, CSQ4BCX3 se autenticará utilizando el par RemoteUserIdentifier y RemotePassword de MQCD. Si la autenticación es satisfactoria, copiará RemoteUserIdentifier en MCAUserIdentifier, cambiando el contexto de identidad de la hebra.

Si está escribiendo un cliente de IBM MQ Java , puede utilizar ventanas emergentes para consultar al usuario y establecer MQEnvironment.userID y MQEnvironment.password. Estos valores se pasarán cuando se realice la conexión.

Ahora que tiene una salida de seguridad funcional, existe la preocupación adicional de que el ID de usuario y la contraseña se transmiten en texto sin formato a través de la red cuando se realiza la conexión, al igual que el contenido de los mensajes IBM MQ posteriores. Puede utilizar TLS para cifrar esta información de conexión inicial, así como el contenido de cualquier mensaje de IBM MQ .

Ejemplo

Para proteger el canal IBM MQ Explorer SVRCONN SYSTEM.ADMIN.SVRCONN complete los pasos siguientes:
  1. Copie hlq.SCSQAUTH(CSQ4BCX3) en una biblioteca de carga ubicada en la sentencia CSQXLIB DD del procedimiento CHINIT.
  2. Compruebe que la biblioteca de carga esté controlada por programa.
  3. Altere SYSTEM ADMIN.SVRCONN de modo que utilice la salida de seguridad CSQ4BCX3.
  4. En IBM MQ Explorer, haga clic con el botón derecho del ratón en el z/OS nombre de Queue Manager, seleccione Detalles de conexión > Propiedades > ID de usuario e introduzca su z/OS ID de usuario.
  5. Conéctese al gestor de colas de z/OS especificando una contraseña.

Información adicional

Para que la salida CSQ4BCX3 se ejecute en un entorno controlado por programa, todo aquello que se haya cargado en el espacio de direcciones de CHIN se debe haber cargado desde una biblioteca controlada por programa, por ejemplo, todas las bibliotecas de STEPLIB y cualquier biblioteca mencionada en CSQXLIB DD. Para establecer una biblioteca de carga como mandatos RACF® de emisión controlada por programa. En el ejemplo siguiente el nombre de la biblioteca de carga es MY.TEST.LOADLIB.
RALTER PROGRAM * ADDMEM('MY.TEST.LOADLIB'//NOPADCHK)
SETROPTS WHEN(PROGRAM)REFRESH
Para modificar el canal SVRCONN para implementar CSQ4BCX3, emita el siguiente mandato IBM MQ :
ALTER CHANNEL(SYSTEM ADMIN.SVRCONN) CHLTYPE(SVRCONN) SCYEXIT(CSQ4BCX3)
En el ejemplo anterior, el nombre de canal SVRCONN utilizado es SYSTEM ADMIN.SVRCONN.

Consulte Programas de salida de canal para obtener más información sobre las salidas de canal.