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 o 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 no Java, consulte as notas da versão de 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 encontrar a versão do Java instalada no processador de mensagens.

TLS v1.3 e versões do Java

O recurso TLS 1.3 foi introduzido nas seguintes 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 papéis de cliente:

  • Oracle JDK 8u261 ou posterior, mas anterior ao Oracle JDK 8u341
  • OpenJDK 8u272 ou posterior, mas anterior ao 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á deve estar ativado por padrão nas funções do cliente (o processador de mensagens atua como um cliente para conexões TLS no sentido sul). Portanto, não é necessário 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 precisa ser compatível com o TLS v1.3.
  • O TLS v1.3 precisa estar ativado no Java no processador de mensagens.
  • O TLS v1.3 precisa estar ativado no aplicativo do processador de mensagens.

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

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

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

No processador de mensagens, defina a propriedade Java jdk.tls.client.protocols. Os valores são separados por vírgulas 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 os protocolos de 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 está 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 você quiser 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 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 é compatível com duas criptografias TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Use openssl para verificar se o servidor de destino é compatível com o TLS v1.3 e pelo menos uma das criptografias acima usando o comando abaixo. 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