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 verso 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 JDK 8u261.

La procedura per attivare TLS 1.3 dipende dalla versione di Java che utilizzi. Consulta la sezione Controlla 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 di 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 versioni successive, ma precedenti a Oracle JDK 8u341
  • OpenJDK 8u272 o versioni successive, ma precedenti a OpenJDK 8u352

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

Se utilizzi una delle seguenti versioni, TLS v1.3 dovrebbe essere già abilitato per impostazione predefinita nei ruoli client (il processore di messaggi agisce come client per le connessioni TLS verso 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 seguenti condizioni:

  • La versione 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 attivare TLS v1.3 in Java quando non è attivo per impostazione predefinita.

Questa sezione spiega come attivare TLS v1.3 se utilizzi una delle seguenti versioni di Java:

  • Oracle JDK 8u261 o versioni successive, ma precedenti a Oracle JDK 8u341
  • OpenJDK 8u272 o versioni successive, ma precedenti 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ù dei seguenti elementi: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 e SSLv3.

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

Consulta Modifica altre proprietà JVM per scoprire come impostare le proprietà JVM in un componente Edge.

Per attivare 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 vuoi disattivare TLS v1.3 in questi casi, hai due opzioni:

  • Configura SSLInfo del server di destinazione e assicurati che TLSv1.3 non sia menzionato nell'elenco dei protocolli. Consulta Elementi di configurazione TargetEndpoint TLS/SSL. Nota: se nella configurazione del server di destinazione non sono specificati protocolli, tutti i protocolli supportati da Java verranno inviati come opzioni nell'handshake del client.
  • Disabilita TLS v1.3 nel processore di messaggi disabilitando completamente il protocollo. Consulta Imposta il protocollo TLS sul processore di messaggi.

Controlla la versione di Java in un processore di messaggi

Per controllare la versione di Java installata in un processore di messaggi, accedi al nodo del processore di messaggi ed esegui il seguente comando:

java -version

L'output di esempio riportato di seguito 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)

Cifrari supportati

Al momento, Java 8 supporta due algoritmi di crittografia TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Puoi utilizzare openssl per verificare se il tuo server di destinazione supporta TLS v1.3 e almeno uno dei cipher riportati sopra utilizzando quanto segue. Tieni presente che questo esempio utilizza l'utilità openssl11 con 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