Como configurar o TLS 1.3 para tráfego no sentido sul

Nesta página, explicamos como configurar o TLS 1.3 nos processadores de mensagens da Apigee para tráfego no sentido sul. (tráfego entre o processador de mensagens e o servidor de back-end).

Para saber mais sobre o recurso TLS 1.3 em Java, consulte Notas de lançamento do JDK 8u261 Update.

O procedimento para ativar o TLS 1.3 depende da versão do Java que você está usando. Consulte Confira abaixo a versão do Java em um processador de mensagens no processador de mensagens.

Versões TLS v1.3 e Java

O recurso TLS 1.3 foi introduzido nestas versões do Java:

  • Oracle JDK 8u261
  • OpenJDK 8u272

Nas seguintes versões do Java, o recurso TLS v1.3 existe, mas não está ativado por padrão em funções de cliente:

  • Oracle JDK 8u261 ou mais recente, mas menor que o Oracle JDK 8u341
  • OpenJDK 8u272 ou posterior, mas menor que o OpenJDK 8u352

Se você estiver usando uma dessas versões, será necessário ativar o TLS v1.3, conforme descrito em Como ativar o TLS v1.3 quando ele não está ativado por padrão.

Se você estiver usando uma das versões a seguir, o TLS v1.3 já estará ativado por padrão em funções de cliente (o processador de mensagens atua como um cliente para conexões TLS no sentido sul, então não é necessário fazer nada:

  • Oracle JDK 8u341 ou mais recente
  • OpenJDK 8u352 ou mais recente

Para o TLS v1.3 funcionar, todos os itens a seguir precisam ser verdadeiros:

  • O Java subjacente no processador de mensagens precisa oferecer suporte a TLS v1.3.
  • O TLS v1.3 deve estar ativado em Java no processador de mensagens.
  • O TLS v1.3 precisa estar ativado no aplicativo Processador de mensagens.

Como ativar o TLS v1.3 em Java quando ele não está ativado por padrão.

Esta seção explica como ativar o TLS v1.3 caso você use uma das seguintes opções do Java:

  • Oracle JDK 8u261 ou mais recente, mas menor que o Oracle JDK 8u341
  • OpenJDK 8u272 ou posterior, mas menor que o OpenJDK 8u352

No processador de mensagens, defina a propriedade Java jdk.tls.client.protocols. Os valores são separados por vírgula e podem conter um ou mais de TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 e SSLv3.

Por exemplo, definir -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 ativa o protocolos TLSv1.2 e TLSv1.3.

Consulte Alterar outros propriedades da JVM para aprender a definir propriedades da JVM em um componente do Edge.

Para ativar os protocolos TLS v1, v1.1, v1.2 e v1.3:

  1. Defina a seguinte configuração em o arquivo de configuração do processador de mensagens (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Reinicie o processador de mensagens.
>

Como desativar o TLS v1.3 quando ele está ativado por padrão

Se estiver usando o Oracle JDK 8u341 ou posterior ou o OpenJDK 8u352 ou posterior, o TLSv1.3 é ativado pelo padrão para clientes. Para desativar o TLS v1.3 nesses casos, há duas opções:

Verificar a versão do Java em um processador de mensagens

Para verificar a versão do Java instalada em um processador de mensagens, faça login no processador de mensagens nó e execute o seguinte comando:

java -version

O exemplo de saída abaixo mostra que o OpenJDK 8u312 está instalado.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

Criptografias compatíveis

No momento, o Java 8 é compatível com duas criptografias TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

É possível usar openssl para verificar se o servidor de destino oferece suporte ao TLS v1.3 e a pelo menos um dos criptografias acima usando abaixo. Observe que esse exemplo usa o utilitário openssl11, que tem TLS v1.3 ativado.

$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3