TLS 1.3 für Traffic nach Süden konfigurieren

Auf dieser Seite wird erläutert, wie TLS 1.3 in Apigee Message Processors für Traffic in Süden (Traffic zwischen dem Message Processor und dem Back-End-Server) konfiguriert wird.

Weitere Informationen zur TLS 1.3-Funktion in Java finden Sie in den Versionshinweisen zum SDK 8u261.

Das Verfahren zum Aktivieren von TLS 1.3 hängt von der verwendeten Java-Version ab. Unter Java-Version in einem Message Processor prüfen unten erfahren Sie, welche Java-Version im Message Processor installiert ist.

TLS v1.3 und Java-Versionen

Die Funktion TLS 1.3 wurde in den folgenden Java-Versionen eingeführt:

  • Oracle JDK 8u261
  • OpenJDK 8u272

In den folgenden Java-Versionen ist das Feature TLS v1.3 vorhanden, ist aber in Clientrollen nicht standardmäßig aktiviert:

  • Oracle JDK 8u261 oder höher, aber kleiner als Oracle JDK 8u341
  • OpenJDK 8u272 oder höher, aber kleiner als OpenJDK 8u352

Wenn Sie eine dieser Versionen verwenden, müssen Sie TLS v1.3 aktivieren, wie unter TLS v1.3 aktivieren, wenn es nicht standardmäßig aktiviert ist beschrieben.

Wenn Sie eine der folgenden Versionen verwenden, sollte TLS v1.3 bereits in Clientrollen standardmäßig aktiviert sein (der Message Processor fungiert als Client für Southbound-TLS-Verbindungen), sodass Sie nichts unternehmen müssen:

  • Oracle JDK 8u341 oder höher
  • OpenJDK 8u352 oder höher

Damit TLS v1.3 funktioniert, müssen alle folgenden Bedingungen erfüllt sein:

  • Der zugrunde liegende Java auf Message Processor muss TLS v1.3 unterstützen.
  • TLS v1.3 muss in Java auf Message Processor aktiviert sein.
  • TLS v1.3 muss in der Message Processor-Anwendung aktiviert sein.

So aktivieren Sie TLS v1.3 in Java, wenn es nicht standardmäßig aktiviert ist.

In diesem Abschnitt wird erläutert, wie TLS v1.3 aktiviert wird, falls Sie eine der folgenden Java-Versionen verwenden:

  • Oracle JDK 8u261 oder höher, aber kleiner als Oracle JDK 8u341
  • OpenJDK 8u272 oder höher, aber kleiner als OpenJDK 8u352

Legen Sie im Message Processor das Java-Attribut jdk.tls.client.protocols fest. Werte werden durch Kommas getrennt und können TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 oder SSLv3 enthalten.

Wenn Sie beispielsweise -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 festlegen, werden die Clientprotokolle TLSv1.2 und TLSv1.3 aktiviert.

Informationen zum Festlegen der JVM-Eigenschaften in einer Edge-Komponente finden Sie unter Andere JVM-Eigenschaften ändern.

So aktivieren Sie die Protokolle TLS v1, v1.1, v1.2 und v1.3:

  1. Legen Sie in der Konfigurationsdatei des Message Processor (/opt/apigee/customer/application/message-processor.properties) die folgende Konfiguration fest:
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Starten Sie den Message Processor neu.
>

So deaktivieren Sie TLS v1.3, wenn es standardmäßig aktiviert ist

Wenn Sie Oracle JDK 8u341 oder höher oder OpenJDK 8u352 oder höher verwenden, ist TLSv1.3 für Clients standardmäßig aktiviert. Wenn Sie TLS v1.3 in solchen Fällen deaktivieren möchten, haben Sie zwei Möglichkeiten:

  • Konfigurieren Sie SSLInfo des Zielservers und achten Sie darauf, dass TLSv1.3 nicht in der Protokollliste aufgeführt ist. Siehe TLS/SSL-Zielendpunkt-Konfigurationselemente. Hinweis: Wenn in der Zielserverkonfiguration keine Protokolle angegeben sind, werden alle von Java unterstützten Protokolle als Optionen im Client-Handshake gesendet.
  • Deaktivieren Sie TLS v1.3 im Message Processor, indem Sie das Protokoll vollständig deaktivieren. Siehe TLS-Protokoll auf dem Message Processor festlegen.

Java-Version in einem Message Processor prüfen

Um die in einem Message Processor installierte Java-Version zu prüfen, melden Sie sich beim Message Processor-Knoten an und führen Sie den folgenden Befehl aus:

java -version

Die folgende Beispielausgabe zeigt, dass OpenJDK 8u312 installiert ist.

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

Unterstützte Chiffren

Derzeit unterstützt Java 8 zwei TLS v1.3-Chiffren:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Mit openssl können Sie prüfen, ob Ihr Zielserver TLS v1.3 und mindestens eine der oben genannten Chiffren unterstützt, die Sie unten verwenden. Hinweis: In diesem Beispiel wird das Dienstprogramm openssl11 verwendet, für das TLS v1.3 aktiviert ist.

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