Configurazione di TLS 1.3 per il traffico in direzione sud

Questa pagina spiega come configurare TLS 1.3 nei processori di messaggi Apigee per il traffico in direzione sud (traffico tra il processore di messaggi e il server di backend).

Per scoprire di più sulla funzionalità TLS 1.3 in Java, consulta le note di rilascio dell'aggiornamento di JDK 8u261.

La procedura per abilitare TLS 1.3 dipende dalla versione di Java in uso. Consulta Controlla la versione Java in un processore di messaggi di seguito per trovare la versione di Java installata nel processore di messaggi.

TLS v1.3 e versioni Java

La funzionalità TLS 1.3 è stata introdotta nelle seguenti versioni di Java:

  • Oracle JDK 8u261
  • OpenJDK 8u272

Nelle seguenti versioni di Java, la funzionalità TLS v1.3 esiste, ma non è abilitata per impostazione predefinita nei ruoli client:

  • Oracle JDK 8u261 o successivo ma inferiore a Oracle JDK 8u341
  • OpenJDK 8u272 o versioni successive ma inferiori a OpenJDK 8u352

Se utilizzi una di queste versioni, devi abilitare TLS v1.3, come descritto in Come abilitare TLS v1.3 quando non è abilitato per impostazione predefinita.

Se utilizzi una delle versioni seguenti, TLS v1.3 dovrebbe essere già abilitato per impostazione predefinita nei ruoli client (il processore di messaggi funge da client per le connessioni TLS in direzione sud), quindi non devi intraprendere alcuna azione:

  • Oracle JDK 8u341 o versioni successive
  • OpenJDK 8u352 o versioni successive

Affinché TLS v1.3 funzioni, devono essere soddisfatte tutte le condizioni seguenti:

  • Il supporto Java sul processore di messaggi deve supportare TLS v1.3.
  • TLS v1.3 deve essere abilitato in Java sul processore di messaggi.
  • TLS v1.3 deve essere abilitato nell'applicazione Message Processor.

Come abilitare TLS v1.3 in Java quando non è abilitato per impostazione predefinita.

In questa sezione viene spiegato come abilitare TLS v1.3 se utilizzi una delle seguenti versioni di Java:

  • Oracle JDK 8u261 o successivo ma inferiore a Oracle JDK 8u341
  • OpenJDK 8u272 o versioni successive ma inferiori a OpenJDK 8u352

Nel processore di messaggi, imposta la proprietà Java jdk.tls.client.protocols. I valori sono separati da virgole e possono contenere uno o più tra TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 e SSLv3.

Ad esempio, l'impostazione di -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 abilita i protocolli client TLSv1.2 e TLSv1.3.

Consulta la sezione Modificare altre proprietà JVM per scoprire come impostare le proprietà JVM in un componente Edge.

Per abilitare i protocolli TLS v1, v1.1, v1.2 e v1.3:

  1. Imposta la seguente configurazione nel file di configurazione del processore di messaggi (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Riavvia il processore di messaggi.
>

Come disattivare TLS v1.3 quando è abilitato per impostazione predefinita

Se utilizzi Oracle JDK 8u341 o versioni successive oppure OpenJDK 8u352 o versioni successive, TLSv1.3 è abilitato per impostazione predefinita per i client. Se desideri disattivare TLS v1.3 in questi casi, hai due opzioni:

Controlla la versione Java in un processore di messaggi

Per verificare la versione di Java installata in un processore di messaggi, accedi al nodo del processore di messaggi ed esegui questo comando:

java -version

L'output di esempio riportato di seguito mostra che OpenJDK 8u312 è installato.

$ 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)

Crittografia supportata

Attualmente, Java 8 supporta 2 crittografie TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Puoi utilizzare openssl per verificare se il server di destinazione supporta TLS v1.3 e almeno una delle crittografie indicate di seguito. Tieni presente che questo esempio utilizza l'utilità openssl11 in cui è abilitato TLS 1.3.

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