![[z/OS]](ngzos.gif)
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
- Copie hlq.SCSQAUTH(CSQ4BCX3) en una biblioteca de carga ubicada en la sentencia CSQXLIB DD del procedimiento CHINIT.
- Compruebe que la biblioteca de carga esté controlada por programa.
- Altere SYSTEM ADMIN.SVRCONN de modo que utilice la salida de seguridad CSQ4BCX3.
- En IBM MQ Explorer, haga clic con el botón derecho del ratón en el z/OS nombre de Queue Manager, seleccione e introduzca su z/OS ID de usuario.
- Conéctese al gestor de colas de z/OS especificando una contraseña.
Información adicional
RALTER PROGRAM * ADDMEM('MY.TEST.LOADLIB'//NOPADCHK)
SETROPTS WHEN(PROGRAM)REFRESH
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.