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 diretto a sud (traffico tra il processore di messaggi e il server di backend).

Per ulteriori informazioni sulla funzionalità TLS 1.3 in Java, vedi Note di rilascio dell'aggiornamento JDK 8u261.

La procedura per attivare TLS 1.3 dipende dalla versione di Java in uso. Consulta Verifica la versione di 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 di cliente:

  • Oracle JDK 8u261 o versione successiva, ma inferiore a Oracle JDK 8u341
  • OpenJDK 8u272 o versione successiva, ma inferiore a OpenJDK 8u352

Se utilizzi una di queste versioni, devi abilitare TLS v1.3, come descritto in Come attivare TLS v1.3 se 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 agisce come un per le connessioni TLS in direzione sud), quindi non è richiesta alcuna azione da parte tua:

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

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

  • Il Java sottostante 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 Processore di messaggi.

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

Questa sezione spiega come abilitare TLS v1.3 nel caso in cui utilizzi uno dei seguenti di Java:

  • Oracle JDK 8u261 o versione successiva, ma inferiore a Oracle JDK 8u341
  • OpenJDK 8u272 o versione successiva, ma inferiore 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ù di TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 e SSLv3.

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

Vedi Cambiare altro dalle proprietà JVM a scopri 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 in il 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 disabilitare TLS v1.3 quando è abilitato per impostazione predefinita

Se utilizzi Oracle JDK 8u341 o versione successiva oppure OpenJDK 8u352 o versione successiva, TLSv1.3 è abilitato predefinito per i clienti. Se desideri disabilitare TLS v1.3 in questi casi, hai due opzioni:

Verifica la versione di Java in un processore di messaggi

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

java -version

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

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

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 uno dei crittografie sovrapposte utilizzando il di seguito. Tieni presente che questo esempio utilizza l'utilità openssl11, che ha TLS v1.3 abilitato.

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