[z/OS]

Configurando o AT-TLS em um canal de entrada para um Gerenciador de Filas IBM MQ for Multiplatforms usando um CipherSpecs de alias

Como você configura o AT-TLS em um canal de entrada por meio de um Gerenciador de Filas IBM® MQ for Multiplatforms para um Gerenciador de Filas IBM MQ for z/OS®. Neste caso, o canal no Gerenciador de Filas z/OS é um canal receptor que não tem o conjunto de atributos SSLCIPH, e o canal no Gerenciador de Filas não z/OS é um canal emissor com o conjunto de atributos SSLCIPH para um CipherSpec de alias.

Neste exemplo, um par de canais emissor-receptor existente, que usa qualquer CipherSpec TLS 1.3, será ajustado para que o canal receptor utilize AT-TLS em vez de IBM MQ TLS.

Diagrama mostrando um par de canais emissor / receptor existente usando qualquer TLS1.3 CipherSpec que está sendo ajustado para que o canal receptor use AT-TLS em vez de IBM MQ TLS.

Outros protocolos TLS e CipherSpecs podem ser usados fazendo pequenos ajustes na configuração. Outros tipos de canal de mensagens, além de canais emissores e receptores de cluster, poderiam ser usados sem alteração na configuração de AT-TLS.

Procedimento

Etapa 1: Pare o canal

Etapa 2: Crie e aplique uma política AT-TLS

É necessário criar as instruções AT-TLS a seguir para este cenário:
  1. Uma instrução TTLSRule para corresponder conexões de entrada com o espaço de endereço do iniciador do canal por meio do endereço IP do canal emissor. Aqui, mais filtragem foi incluída para corresponder a um nome de tarefa do iniciador de canal específico.
    
    TTLSRule                      REMOTE-TO-CSQ1
    {
      LocalAddr                   ALL
      LocalPortRange              1414
      RemoteAddr                  123.456.78.9
      Jobname                     CSQ1CHIN
      Direction                   INBOUND
      TTLSGroupActionRef          CSQ1-GROUP-ACTION 
      TTLSEnvironmentActionRef    CSQ1-INBOUND-ENVIRONMENT-ACTION
    }

    As correspondências de regra anteriores com relação às conexões que vão para a tarefa CSQ1CHIN na porta local 1414 do endereço IP remoto 123.456.78.9.

    Mais opções avançadas de filtragem são descritas em TTLSRule.

  2. Uma instrução TTLSGroupAction ativando a regra. O TTLSRule referencia o TTLSGroupAction usando a propriedade TTLSGroupActionRef.
    
    TTLSGroupAction             CSQ1-GROUP-ACTION
    {
      TTLSEnabled               ON
    }
  3. Uma instrução TTLSEnvironmentAction é associada com o TTLSRule pela propriedade TTLSEnvironmentActionRef Um TTLSEnvironmentAction configura o Ambiente TLS e especifica qual conjunto de chaves a utilizar.
    
    TTLSEnvironmentAction                 CSQ1-INBOUND-ENVIRONMENT-ACTION
    {
      HandshakeRole                       SERVER
      TTLSKeyringParmsRef                 CSQ1-KEYRING
      TTLSCipherParmsRef                  CSQ1-CIPHERPARM
      TTLSEnvironmentAdvancedParmsRef     CSQ1-ENVIRONMENT-ADVANCED
    }

    O AT-TLS fornece a capacidade de conceder autenticação mútua, que é o equivalente a utilizar o atributo de canal SSLCAUTH. Isso é feito por ter uma instrução TTLSEnvironmentAction com um valor HandshakeRole de ServerWithClientAuth para a instrução de entrada TTLSEnvironmentAction.

  4. Uma instrução TTLSKeyringParms é associada ao TTLSEnvironmentAction pela propriedade TTLSKeyringParmsRef e define o conjunto de chaves usado pelo AT-TLS
    O conjunto de chaves deve conter certificados confiáveis pelo Gerenciador de Filas remoto não z/OS. Este conjunto de chaves pode ser definido da mesma forma que um conjunto de chaves utilizado pelo inicializador de canais; ver Configurando seuz/OS sistema para usar TLS .
    
    TTLSKeyringParms            CSQ1-KEYRING
    {
      Keyring                   MQCHIN/CSQ1RING
    }
  5. Uma instrução TTLSCipherParms associada com o TTLSEnvironmentAction pela propriedade TTLSCipherParmsRef
    Esta instrução deve conter pelo menos um nome de conjunto de cifras que esteja incluído no CipherSpec de alias configurado no canal emissor remoto.
    Nota: os nomes do conjunto de criptografia AT-TLS não correspondem necessariamente aos nomes do IBM MQ CipherSpec . No entanto, é possível localizar o nome do conjunto de cifras AT-TLS que corresponde a um nome IBM MQ CipherSpec localizando o nome IBM MQ CipherSpec na tabela a seguir e fazendo referência cruzada da coluna de código hexadecimal com a coluna de caractere expandida da Tabela 2 no tópico da instrução TTLSCipherParms .
    Tabela 1. CipherSpecs no z/OS do IBM MQ for z/OS 9.2.0
    CipherSpec Protocolo Código Hexadecimal Ativado por padrão
    TLS_CHACHA20_POLY1305_SHA256 TLS 1.3 1303 Sim
    TLS_AES_256_GCM_SHA384 TLS 1.3 1302 Sim
    TLS_AES_128_GCM_SHA256 TLS 1.3 1301 Sim
    TLS_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2 009D Sim
    ECDHE_RSA_AES_256_GCM_SHA384 TLS 1.2 C030 Sim
    TLS_RSA_WITH_AES_256_CBC_SHA256 TLS 1.2 003D Sim
    ECDHE_ECDSA_AES_256_CBC_SHA384 TLS 1.2 C024 Sim
    ECDHE_RSA_AES_256_CBC_SHA384 TLS 1.2 C028 Sim
    TLS_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2 009C Sim
    ECDHE_RSA_AES_128_GCM_SHA256 TLS 1.2 C02F Sim
    TLS_RSA_WITH_AES_128_CBC_SHA256 TLS 1.2 003C Sim
    ECDHE_ECDSA_AES_128_CBC_SHA256 TLS 1.2 C023 Sim
    ECDHE_RSA_AES_128_CBC_SHA256 TLS 1.2 C027 Sim
    TLS_RSA_WITH_NULL_SHA256 TLS 1.2 003B No
    TLS_RSA_WITH_AES_256_CBC_SHA TLS 1.0 0035 No
    TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.0 002F No
    TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS 1.0 000A No
    TLS_RSA_WITH_RC4_128_SHA TLS 1.0 0005 No
    TLS_RSA_WITH_DES_CBC_SHA TLS 1.0 0009 No
    TRIPLE_DES_SHA_US SSL v3 000A No
    RC4_SHA_US SSL v3 0005 No
    RC4_MD5_US SSL v3 0004 No
    DES_SHA_EXPORT SSL v3 0009 N
    RC4_MD5_EXPORT SSL v3 0003 No
    RC2_MD5_EXPORT SSL v3 0006 No
    NULL_SHA SSL v3 0002 No
    NULL_MD5 SSL v3 0001 No
    
    TTLSCipherParms             CSQ1-CIPHERPARM
    {
      V3CipherSuites            TLS_CHACHA20_POLY1305_SHA256
      V3CipherSuites            TLS_AES_256_GCM_SHA384
      V3CipherSuites            TLS_AES_128_GCM_SHA256 
    }
    
    Atenção: se o gerenciador de filas e a política de AT-TLS suportarem TLS 1.3, apenas os alias CipherSpecs que contêm pelo menos um TLS 1.3 CipherSpec permitirão que o canal seja iniciado. Por exemplo, usandoANY_TLS12 faz com que o canal não seja iniciado, mesmo queTTLSCipherParms contém TLS1.2CipherSpecs, mas usandoANY_TLS12_OR_HIGHER ouANY_TLS13 permite que o canal comece. Ver Relacionamento entre aliasCipherSpec configurações para uma explicação.
  6. ATTLSEnvironmentAdvancedParms declaração está associada aoTTLSEnvironmentAction pelo TTLSEnvironmentAdvancedParmsRef propriedade.
    Esta instrução pode ser usada para especificar quais protocolos SSL e TLS estão ativados, e deve ser consistente com as suites cifradas na instrução TTLSCipherParms .
    TTLSEnvironmentAdvancedParms CSQ1-ENVIRONMENT-ADVANCED
    {
      SSLv3          OFF
      TLSv1          OFF
      TLSv1.1        OFF
      SecondaryMap   OFF
      TLSv1.2        OFF
      TLSv1.3        ON
    }
    
O conjunto completo de instruções são as seguintes e devem ser aplicadas ao agente de política:

TTLSRule                      REMOTE-TO-CSQ1
{
  LocalAddr                   ALL
  LocalPortRange              1414
  RemoteAddr                  123.456.78.9  
  Jobname                     CSQ1CHIN
  Direction                   INBOUND
  TTLSGroupActionRef          CSQ1-GROUP-ACTION 
  TTLSEnvironmentActionRef    CSQ1-INBOUND-ENVIRONMENT-ACTION
}                                              

TTLSGroupAction             CSQ1-GROUP-ACTION
{
  TTLSEnabled               ON
} 

TTLSEnvironmentAction             CSQ1-INBOUND-ENVIRONMENT-ACTION
{
  HandshakeRole                   SERVER
  TTLSKeyringParmsRef             CSQ1-KEYRING
  TTLSCipherParmsRef              CSQ1-CIPHERPARM
  TTLSEnvironmentAdvancedParmsRef CSQ1-ENVIRONMENT-ADVANCED
}

TTLSKeyringParms            CSQ1-KEYRING
{
  Keyring                   MQCHIN/CSQ1RING
}

TTLSCipherParms             CSQ1-CIPHERPARM
{
  V3CipherSuites            TLS_CHACHA20_POLY1305_SHA256
  V3CipherSuites            TLS_AES_256_GCM_SHA384
  V3CipherSuites            TLS_AES_128_GCM_SHA256 

}

TTLSEnvironmentAdvancedParms CSQ1-ENVIRONMENT-ADVANCED
{
  SSLv3          OFF
  TLSv1          OFF
  TLSv1.1        OFF
  SecondaryMap   OFF
  TLSv1.2        OFF
  TLSv1.3        ON
}  

Etapa 3: Remover SSLCIPH do canal z/OS

Remova o CipherSpec do canal z/OS usando o comando a seguir:
ALTER CHANNEL(channel-name) CHLTYPE(SDR) SSLCIPH(' ')

Etapa 4: Iniciar o canal

Uma vez que o canal tenha iniciado, ele estará usando uma combinação de AT-TLS e TLS do IBM MQ.
Atenção: As instruções AT-TLS precedentes são apenas uma configuração mínima. Existem outras instruções de política AT-TLS com AT-TLS que não estão documentadas aqui, e poderiam ser usadas com IBM MQ dependendo da necessidade. No entanto, IBM MQ só foi testado com as políticas descritas.