Configuración de la conectividad de Secure Sockets Layer en WebSphere MQ File Transfer Edition

WebSphere MQ File Transfer Edition (FTE) ofrece una solución confiable, verificable y administrada para la transferencia de archivos que permite mover archivos, cualquiera sea su tamaño, entre sistemas de TI sin necesidad de programación. Este artículo describe tres escenarios de gestor de cola para configurar a Secure Sockets Layer (SSL) con WebSphere MQ FTE.

Alex Fehners, Software Developer, IBM

Alex Fehners es Software Developer de Application and Integration Middleware en IBM Hursley Park Software Lab en el Reino Unido. Para contactar a Alex, escríbale a fehners@uk.ibm.com.



Laurence Bonney, WebSphere MQ JMS Test Team Lead, IBM

Laurence Bonney es Software Engineer con ocho años de experiencia en IBM Hursley Development Lab en el Reino Unido. Trabaja en el Equipo de Desarrollo de WebSphere MQ y WebSphere MQ File Transfer Edition. Para contactar a Laurence, escríbale a bonneyl@uk.ibm.com.



01-08-2011

Introducción

Este artículo le muestra cómo configurar conexiones de Secure Sockets Layer (SSL) desde un agente® WebSphere® MQ File Transfer Edition (WMQFTE) IBM. También explica los comandos WMQFTE y el complemento WMQFTE para MQ Explorer, y cómo conectarse a través de TCP/IP a tres gestores de cola WebSphere MQ diferentes, representando a un gestor de cola de Agente, un gestor de cola de Comando y un gestor de cola de Coordinación. Este artículo le muestra cómo crear certificados de prueba y configurar un gestor de cola para crear un canal de conexión de servidor seguro (SVRCONN) con MQ FTE. Este artículo no cubre las conexiones internas, del gestor de cola SSL, entre los tres gestores de cola.

El escenario se desarrolló usando WMQFTE V7.0.2 con WebSphere MQ V7.0.1 en Microsoft® Windows®. Usted deberá contar con experiencia suficiente en WebSphere MQ para configurar una red de tres gestores de cola con WMQFTE sin SSL como punto de partida. Aunque esta configuración no se describe en el artículo, usted puede adaptar fácilmente el escenario a una configuración de gestor de cola individual sustituyendo cualquier referencia a los gestores de cola de Comando, Coordinación y Agente por su gestor de cola individual unificando la función de los tres tipos de gestores en uno solo. Las capturas de pantalla de la herramienta IBM Key Management tool / MQ Explorer, y los ejemplos de línea de comandos serán suministrados cuando corresponda.

Interacción entre los gestores de cola y los componentes WMQFTE

La configuración de SSL para WMQFTE se realiza a través de las propiedades de configuración incluidas en uno o varios de los tres tipos de archivos de propiedades que se encuentran en su jerarquía de directorio de configuración WMQFTE: agent.properties, command.properties y coordination.properties. La configuración de SSL para cualquier escenario de WMQFTE depende de los gestores de cola subyacentes a los cuales usted se está conectando. En muchos casos, puede tener un escenario en donde sus agentes necesiten conectarse solamente a su gestor de cola de Agente a través de SSL, en tanto que otros escenarios más complejos pueden requerir, por ejemplo, conexiones de SSL al gestor de cola de Coordinación. Es necesario comprender las iteraciones de los gestores de cola entre cada uno de los comando WMQFTE, el complemento WMQFTE para MQ Explorer, y los Agentes para configurar su topología WMQFTE de manera tal que se adapte a las necesidades de su negocio.

Hay algunas interpretaciones erróneas con respecto a estas iteraciones de gestores de cola de WMQFTE. Por ejemplo, algunos usuarios creen que el comando fteListAgents requiere conexión con el gestor de cola de Comando para funcionar, pero la función de este comando es recuperar información del agente dentro de su red WMQFTE, y como toda la información de Agente está almacenada en el gestor de cola de Coordinación, este comando sólo necesita conectarse con el gestor de cola de Coordinación. Por lo tanto si este comando requiere conectarse a través de una conexión de SSL, se necesita el archivo coordination.properties para la configuración de SSL. Sin embargo, otros comando como fteCreateTransfer se conectan directamente al gestor de cola de Comando. La Tabla 1 que aparece a continuación muestra la conexión del gestor de cola entre una cantidad de comandos WMQFTE, el complemento WMQFTE de MQ Explorer y los agentes. Para obtener más información sobre este tema, consulte Which WebSphere MQ FTE commands connect to which queue manager [Qué comandos WebSphere MQ FTE se conectan a los diferentes gestores de cola] en el centro de información sobre WMQFTE.

Tabla 1. Conexión de entidades WMQFTE a tipos de gestores de cola
Entidad WMQFTEGestor de cola de AgenteGestor de cola de ComandoGestor de cola de Coordinación
fteCreateTransferX
fteStartAgent (el Agent propiamente dicho)X
fteStopAgentX
fteListAgentsX
Complemento de WebSphere MQ File Transfer Edition para WebSphere MQ ExplorerXX

En cada caso en que se tome como referencia a un tipo de gestor de cola, usted debe configurar a SSL en el correspondiente archivo de propiedades WMQFTE para permitir que ese tipo de entidad WMQFTE se conecte a su gestor de cola. Como ejemplo de la tabla anterior, el complemento WMQFTE para MQ Explorer requiere iteración con el gestor de cola de Coordinación y el gestor de cola de Comando para funcionar, porque el complemento envía los comandos al gestor de cola de Comando (creación de transferencias), y solicita la información del gestor de cola de Coordinación (avance de la transferencia). Si necesita configurarse el gestor de cola de Coordinación y el gestor de cola de Comando con las conexiones habilitadas de SSL, entonces ambos archivos, commands.properties y coordination.properties, requieren tener información de configuración SSL de WMQFTE para permitir que funcione el complemento.

Por supuesto usted puede simplemente instalar SSL en todos sus gestores de cola y poner la información de configuración de SSL en todos sus archivos de propiedades WMQFTE si se requiere SSL en toda la topología. A los efectos de simplificar, el escenario de ejemplo se configurará de esta manera.

Ejemplo WMQFTE SSL

Como se mencionó anteriormente, este ejemplo le muestra cómo configurar SSL para tres gestores de cola (AgentQmgr, CommandQmgr y CoordinationQmgr) y el agente AGENT1 de WMQFTE, usando certificados autofirmados.

  1. Creación de un almacenamiento de confianza del lado del clienteque será usado por el agente, los comando WMQFTE, y el complemento de MQ Explorer.
  2. Creación de almacenamientos de certificados de gestores de cola
  3. Creación de certificados autofirmados de gestores de cola
  4. Alta de certificados en el almacenamiento de confianza del lado del cliente
  5. Configuración de los archivos de propiedades WMQFTE
  6. Configuración de gestores de cola
  7. Creación y configuración de keystore del lado del cliente se usa para la autenticación de cliente (opcional)
  8. Prueba de la configuración

Se requieren todos los pasos, excepto el Paso 7, para configurar las conexiones SSL básicas. Complete solamente el Paso 7 si desea configurar la autenticación de cliente. Para reducir la complejidad y simplificar la depuración, no deberá usar la autenticación de cliente inicialmente. Después que tenga configurada una conexión SSL básica y funcione según lo esperado, puede agregar la autenticación de cliente. Usted probará si estas cuatro entidades WMQFTE se pueden conectar a sus respectivos gestores de cola:

  • Complemento WMQFTE para MQ Explorer
  • Prueba de agente AGENT1
  • Comandos fteCreateTransfer y fteListAgents de WMQFTE

Creación de un almacenamiento de confianza del lado del cliente

El almacenamiento de confianza conserva el certificado de autoridad (CA) firmante para el gestor de cola en que usted confíe. En términos de WMQFTE esto significa que cuando se realiza una conexión al gestor de cola, éste envía su certificado a WMQFTE como parte de la bienvenida inicial a SSL. La extensión Java Secure Socket Extension (JSSE), que maneja toda la comunicación SSL, busca en el almacenamiento de confianza para validar el certificado que acaba de recibir. Si no puede validar el certificado, termina la conexión. Para crear un almacenamiento de confianza, use la herramienta IBM Key Management incluida en WebSphere MQ V7. También puede usar el programa keytool empaquetado con la instalación Java de WMQFTE.

  • En la barra de inicio, seleccione Programs => IBM WebSphere MQ => IBM Key Management.
  • Cuando se inicie IBM Key Management, haga clic en New (Nuevo) y configure los valores que se muestran en la Figura 1 más abajo:
    • Key database type: JKS
    • File name: truststore.jks
    • Location: C:\WMQFTE_SSL\
  • Haga clic en OK (Aceptar) para continuar.
  • Se le pedirá que ingrese la contraseña que usted elija. Se requiere la contraseña para abrir el almacenamiento de confianza sólo si usted desea agregar certificados al mismo. La JSSE no requiere contraseña si solamente se está usando como almacenamiento de confianza. Por ejemplo, para ingresar una contraseña.
  • Haga clic enOKpara continuar. Ahora debería tener un almacenamiento de confianza al cual puede importar certificados CA confiables.

En la línea de comandos, puede ingresar runmqckm para Windows o gsk7cmd para Unix para lograr el mismo resultado, como se muestra en la Lista 1:

Lista 1. Creación de un almacenamiento de confianza
runmqckm -keydb -create -db
                C:\WMQFTE_SSL\truststore.jks -pw password -type jks
Figura 1. Creación de un almacenamiento de confianza
Creación de un almacenamiento de confianza

Creación de almacenamientos de certificados de gestores de cola

En un escenario de autenticación de no cliente, el almacenamiento de certificados de gestor de cola actúa de la misma manera que cualquier keystore, ya que conserva los certificados personales del cliente. Al configurar la autenticación de cliente adicional, el almacenamiento de certificados de gestor de cola actúa como almacenamiento de confianza y también como keystore. Como usted está usando certificados autofirmados para este escenario, nuestro certificado personal y CA son la misma cosa, por lo tanto nuestros almacenamientos de certificados de gestor de cola pueden actuar como keystore y como almacenamiento de confianza.

El archivo key.kdb

Usted puede darle el nombre que quiera al archivo kdb de almacenamiento de certificados de gestor de cola, siempre que la extensión sea .kdb. El nombre predeterminado que usa el gestor de cola es key.kdb, por ende tendrá que actualizar la propiedad SSLKEYR del gestor de cola (usando runmqsc o MQ Explorer) para que refleje el valor que usted elija.

En los tres escenarios de gestor de cola, necesita crear un almacenamiento de certificados de gestor de cola para cada uno de los gestores de cola. Como en el paso anterior, puede usar la herramienta IBM Key Management para crear un almacenamiento de certificados:

  • Abra la herramienta IBM Key Management.
  • Haga clic enNewy luego configure los siguientes valores, como se muestra en la Figura 2 más abajo.
    • Key database type: CMS
    • File name: key.kdb
    • Location: C:\Program Files\IBM\WebSphere MQ\Qmgrs\AgentQmgr\ssl\
  • Haga clic en OK para continuar.
  • Se le pedirá que ingrese la contraseña que usted elija. Hágalo y seleccione Stash the password to a file (Esconder la contraseña en un archivo).
  • Haga clic en OK para continuar. Ahora debería tener el primero de sus tres almacenamientos de certificados de gestor de cola.
  • Repita los pasos para CommandQmgr y CoordinationQmgr para crear los tres almacenamientos de certificados de gestor de cola

En la línea de comandos, puede ingresar runmqckm para Windows o gsk7cmd para Unix para lograr el mismo resultado, como se muestra en la Lista 2:

Lista 2. Creación de Keystore para gestor de cola
runmqckm -keydb -create -db
      C:\Progra~1\IBM\Websph~1\qmgrs\AgentQmgr\ssl\key.kdb -pw password -type cms -expire
      365 -stash
Figura 2. Creación de almacenamiento de certificados de gestores de cola
Creación de almacenamiento de certificados de gestores de cola

Creación de certificados autofirmados de gestores de cola

Valor del rótulo de clave de un certificado autofirmado

Este valor debe tener la forma <ibmwebspheremq<qmname lowercase>>. Por lo tanto en este caso sería uno de los siguientes:

  • ibmwebspheremqagentqmgr
  • ibmwebspheremqcommandqmgr
  • ibmwebspheremqcoordination

Cree tres certificados autofirmados, uno por cada gestor de cola. Para evitar complicaciones adicionales, cree cada certificado autofirmado en el almacenamiento de certificados de gestores de cola con el cual se relaciona el certificado. Reiteramos, puede usar la herramienta IBM Key Management:

  • Abra la herramienta IBM Key Management.
  • Haga clic en Open para abrir el almacenamiento de certificados AgentQmgr.
  • Haga clic en Create (Crear) =>New Self-Signed Certificate (Nuevo certificado autofirmado) y configure los siguientes valores, como se muestra en la Figura 3:
    • Key label (Rótulo de clave): ibmwebspheremqagentqmgr
    • Common Name (Nombre común): <Owner name or machine name> (elija un valor adecuado)
  • Haga clic en OK para continuar.
  • Ahora debería tener un certificado personal identificado como * ibmwebspheremqagentqmgr. Haga clic en Extract certificate (Extraer certificado) para extraer el certificado autofirmado a un archivo para importarlo posteriormente al almacenamiento de confianza WMQFTE del lado del cliente. Configure los siguientes valores, como se muestra en la Figura 4 más abajo:
    • Data type (Tipo de datos): Datos binarios DER
    • Certificate file name (Nombre del archivo del certificado): AgentQmgr.der
    • Location: C:\WMQFTE_SSL\
  • Haga clic en OK para continuar. Ahora debería tener el primero de sus tres certificados autofirmados.
  • Repita los pasos para CommandQmgr y CoordinationQmgr para crear los tres certificados autofirmados.

Atajo para crear un almacenamiento de certificados y certificados autofirmados

Para ahorrar tiempo, no existen razones técnicas que impidan crear un almacenamiento de certificados de gestor de cola individual, crear todos los certificados en ese almacenamiento de certificados individual y luego solamente copiar los archivos que se guardan en su directorio ssl de gestores de cola para cada uno de los restantes gestores de cola, usando así el mismo almacenamiento para cada uno. La desventaja de esto es que tendrá sus certificados autofirmados dentro de su almacenamiento de certificados de gestores de cola, y todos los almacenamientos de certificados usarán la misma contraseña, pero a los fines demostrativos y de prueba esto realmente no importa.

En la línea de comandos puede ingresar runmqckm para Windows o gsk7cmd para Unix para lograr el mismo resultado, como se muestra en la Lista 3:

Lista 3. Creación y extracción de certificados autofirmados
runmqckm -cert
    -create -db C:\Progra~1\IBM\Websph~1\qmgrs\AgentQmgr\ssl\key.kdb -pw password -label
    ibmwebspheremqagentqmgr -dn CN=FTEUser -size 1024 -x509version 3 -expire 365
    runmqckm -cert -extract -db C:\Progra~1\IBM\Websph~1\qmgrs\AgentQmgr\ssl\key.kdb -pw
    password -label ibmwebspheremqagentqmgr -target C:\WMQFTE_SSL\AgentQmgr.der -format
    binary
Figura 3. Creación de un certificado autofirmado
Creación de un certificado autofirmado
Figura 4. Extracción de un certificado autofirmado
Extracción de un certificado autofirmado

Alta de certificados en el almacenamiento de confianza del lado del cliente

Ahora que ya extrajo los tres certificados autofirmados (AgentQmgr.der, CommandQmgr.der y CoordinationQmgr.der), necesita agregarlos al almacenamiento de confianza WMQFTE del lado del cliente. Hasta que la autenticación de cliente no esté configurada, el certificado autofirmado que agregue al almacenamiento de confianza actuará como CA. Como ya comentáramos, puede hacer esto con la herramienta IBM Key Management.

  • Abra la herramienta IBM Key Management.
  • Haga clic en Open y abra el almacenamiento de confianza WMQFTE de cliente C:\WMQFTE_SSL\truststore.jks. Cuando se lo requiera, ingrese la contraseña que utilizó anteriormente.
  • Seleccione la casilla desplegable debajo del rótulo Key database content.
  • Seleccione Signer Certificates.
  • Haga clic en Add (Agregar). Se le pedirá que ingrese la ubicación del certificado que desea agregar. Este certificado será el certificado de gestores de cola si está usando certificados autofirmados para la prueba, o el certificado de CA que emitió su certificado de gestores de cola. Este ejemplo usa los certificados autofirmados. Ingrese los siguientes datos, como se muestra en la Figura 5 más abajo:
    • Data type: Binary DER data
    • Certificate file name (Nombre de archivo del certificado): AgentQmgr.der
    • Location: C:\WMQFTE_SSL\
  • Haga clic en OK. Se le pedirá que ingrese un rótulo. Ingrese ibmwebspheremqagentqmgr.
  • Haga clic en OK para agregar el certificado.
  • Repita los pasos para CommandQmgr y CoordinationQmgr para agregar los tres certificados firmados de gestores de cola.

En la línea de comandos, puede ingresar runmqckm para Windows o gsk7cmd para Unix para lograr el mismo resultado, como se muestra en la Lista 4:

Lista 4. Alta de certificado autofirmado en el almacenamiento de confianza WMQFTE
runmqckm -cert -add -db C:\WMQFTE_SSL\truststore.jks -pw password
     -type jks -label ibmwebspheremqagentqmgr -file C:\WMQFTE_SSL\AgentQmgr.der -format
     binary -trust enable
Figura 5. Alta de certificado autofirmado en el almacenamiento de confianza WMQFTE
Alta de certificado autofirmado en el almacenamiento de confianza WMQFTE

Configuración de los archivos de propiedades WMQFTE

Como estará validando la configuración WMQFTE SSL eligiendo alguna de las entidades WMQFTE disponibles, volviendo a la Tabla 1 podrá ver que los tres tipos de gestores de cola estarán directamente conectados por estas entidades. Por lo tanto debe agregar información de configuración SSL a los tres archivos de propiedades:

Para que cualquiera de las entidades WMQFTE tomen los cambios realizados a estos archivos de propiedades, se deben reiniciar. Sin embargo en esta instancia usted no habrá completado aún la configuración básica por lo tanto el reinicio probablemente falle generando problemas de configuración SSL.

agentSslCipherSuite contra agentSslCipherSpec y otras propiedades de agente SSL

Este ejemplo usa agentSslCipherSpec. Para compatibilizar con otros Clientes MQ Java, también puede usar la propiedad agentSslCipherSuite. En general, especificar CipherSpec es más fácil porque sólo necesita hacer coincidir con el valor configurado en su canal de conexión MQ Server. Si desea especificar CipherSuite en lugar de otra opción, consulte la tabla en la Sección 4 del artículo SSL configuration of the WebSphere MQ Java/JMS client [Configuración SSL de cliente WebSphere MQ Java/JMS]. Si se especifican ambos tipos en el archivo agent.properties, agentSslCipherSpec tiene precedencia sobre agentSslCipherSuite. Con respecto a WMQFTE V7.0.2, otras propiedades de configuración SSL disponibles para Agente son:

Para conocer lo último en propiedades SSL disponibles para WMQFTE, consulte elCentro de información sobre WMQFTE.

Configuración del archivo agent.properties

El archivo agent.properties está ubicado en la raíz de su directorio de datos de agente y se usa para configurar todos los aspectos referidos al comportamiento del agente. Para habilitar SSL en este escenario, agregue o modifice los siguientes valores:

Para el archivo de propiedades de agente, puede usar RC4_MD5_EXPORT como Cipher Suite de SSL, pero puede usar cualquier valor soportado siempre que coincida con su selección en el correspondiente canal de Conexión de servidor en su gestor de cola de Agente.

Configuración del archivo coordination.properties

El archivo coordination.properties está ubicado debajo del directorio de gestores de colas de Coordinación debajo del directorio de datos raíz. Para habilitar a SSL en este escenario, agregue y modifique los siguientes valores:

Para el archivo de propiedades de coordinación, puede usar DES_SHA_EXPORT como Cipher Suite de SSL, y como en el caso del archivo agent.properties, puede usar cualquier valor soportado siempre que coincida con lo que seleccionó en el correspondiente canal de Conexión de servidor en su gestor de cola de Coordinación.

Consideración de la seguridad al usar contraseñas de texto plano en los archivos de propiedades

Las contraseñas del almacenamiento de confianza y de keystore se almacenan en los tres archivos de propiedades WMQFTE en texto plano. Debe restringir quiénes pueden leer estos archivos usando los métodos disponibles en su sistema operativo. Estas contraseñas están ocultas en el archivo de registro de salida del Agente, y dentro de los archivos de seguimiento WMQFTE.

Configuración del archivo command.properties

El archivo command.properties está ubicado debajo del directorio de gestores de cola de Coordinación. Para habilitar a SSL en este escenario, agregue y modifique los siguientes valores:

Para el archivo de propiedades de comando, puede usar TRIPLE_DES_SHA_US como Cipher Suite de SSL, y como ocurrió con los archivos de propiedades previos, puede usar cualquier valor soportado siempre que coincida con lo que seleccionó en el correspondiente canal de Conexión de servidor en su gestor de cola de Comando.

Configuración de gestores de cola

La configuración de gestores de cola en este ejemplo es mínima, usa un nuevo canal de Conexión de servidor en cada uno de los tres gestores de cola llamado SYTEM.SSL.SVRCONN, que usted puede crear a través de MQ Explorer o runmqsc:

Figura 6. Definición de su Conexión de servidor SSL
Definición de su Conexión de servidor SSL
Lista 5. Definición del canal AgentQmgr SVRCONN en runmqsc
C:\WMQFTE_SSL>runmqsc AgentQmgr 5724-H72 (C) Copyright IBM
      Corp. 1994, 2009. ALL RIGHTS RESERVED. Starting MQSC for queue manager AgentQmgr.
      DEFINE CHANNEL(SYSTEM.SSL.SVRCONN) CHLTYPE(SVRCONN) SSLCIPH(RC4_MD5_EXPORT)
      SSLCAUTH(OPTIONAL) 2 : DEFINE CHANNEL(SYSTEM.SSL.SVRCONN) CHLTYPE(SVRCONN)
      SSLCIPH(RC4_MD5_EXPORT) SSLCAUTH(OPTIONAL) AMQ8014: WebSphere MQ channel created.
      DISPLAY CHANNEL(SYSTEM.SSL.SVRCONN) 3 : DISPLAY CHANNEL(SYSTEM.SSL.SVRCONN) AMQ8414:
      Display Channel details. CHANNEL(SYSTEM.SSL.SVRCONN) CHLTYPE(SVRCONN)
      ALTDATE(2009-11-19) ALTTIME(13.01.25) COMPHDR(NONE) COMPMSG(NONE) DESCR( )
      HBINT(300) KAINT(AUTO) MAXINST(999999999) MAXINSTC(999999999) MAXMSGL(4194304)
      MCAUSER( ) MONCHL(QMGR) RCVDATA( ) RCVEXIT( ) SCYDATA( ) SCYEXIT( ) SENDDATA( )
      SENDEXIT( ) SHARECNV(10) SSLCAUTH(OPTIONAL) SSLCIPH(RC4_MD5_EXPORT) SSLPEER( )
      TRPTYPE(TCP)

Repetir para CommandQmgr usando SSLCIPH(TRIPLE_DES_SHA_US) y para CoordinationQmgr usando SSLCIPH(DES_SHA_EXPORT). Ahora debería tener un canal de Conexión de servidor habilitado para SSL en cada uno de sus gestores de cola.

Creación y configuración de keystore del lado del cliente (opcional)

Complete esta sección sólo si desea efectuar la autenticación de cliente al realizar una conexión con el gestor de cola. Si no se ha especificado autenticación de cliente en el canal, no necesita completar esta sección:

Definición de keystore del cliente

Este escenario usa certificados autofirmados, y en este sentido usted simplemente puede usar el almacenamiento de confianza existente como keystore para autenticación de cliente también, ya que el certificado actúa como certificado personal y como CA. La contraseña que antes no se requirió configurar ahora necesitará ser transmitida a la extensión JSSE para que pueda acceder a su certificado personal, razón por la cual se especificó anteriormente.

Configuración de keystore y contraseña en los archivos de propiedades

actualizaciones del archivo agent.property:

actualizaciones del archivo coordination.property:

actualizaciones del archivo command.property:

Modificación de los canales de gestores de cola para que requieran CA

Como en la configuración de gestor de cola original, use MQ Explorer (Figura 7) o runmqsc (Lista 6) para modificar los canales de conexión de servidor que creó anteriormente en los tres gestores de cola:

Figura 7. Modificación de la Conexión de servidor SSL para que requiera Autenticación de cliente
Modificación de la Conexión de servidor SSL para que requiera Autenticación de cliente
Lista 6. Modificación del Canal AgentQmgr SVRCONN en runmqsc
C:\WMQFTE_SSL>runmqsc AgentQmgr 5724-H72 (C) Copyright IBM
        Corp. 1994, 2009. ALL RIGHTS RESERVED. Starting MQSC for queue manager AgentQmgr.
        ALTER CHANNEL(SYSTEM.SSL.SVRCONN) CHLTYPE(SVRCONN) SSLCAUTH(REQUIRED) 1 : ALTER
        CHANNEL(SYSTEM.SSL.SVRCONN) CHLTYPE(SVRCONN) SSLCAUTH(REQUIRED) AMQ8016: WebSphere
        MQ channel changed. DISPLAY CHANNEL(SYSTEM.SSL.SVRCONN) 2 : DISPLAY
        CHANNEL(SYSTEM.SSL.SVRCONN) AMQ8414: Display Channel details.
        CHANNEL(SYSTEM.SSL.SVRCONN) CHLTYPE(SVRCONN) ALTDATE(2009-11-19) ALTTIME(14.02.49)
        COMPHDR(NONE) COMPMSG(NONE) DESCR( ) HBINT(300) KAINT(AUTO) MAXINST(999999999)
        MAXINSTC(999999999) MAXMSGL(4194304) MCAUSER( ) MONCHL(QMGR) RCVDATA( ) RCVEXIT( )
        SCYDATA( ) SCYEXIT( ) SENDDATA( ) SENDEXIT( ) SHARECNV(10) SSLCAUTH(REQUIRED)
        SSLCIPH(RC4_MD5_EXPORT) SSLPEER( ) TRPTYPE(TCP)

Prueba de la configuración

Ahora debería tener tres gestores de cola con un canal de conexión de servidor SSL habilitado en cada uno de ellos, todos con sus propios almacenamientos de certificados conteniendo un certificado autofirmado. Opcionalmente, también puede haber habilitado CA. WMQFTE se debe configurar para que permita conectarse a estos nuevos canales de SSL habilitado. Inicializando MQ Explorer con el complemento WMQFTE, su agente AGENT1 configurado con SSL, o cualquiera de los comandos WMQFTE se conectarán ahora a sus respectivos gestores de cola a través de ese canal SSL habilitado, como se muestra en la Tabla 1. Conexión de entidades WMQFTE a tipos de gestores de cola. Trate de ejecutar cada una de las siguientes entidades:

  • fteStartAgent AGENT1 – Verifica a output0.log para que su agente se inicialice y conecte correctamente.
  • fteListAgent -- Stdout deberá mostrar al Agente AGENT1 en su red WMQFTE.
  • fteFteCreateTransfer -sa AGENT1 -da AGENT1 -df C:\MyDestinationFile -w C:\MySourceFile -- Deberá informar que la transferencia de archivo se completó correctamente, y debe existir el archivo de destino.
  • Conexión a CoordinationQmgr a través del complemento WMQFTE para MQ Explorer -- el nodo WMQFTE en la interfaz GUI de MQ Explorer se deberá conectar a CoordinationQmgr.

Si todo funcionó correctamente, no debería observar diferencias de comportamiento comparado con la ejecución sin SSL.

La mejor prueba es la prueba de fallas

Obviamente que probar que sus conexiones funcionen podría significar que simplemente se está conectando a su gestor de cola en un canal no SSL, y no realizó ninguna de las configuraciones del lado de WMQFTE. Una manera simple de verificar si SSL está configurado es desajustar su WMQFTE y las cipher suites de canal de gestores de cola. Con esa desconfiguración, al iniciar su agente se producirá una falla en la conexión al gestor de cola identificada con el error MQRC 2397 - MQRC_JSSE_ERROR. Ajuste nuevamente las cipher suites y el agente se debería iniciar. A continuación se muestra un ejemplo de datos de salida por falla en las conexiones para cada uno de los tres tipos de gestores de cola:

Lista 7. Datos de salida de falla en el agente (Conexión al gestor de cola AgentQmgr)
BFGAG0115I: directorio raíz de transferencia de ruta de acceso
        relativa: C:\Documents and Settings\Laurence BFGAG0058I: el agente se inicializó
        correctamente. BFGAG0052E: el agente recibió el código de motivo 2397 de MQI al
        establecer una conexión de modo de transporte de cliente al gestor de cola
        'AgentQmgr' en host 'localhost', puerto '5050' y usando el canal
        'SYSTEM.SSL.SVRCONN'. El agente no puede continuar y finalizará. BFGAG0061E: el
        agente finalizó incorrectamente
Lista 8. Datos de salida de falla en fteListAgent (Conexión al gestor de cola CommandQmgr)
C:\Program Files\IBM\WMQFTE\bin>fteListAgents
      5655-U80, 5724-R10 Copyright IBM Corp. 2008, 2009. ALL RIGHTS RESERVED BFGCL0002E:
      un problema de mensajería impidió que el comando completara su tarea correctamente.
      El código de finalización de WebSphere MQ fue 2, y el código de motivo fue 2397. No
      se pudo establecer conexión al gestor de cola CoordinationQmgr, en host 'localhost'
      usando el puerto 5052 y el canal SYSTEM.SSL.SVRCONN.
Lista 9. Datos de salida de falla en fteCreateTransfer (Conexión al gestor de cola CoordinationQmgr)
C:\Program
    Files\IBM\WMQFTE\bin>fteCreateTransfer -sa AGENT1 -da AGENT1 -df
    C:\MyDestinationFile -w C:\MySourceFile 5655-U80, 5724-R10 Copyright IBM Corp. 2008,
    2009. ALL RIGHTS RESERVED com.ibm.wmqfte.api.TransportException: BFGCL0002E: un
    problema de mensajería impidió que el comando completara su tarea correctamente. El
    código de finalización de WebSphere MQ fue 2, y el código de motivo fue 2397. No se
    pudo establecer conexión al gestor de cola CommandQmgr, en host 'localhost' usando
    puerto 5051 y canal SYSTEM.SSL.SVRCONN.

Conclusión

Este artículo le mostró cómo configurar tres gestores de cola WMQFTE en un escenario SSL, relacionándose con agente, comando y el complemento WMQFTE para MQ Explorer. También describió los conceptos básicos para que sus entidades WMQFTE con SSL habilitado se conectaran y la autenticación de cliente optativa.

Solución de problemas

La depuración de problemas de SSL es compleja. Cuando se producen fallas de autenticación inesperadas, primero verifique estos dos lugares:

  • Los archivos de Agentes Output0.log -- busque cualquier información en la acción que esperaba que se realizara.
  • Registros de error de gestor de colas -- busque los detalles en las conexiones que fallaron.

Generalmente la causa principal es un problema de configuración, por lo tanto verifique nuevamente que sus configuraciones de cliente y servidor compatibilicen correctamente porque esto puede descartar muchos problemas. Al crear un escenario complejo, desarróllelo en etapas, haciendo pruebas a medida que avanza. Crear un escenario complejo con listas de revocación de certificados, autenticación del lado del cliente y elementos similares desde un principio y de una sola vez probablemente le genere varios problemas de configuración difíciles de identificar y resolver.

Recursos

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que se registra en developerWorks, se crea un perfil para usted. Información sobre su perfil (nombre, país/región y compañia) estará disponible al público y acompañará cualquiera de sus publicaciones. Puede actualizar su cuenta IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=468518
ArticleTitle=Configuración de la conectividad de Secure Sockets Layer en WebSphere MQ File Transfer Edition
publish-date=08012011