Kebijakan SSL untuk protokol SSL dan TLS

Dalam dokumen ini, istilah SSL mengacu pada protokol SSL (Secure Sockets Layer) dan TLS (Transport Layer Security).

Kebijakan SSL menentukan kumpulan fitur SSL yang digunakan load balancer Google Cloud saat menegosiasikan SSL dengan klien. Misalnya, Anda dapat menggunakan kebijakan SSL untuk menentukan versi dan fitur TLS minimum yang harus didukung setiap klien agar dapat mengirim traffic ke load balancer.

Load balancer berikut mendukung kebijakan SSL global:

  • Load Balancer Aplikasi eksternal global
  • Load Balancer Aplikasi Klasik
  • Load Balancer Aplikasi internal lintas region
  • Load Balancer Jaringan proxy eksternal global
  • Load Balancer Jaringan proxy klasik

Load balancer berikut mendukung kebijakan SSL regional:

  • Load Balancer Aplikasi eksternal regional
  • Load Balancer Aplikasi internal regional

Secara default, load balancer ini menggunakan serangkaian fitur SSL yang memberikan keamanan yang baik dan kompatibilitas yang luas. Beberapa aplikasi memerlukan kontrol lebih besar atas versi dan cipher SSL yang digunakan untuk koneksi HTTPS atau SSL-nya. Anda dapat menentukan kebijakan SSL untuk menentukan kumpulan fitur SSL yang digunakan load balancer saat menegosiasikan SSL dengan klien.

Contoh berikut menunjukkan cara koneksi dari klien dibuat dan dihentikan di load balancer.

Koneksi klien di Load Balancer Aplikasi eksternal atau Load Balancer Jaringan proxy eksternal.
Koneksi klien di Load Balancer Aplikasi eksternal atau Load Balancer Jaringan proxy eksternal (klik untuk memperbesar).

Anda dapat menggunakan kebijakan SSL untuk mengonfigurasi versi TLS minimum dan fitur SSL yang diaktifkan di load balancer. Kebijakan SSL memengaruhi koneksi antara klien dan load balancer (Koneksi-1 dalam ilustrasi). Kebijakan SSL tidak memengaruhi koneksi antara load balancer dan backend (Koneksi-2).

Menentukan kebijakan SSL

Untuk menentukan kebijakan SSL, Anda harus menentukan versi TLS minimum dan profil. Profil memilih serangkaian fitur SSL yang akan diaktifkan di load balancer.

Tiga profil terkelola Google yang telah dikonfigurasi sebelumnya memungkinkan Anda menentukan tingkat kompatibilitas yang sesuai untuk aplikasi Anda. Tiga profil yang telah dikonfigurasi sebelumnya adalah sebagai berikut:

  • KOMPATIBEL. Mengizinkan kumpulan klien terluas, termasuk klien yang hanya mendukung fitur SSL yang sudah tidak berlaku, untuk menegosiasikan SSL dengan load balancer.
  • MODERN. Mendukung berbagai fitur SSL, yang memungkinkan klien modern untuk menegosiasikan SSL.
  • DIBATASI. Mendukung serangkaian fitur SSL yang dikurangi, yang dimaksudkan untuk memenuhi persyaratan kepatuhan yang lebih ketat.

Profil CUSTOM keempat memungkinkan Anda memilih fitur SSL satu per satu.

Kebijakan SSL juga menentukan versi minimum protokol TLS yang dapat digunakan klien untuk membuat koneksi.

Perhatikan bahwa profil dapat secara tidak langsung membatasi versi TLS yang dapat dinegosiasikan oleh load balancer. Misalnya, cipher yang diaktifkan di profil RESTRICTED hanya didukung oleh TLS 1.2; sehingga memilih profil RESTRICTED secara efektif melarang klien menggunakan TLS 1.0 dan 1.1, meskipun versi TLS minimum kebijakan SSL mengizinkannya.

Jika Anda tidak memilih salah satu dari tiga profil yang telah dikonfigurasi sebelumnya atau membuat kebijakan SSL kustom, load balancer akan menggunakan kebijakan SSL default. Kebijakan SSL default setara dengan kebijakan SSL yang menggunakan profil COMPATIBLE dengan versi TLS minimum TLS 1.0.

Anda dapat melampirkan kebijakan SSL ke lebih dari satu proxy target. Anda tidak dapat mengonfigurasi lebih dari satu kebijakan SSL untuk proxy target tertentu. Setiap perubahan yang dilakukan pada kebijakan SSL tidak akan mengubah atau mengganggu koneksi load balancer yang ada.

Cloud Load Balancing tidak mendukung SSL versi 3.0 atau yang lebih lama. Tabel berikut menjelaskan dukungan fitur untuk setiap versi TLS/SSL.

Versi TLS/SSL Dukungan fitur
TLS 1.0, 1.1, atau 1.2 Setelan dalam kebijakan SSL mengontrol cipher suite yang diterapkan ke koneksi klien.
TLS 1.3 Setelan dalam kebijakan SSL tidak mengontrol pemilihan cipher. TLS 1.3 hanya mendukung cipher TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, dan TLS_CHACHA20_POLY1305_SHA256.
QUIC Setelan dalam kebijakan SSL tidak mengontrol pemilihan cipher.
SSL 3.0 atau yang lebih lama Tidak berlaku. Tidak didukung oleh Cloud Load Balancing.

Selama setiap handshake TLS, klien menunjukkan versi protokol TLS tertinggi yang didukungnya. Server diperlukan untuk memilih versi protokol tertinggi yang didukung oleh klien dan server serta diizinkan oleh konfigurasi server. Misalnya, jika load balancer dikonfigurasi dengan versi TLS minimum 1.2, handshake dengan klien modern yang mendukung TLS 1.3 akan memilih TLS 1.3. Handshake dengan klien sebelumnya yang hanya mendukung TLS 1.2 menggunakan TLS 1.2. Handshake dengan klien yang lebih lama yang hanya mendukung TLS 1.1 akan gagal.

Tabel berikut mencantumkan fitur kebijakan SSL yang tersedia untuk setiap profil yang telah dikonfigurasi sebelumnya. Semua fitur mengontrol apakah cipher suite tertentu dapat digunakan, dan hanya berlaku untuk koneksi klien yang menggunakan TLS versi 1.2 atau yang lebih lama, bukan untuk klien yang menggunakan QUIC.

Nilai IANA Fitur Dalam profil KOMPATIBEL Di profil MODERN Di profil DIBATASI
0xCCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xC02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xC02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xC02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xC009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xC013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xC00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xC014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0x009C TLS_RSA_WITH_AES_128_GCM_SHA256
0x009D TLS_RSA_WITH_AES_256_GCM_SHA384
0x002F TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x000A TLS_RSA_WITH_3DES_EDE_CBC_SHA

Update fitur

Kami berhak memperbarui kumpulan fitur yang diaktifkan di profil KOMPATIBEL, MODERN, dan TERBATASI, serta fitur mana yang dapat dikonfigurasi dalam profil CUSTOM. Kami melakukan hal ini karena kami menghapus dukungan untuk kemampuan SSL lama dan menambahkan dukungan untuk yang lebih baru.

Saat menambahkan fitur yang meningkatkan kemampuan SSL, kita dapat segera mengaktifkannya di profil COMPATIBLE, MODERN, dan RESTRICTED sehingga kebijakan SSL yang memilih profil tersebut dapat menggunakan fitur baru. Namun, jika kebijakan memilih profil KUSTOM, Anda harus mengubah setelan kebijakan untuk menggunakan fitur yang ditambahkan.

Batasan

  • Menonaktifkan versi atau cipher SSL tertentu dapat menyebabkan beberapa klien lama tidak dapat terhubung ke proxy Anda menggunakan HTTPS atau SSL. Menonaktifkan pilihan cipher yang cukup luas di profil CUSTOM dapat mengakibatkan tidak ada klien yang dapat menegosiasikan HTTPS.

  • Sertifikat SSL yang terkait dengan load balancer Anda menggunakan tanda tangan digital ECDSA atau RSA. Profil yang telah ditetapkan sebelumnya kompatibel dengan kedua jenis tanda tangan sertifikat. Profil kustom harus mengaktifkan cipher yang kompatibel dengan tanda tangan digital yang digunakan oleh sertifikat load balancer Anda.

  • Fitur yang mengontrol cipher suite hanya berlaku untuk koneksi klien yang menggunakan TLS versi 1.2 dan yang lebih lama. Cipher ini tidak mengontrol pemilihan cipher dalam koneksi yang menggunakan QUIC atau TLS 1.3.

Langkah selanjutnya