Mengonfigurasi TLS 1.3 untuk traffic ke selatan

Halaman ini menjelaskan cara mengonfigurasi TLS 1.3 di Message Processor Apigee untuk traffic southbound (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 di Message Processor di bawah untuk menemukan versi Java yang diinstal di Message Processor.

TLS v1.3 dan versi Java

Fitur TLS 1.3 diperkenalkan dalam versi Java berikut:

  • Oracle JDK 8u261
  • OpenJDK 8u272

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

  • Oracle JDK 8u261 atau yang lebih baru, tetapi lebih rendah dari Oracle JDK 8u341
  • OpenJDK 8u272 atau yang lebih baru, tetapi lebih lama dari OpenJDK 8u352

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

Jika Anda menggunakan salah satu versi berikut, TLS v1.3 seharusnya sudah diaktifkan secara default dalam peran klien (Message Processor bertindak sebagai klien untuk koneksi TLS southbound), 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 terpenuhi:

  • Java yang mendasari di Message Processor harus mendukung TLS v1.3.
  • TLS v1.3 harus diaktifkan di Java pada Message Processor.
  • TLS v1.3 harus diaktifkan di aplikasi Message Processor.

Cara mengaktifkan TLS v1.3 di Java jika 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 lebih rendah dari Oracle JDK 8u341
  • OpenJDK 8u272 atau yang lebih baru, tetapi lebih lama 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, menyetel -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 menetapkan properti JVM di komponen Edge.

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

  1. Tetapkan konfigurasi berikut dalam 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 Message Processor.
>

Cara menonaktifkan TLS v1.3 jika 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 Anda 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 apa pun 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 Message Processor

Untuk memeriksa versi Java yang diinstal di Message Processor, login ke node Message Processor dan jalankan perintah berikut:

java -version

Contoh output di bawah 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 cipher di atas menggunakan perintah 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