Configura TLS 1.3 para el tráfico con dirección sur

En esta página, se explica cómo configurar TLS 1.3 en Apigee Message Processor para el tráfico hacia el sur (tráfico entre el Message Processor y el servidor backend).

Para obtener más información sobre la función TLS 1.3 en Java, consulta Notas de la versión de la actualización de JDK 8u261.

El procedimiento para habilitar TLS 1.3 depende de la versión de Java que uses. Consulta Consulta la versión de Java en un procesador de mensajes a continuación para encontrar la versión de Java instalada en el Message Processor.

TLS v1.3 y versiones de Java

La función TLS 1.3 se introdujo en las siguientes versiones de Java:

  • Oracle JDK 8u261
  • OpenJDK 8u272

En las siguientes versiones de Java, existe la función TLS v1.3, pero no está habilitada de forma predeterminada en roles de cliente:

  • Oracle JDK 8u261 o versiones posteriores, pero anteriores a Oracle JDK 8u341
  • OpenJDK 8u272 o posterior, pero inferior a OpenJDK 8u352

Si usas una de estas versiones, debes habilitar TLS v1.3, como se describe. Consulta Cómo habilitar TLS v1.3 cuando no está habilitado de forma predeterminada.

Si usas una de las siguientes versiones, TLS v1.3 ya debería estar habilitado de forma predeterminada. en roles de clientes (Message Processor actúa como un cliente para conexiones TLS hacia el sur), por lo que no es necesario que realices ninguna acción:

  • Oracle JDK 8u341 o versiones posteriores
  • OpenJDK 8u352 o versiones posteriores

Para que TLS v1.3 funcione, se deben cumplir los siguientes requisitos:

  • Java subyacente en Message Processor debe ser compatible con TLS v1.3.
  • TLS v1.3 debe estar habilitado en Java en Message Processor.
  • TLS v1.3 debe estar habilitado en la aplicación Message Processor.

Cómo habilitar TLS v1.3 en Java cuando no está habilitado de forma predeterminada

En esta sección, se explica cómo habilitar TLS v1.3 en caso de que uses uno de los siguientes métodos de Java:

  • Oracle JDK 8u261 o versiones posteriores, pero anteriores a Oracle JDK 8u341
  • OpenJDK 8u272 o posterior, pero inferior a OpenJDK 8u352

En el procesador de mensajes, establece la propiedad jdk.tls.client.protocols de Java. Los valores están separados por comas y pueden contener uno o más de TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 y SSLv3

Por ejemplo, configurar -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 habilita el cliente los protocolos TLSv1.2 y TLSv1.3.

Consulta Cambiar otro Propiedades de JVM en aprenderás a configurar propiedades de JVM en un componente de Edge.

Para habilitar los protocolos TLS v1, v1.1, v1.2 y v1.3, haz lo siguiente:

  1. Establece la siguiente configuración en el archivo de configuración del procesador de mensajes (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Reinicia el procesador de mensajes.
>

Cómo inhabilitar TLS v1.3 cuando está habilitado de forma predeterminada

Si usas Oracle JDK 8u341 o OpenJDK 8u352 o una versión posterior, TLSv1.3 se habilita mediante de forma predeterminada para los clientes. Si deseas inhabilitar TLS v1.3 en esos casos, tienes dos opciones:

  • Configura el SSLInfo del servidor de destino y asegúrate de que TLSv1.3 no se mencione en el protocolos. Consulta Elementos de configuración de TargetEndpoint TLS/SSL. Nota: Si no se especifican protocolos en la configuración del servidor de destino, cualquiera que sea los protocolos compatibles con Java se enviarán como opciones en el protocolo de enlace del cliente.
  • Inhabilita TLS v1.3 en el procesador de mensajes inhabilitando el protocolo por completo. Consulta Configura el protocolo TLS en Message Processor.

Verifica la versión de Java en un Message Processor

Para verificar la versión de Java instalada en un Message Processor, accede a Message Processor y ejecuta el siguiente comando:

java -version

En el resultado de muestra que aparece a continuación, se muestra que 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)

Algoritmos de cifrado compatibles

En la actualidad, Java 8 admite 2 algoritmos de cifrado TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Puedes usar openssl para verificar si tu servidor de destino es compatible con TLS v1.3 y al menos uno de los los algoritmos de cifrado anteriores usando las siguientes opciones. Ten en cuenta que este ejemplo usa la utilidad openssl11, que tiene TLS v1.3 habilitado

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