Güneye giden trafik için TLS 1.3'ü yapılandırma

Bu sayfada, Apigee Mesaj İşleyiciler'de güney yönlü trafik (Mesaj İşleyici ile arka uç sunucusu arasındaki trafik) için TLS 1.3'ün nasıl yapılandırılacağı açıklanmaktadır.

Java'daki TLS 1.3 özelliği hakkında daha fazla bilgi edinmek için JDK 8u261 Güncelleme Sürüm Notları'na bakın.

TLS 1.3'ü etkinleştirme prosedürü, kullandığınız Java sürümüne bağlıdır. Mesaj İşleyici'de yüklü Java sürümünü bulmak için aşağıdaki Mesaj İşleyici'de Java sürümünü kontrol etme bölümüne bakın.

TLS v1.3 ve Java sürümleri

TLS 1.3 özelliği, Java'nın aşağıdaki sürümlerinde kullanıma sunulmuştur:

  • Oracle JDK 8u261
  • OpenJDK 8u272

Aşağıdaki Java sürümlerinde TLS v1.3 özelliği mevcuttur ancak istemci rollerinde varsayılan olarak etkinleştirilmemiştir:

  • Oracle JDK 8u261 veya sonraki sürümler ancak Oracle JDK 8u341'den önceki sürümler
  • OpenJDK 8u272 veya sonraki sürümler ancak OpenJDK 8u352'den önceki sürümler

Bu sürümlerden birini kullanıyorsanız Varsayılan olarak etkinleştirilmediğinde TLS v1.3 nasıl etkinleştirilir? bölümünde açıklandığı şekilde TLS v1.3'ü etkinleştirmeniz gerekir.

Aşağıdaki sürümlerden birini kullanıyorsanız TLS v1.3, istemci rollerinde varsayılan olarak etkinleştirilmiş olmalıdır (Mesaj İşleyici, güney yönlü TLS bağlantıları için istemci olarak çalışır). Bu nedenle herhangi bir işlem yapmanız gerekmez:

  • Oracle JDK 8u341 veya sonraki sürümler
  • OpenJDK 8u352 veya sonraki sürümler

TLS v1.3'ün çalışması için aşağıdakilerin tümü geçerli olmalıdır:

  • Mesaj İşleyici'deki temel Java, TLS v1.3'ü desteklemelidir.
  • Mesaj İşlemci'de Java'da TLS v1.3 etkinleştirilmelidir.
  • Mesaj İşleyici uygulamasında TLS v1.3 etkinleştirilmelidir.

Varsayılan olarak etkinleştirilmediğinde Java'da TLS v1.3'ü etkinleştirme

Bu bölümde, aşağıdaki Java sürümlerinden birini kullanıyorsanız TLS v1.3'ü nasıl etkinleştireceğiniz açıklanmaktadır:

  • Oracle JDK 8u261 veya sonraki sürümler ancak Oracle JDK 8u341'den önceki sürümler
  • OpenJDK 8u272 veya sonraki sürümler ancak OpenJDK 8u352'den önceki sürümler

Mesaj işlemcisinde jdk.tls.client.protocols Java özelliğini ayarlayın. Değerler virgülle ayrılır ve TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 ve SSLv3 değerlerinden birini veya daha fazlasını içerebilir.

Örneğin, -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 ayarı, TLSv1.2 ve TLSv1.3 istemci protokollerini etkinleştirir.

Bir Edge bileşeninde JVM özelliklerinin nasıl ayarlanacağını öğrenmek için Diğer JVM özelliklerini değiştirme bölümüne bakın.

TLS v1, v1.1, v1.2 ve v1.3 protokollerini etkinleştirmek için:

  1. Mesaj işlemci yapılandırma dosyasında (/opt/apigee/customer/application/message-processor.properties) aşağıdaki yapılandırmayı ayarlayın:
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Mesaj İşleyici'yi yeniden başlatın.
>

Varsayılan olarak etkinleştirildiğinde TLS v1.3'ü devre dışı bırakma

Oracle JDK 8u341 veya sonraki bir sürümü ya da OpenJDK 8u352 veya sonraki bir sürümü kullanıyorsanız TLSv1.3, istemciler için varsayılan olarak etkindir. Bu gibi durumlarda TLS v1.3'ü devre dışı bırakmak isterseniz iki seçeneğiniz vardır:

  • Hedef sunucunuzun SSLInfo'sunu yapılandırın ve protokol listesinde TLSv1.3'ün belirtilmediğinden emin olun. TLS/SSL TargetEndpoint Yapılandırma Öğeleri başlıklı makaleyi inceleyin. Not: Hedef sunucu yapılandırmasında protokol belirtilmezse Java tarafından desteklenen tüm protokoller, istemci el sıkışmasında seçenek olarak gönderilir.
  • Protokolü tamamen devre dışı bırakarak mesaj işleyicide TLS v1.3'ü devre dışı bırakın. İleti İşlemci'de TLS protokolünü ayarlama başlıklı makaleyi inceleyin.

Mesaj İşleyici'de Java sürümünü kontrol etme

Bir Mesaj İşleyici'de yüklü Java sürümünü kontrol etmek için Mesaj İşleyici düğümüne giriş yapın ve aşağıdaki komutu çalıştırın:

java -version

Aşağıdaki örnek çıkışta OpenJDK 8u312'nin yüklü olduğu gösterilmektedir.

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

Desteklenen şifreler

Şu anda Java 8, 2 TLS v1.3 şifresini desteklemektedir:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Hedef sunucunuzun TLS 1.3'ü ve yukarıdaki şifrelerden en az birini destekleyip desteklemediğini kontrol etmek için openssl aracını kullanabilirsiniz. Bu örnekte TLS v1.3'ün etkin olduğu openssl11 yardımcı programının kullanıldığını unutmayın.

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