Mengonfigurasi TLS 1.3 untuk traffic ke selatan

Halaman ini menjelaskan cara mengonfigurasi TLS 1.3 di Pemroses Pesan Apigee untuk traffic menuju arah selatan (traffic antara Pemroses Pesan dan server backend).

Untuk mempelajari selengkapnya tentang fitur TLS 1.3 di Java, lihat Catatan Rilis Update JDK 8u261.

Prosedur untuk mengaktifkan TLS 1.3 bergantung pada versi Java yang Anda gunakan. Lihat Periksa versi Java di Pemroses Pesan di bawah untuk mengetahui versi Java yang terinstal di {i>Message Processor<i}.

TLS v1.3 dan versi Java

Fitur TLS 1.3 diperkenalkan dalam versi Java berikut:

  • JDK 8u261 Oracle
  • OpenJDK 8u272

Pada versi Java berikut, fitur TLS v1.3 ada tetapi tidak diaktifkan secara default dalam peran klien:

  • Oracle JDK 8u261 atau yang lebih baru tetapi kurang dari Oracle JDK 8u341
  • OpenJDK 8u272 atau yang lebih baru tetapi kurang dari OpenJDK 8u352

Jika menggunakan salah satu versi ini, Anda harus mengaktifkan TLS v1.3, seperti yang dijelaskan di Cara mengaktifkan TLS v1.3 saat tidak diaktifkan secara default.

Jika Anda menggunakan salah satu versi berikut, TLS v1.3 seharusnya sudah diaktifkan secara default dalam peran klien (Pemroses Pesan bertindak sebagai klien untuk koneksi TLS menuju selatan), sehingga Anda tidak perlu melakukan tindakan apa pun:

  • Oracle JDK 8u341 atau yang lebih baru
  • OpenJDK 8u352 atau yang lebih baru

Agar TLS v1.3 berfungsi, semua hal berikut harus berlaku:

  • Java yang mendasari pada Pemroses Pesan harus mendukung TLS v1.3.
  • TLS v1.3 harus diaktifkan di Java pada Pemroses Pesan.
  • TLS v1.3 harus diaktifkan di aplikasi Pemroses Pesan.

Cara mengaktifkan TLS v1.3 di Java saat tidak diaktifkan secara default.

Bagian ini menjelaskan cara mengaktifkan TLS v1.3 jika Anda menggunakan salah satu dari yang berikut versi Java:

  • Oracle JDK 8u261 atau yang lebih baru tetapi kurang dari Oracle JDK 8u341
  • OpenJDK 8u272 atau yang lebih baru tetapi kurang dari OpenJDK 8u352

Di pemroses pesan, tetapkan properti Java jdk.tls.client.protocols. Nilai dipisahkan koma dan dapat berisi satu atau lebih TLSv1, TLSv1.1, TLSv1.2, TLSv1.3, dan SSLv3.

Misalnya, menyetel -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 akan mengaktifkan klien protokol TLSv1.2 dan TLSv1.3.

Lihat ke Mengubah lainnya Properti JVM ke pelajari cara menyetel properti JVM dalam komponen Edge.

Untuk mengaktifkan protokol TLS v1, v1.1, v1.2 dan v1.3:

  1. Setel konfigurasi berikut di file konfigurasi pemroses pesan (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Mulai ulang Pemroses Pesan.
&gt;

Cara menonaktifkan TLS v1.3 saat diaktifkan secara default

Jika Anda menggunakan Oracle JDK 8u341 atau yang lebih baru, atau OpenJDK 8u352 atau yang lebih baru, TLSv1.3 diaktifkan oleh default untuk klien. Jika ingin menonaktifkan TLS v1.3 dalam kasus tersebut, Anda memiliki dua opsi:

  • Konfigurasikan SSLInfo server target Anda dan pastikan TLSv1.3 tidak disebutkan dalam daftar protokol. Lihat Elemen Konfigurasi TargetEndpoint TLS/SSL. Catatan: Jika tidak ada protokol yang ditentukan dalam konfigurasi server target, protokol yang didukung oleh Java akan dikirim sebagai opsi dalam handshake klien.
  • Nonaktifkan TLS v1.3 di pemroses pesan dengan menonaktifkan protokol sepenuhnya. Lihat Menetapkan protokol TLS di Message Processor.

Memeriksa versi Java di Pemroses Pesan

Untuk memeriksa versi Java yang terinstal di Pemroses Pesan, login ke Pemroses Pesan dan jalankan perintah berikut:

java -version

Contoh output di bawah ini menunjukkan bahwa OpenJDK 8u312 telah diinstal.

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

Cipher yang didukung

Saat ini, Java 8 mendukung 2 penyandian TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Anda dapat menggunakan openssl untuk memeriksa apakah server target Anda mendukung TLS v1.3 dan setidaknya salah satu dari penyandian di atas menggunakan kode di bawah ini. Perhatikan bahwa contoh ini menggunakan utilitas openssl11 yang memiliki TLS v1.3 diaktifkan.

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