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 as Notas de lançamento da atualização do JDK 8u261.

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

Versões TLS v1.3 e Java

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

  • Oracle JDK 8u261
  • OpenJDK 8u272

Nas versões Java a seguir, o recurso TLS v1.3 existe, mas não é ativado por padrão em papéis de cliente:

  • Oracle JDK 8u261 ou mais recente, mas anterior ao Oracle JDK 8u341
  • OpenJDK 8u272 ou mais recente, mas anterior ao OpenJDK 8u352

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

Se você estiver usando uma das versões a seguir, o TLS v1.3 já estará ativado por padrão nos papéis de clientes (o processador de mensagens atua como um cliente para conexões TLS no sentido sul), portanto, você não precisará fazer nada:

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

Para que o TLS v1.3 funcione, todas as condições a seguir precisam ser atendidas:

  • O Java subjacente no processador de mensagens deve 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.

Nesta seção, explicamos como ativar o TLS v1.3 caso você esteja usando uma das seguintes versões do Java:

  • Oracle JDK 8u261 ou mais recente, mas anterior ao Oracle JDK 8u341
  • OpenJDK 8u272 ou mais recente, mas anterior ao 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 valores de TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 e SSLv3.

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

Consulte Alterar outras propriedades da JVM para saber como 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 no 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 é ativado por padrão

Se você estiver usando o Oracle JDK 8u341 ou posterior ou o OpenJDK 8u352 ou posterior, o TLSv1.3 será ativado por padrão para os clientes. Se quiser desativar o TLS v1.3 nesses casos, você tem 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 nó do processador de mensagens 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 oferece suporte a duas criptografias TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Você pode usar openssl para verificar se o servidor de destino oferece suporte ao TLS v1.3 e pelo menos uma das criptografias acima usando abaixo. Observe que este exemplo usa o utilitário openssl11, que tem o 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