Mengonfigurasi TLS 1.3 untuk traffic ke selatan

Halaman ini menjelaskan cara mengonfigurasi TLS 1.3 di Apigee Message Processors untuk traffic menuju selatan (traffic antara Message Processor dan server backend).

Untuk mempelajari lebih lanjut 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 Memeriksa versi Java pada Pemroses Pesan di bawah untuk menemukan versi Java yang terinstal di Pemroses Pesan.

Versi TLS v1.3 dan Java

Fitur TLS 1.3 diperkenalkan dalam versi Java berikut:

  • Oracle JDK 8u261
  • 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 di Pemroses Pesan harus mendukung TLS v1.3.
  • TLS v1.3 harus diaktifkan di Java di 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 versi Java berikut:

  • 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 beberapa TLSv1, TLSv1.1, TLSv1.2, TLSv1.3, dan SSLv3.

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

Lihat Mengubah properti JVM lainnya untuk mempelajari cara menyetel properti JVM dalam komponen Edge.

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

  1. Tetapkan 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.
>

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 secara default untuk klien. Jika ingin menonaktifkan TLS v1.3 dalam kasus tersebut, Anda memiliki dua opsi:

  • Konfigurasi 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 ditetapkan dalam konfigurasi server target, protokol apa pun yang didukung oleh Java akan dikirim sebagai opsi di handshake klien.
  • Nonaktifkan TLS v1.3 di prosesor pesan dengan menonaktifkan protokol sepenuhnya. Lihat Menyetel protokol TLS pada Pemroses Pesan.

Memeriksa versi Java dalam Pemroses Pesan

Untuk memeriksa versi Java yang diinstal pada Message Processor, login ke node Message Processor 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 cipher 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 penyandian di atas yang menggunakan kode di bawah. Perhatikan bahwa contoh ini menggunakan utilitas openssl11 yang mengaktifkan TLS v1.3.

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