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

Bu sayfada, güneye giden trafik (Mesaj İşleyici ile arka uç sunucusu arasındaki trafik) için Apigee Mesaj İşleyicilerinde 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 İşleyicide Java sürümünü kontrol etme bölümüne göz atı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 etkin değildir:

  • Oracle JDK 8u261 veya sonrası ancak Oracle JDK 8u341'den küçük
  • OpenJDK 8u272 veya sonraki ancak OpenJDK 8u352'den küçük

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

Aşağıdaki sürümlerden birini kullanıyorsanız TLS v1.3'ün istemci rollerinde zaten varsayılan olarak etkinleştirilmiş olması gerekir (İleti İşleyici, güneye giden TLS bağlantıları için istemci işlevi görür). Bu nedenle herhangi bir işlem yapmanız gerekmez:

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

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

  • Mesaj İşleyici'deki temel Java, TLS v1.3'ü desteklemelidir.
  • Mesaj İşleyici'de, Java'da TLS v1.3 etkinleştirilmelidir.
  • İleti İş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 sonrası ancak Oracle JDK 8u341'den küçük
  • OpenJDK 8u272 veya sonraki ancak OpenJDK 8u352'den küçük

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 bir veya daha fazlasını içerebilir.

Örneğin, -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 ayarlanırsa TLSv1.2 ve TLSv1.3 istemci protokolleri etkinleştirilir.

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

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

  1. Mesaj işlemcisi 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. Message Processor'ı 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ünü kullanıyorsanız istemciler için TLSv1.3 varsayılan olarak etkindir. Bu gibi durumlarda TLS v1.3'ü devre dışı bırakmak isterseniz iki seçeneğiniz vardır:

  • Hedef sunucunuzun SSLInfo değerini yapılandırın ve protokol listesinde TLSv1.3'ten bahsedilmediğinden emin olun. TLS/SSL TargetEndpoint Configuration Elements bölümüne bakın. Not: Hedef sunucu yapılandırmasında herhangi bir protokol belirtilmezse istemci el sıkışmasında Java tarafından desteklenen protokoller seçenek olarak gönderilir.
  • Protokolü tamamen devre dışı bırakarak ileti işlemcisinde TLS v1.3'ü devre dışı bırakın. İleti İşleyici'de TLS protokolünü ayarlama bölümüne bakın.

Mesaj İşleyicide Java sürümünü kontrol etme

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 yürütün:

java -version

Aşağıdaki örnek çıkış, OpenJDK 8u312'nin yüklü olduğunu göstermektedir.

$ 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

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

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Hedef sunucunuzun TLS v1.3'ü ve aşağıdaki şifrelerden en az birini destekleyip desteklemediğini kontrol etmek için openssl kullanabilirsiniz. Bu örneğin, TLS v1.3'ün etkin olduğu openssl11 yardımcı programını kullandığını unutmayın.

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