Saat mengonfigurasi Pendengar HTTPS untuk instans CLB, kebijakan keamanan TLS menentukan versi protokol TLS dan paket sandi yang digunakan dalam negosiasi TLS dengan klien. CLB menyediakan beberapa kebijakan keamanan TLS yang telah ditentukan sebelumnya.
Cara kerja
Kebijakan keamanan TLS untuk CLB menentukan versi protokol TLS dan paket sandi yang didukung selama negosiasi TLS. Dalam proses jabat tangan TLS, klien mengirim daftar versi protokol dan paket sandi yang didukungnya melalui pesan Client Hello. Berdasarkan kebijakan tersebut, CLB memilih kombinasi versi protokol dan paket sandi yang didukung bersama dari daftar klien dan merespons dengan pesan Server Hello. Kombinasi ini menentukan langkah-langkah selanjutnya, seperti pertukaran kunci dan pembuatan kunci sesi.
Kebijakan keamanan TLS
Standar kepatuhan keamanan mungkin mewajibkan instans CLB Anda menggunakan kebijakan keamanan TLS tertentu. Tabel berikut menjelaskan versi protokol TLS dan paket sandi yang didukung oleh setiap kebijakan untuk membantu Anda memilih yang sesuai dengan persyaratan Anda. CLB tidak mendukung kebijakan keamanan TLS kustom. Jika Anda memerlukan fungsionalitas ini, gunakan Application Load Balancer (ALB) atau Network Load Balancer (NLB).
Untuk aplikasi yang menghadap Internet tanpa persyaratan kompatibilitas khusus, kami merekomendasikan penggunaan kebijakan tls_cipher_policy_1_2 atau yang lebih ketat.
Mengonfigurasi kebijakan keamanan TLS
Konsol
Saat menambahkan pendengar HTTPS, klik Modify di samping Advanced Settings pada tab Certificate Management Service. Pada bagian yang diperluas, pilih TLS Security Policy.
Untuk memodifikasi kebijakan keamanan TLS, buka tab Listener pada halaman detail instans, lalu klik nama Pendengar HTTPS target untuk membuka kotak dialog Listener Details. Pada bagian SSL Certificate, ubah TLS Security Policy.
API
Saat memanggil CreateLoadBalancerHTTPSListener untuk membuat Pendengar HTTPS atau SetLoadBalancerHTTPSListenerAttribute untuk memodifikasinya, tentukan kebijakan keamanan TLS melalui parameter TLSCipherPolicy.
Penagihan
Kebijakan keamanan TLS tidak dikenai biaya tambahan. Namun, penggunaan instans CLB tetap dikenai biaya.
FAQ
Kebijakan keamanan TLS kustom pada CLB
Tidak. CLB hanya mendukung kebijakan keamanan TLS yang telah ditentukan sebelumnya.
Jika Anda memerlukan kebijakan keamanan TLS kustom, misalnya untuk memenuhi persyaratan kepatuhan keamanan tertentu, gunakan salah satu produk berikut:
-
ALB: Anda dapat mengonfigurasi kebijakan keamanan TLS kustom untuk Pendengar HTTPS.
-
NLB: Anda dapat mengonfigurasi kebijakan keamanan TLS kustom untuk pendengar TCP/SSL.
Mengapa konfigurasi ssl_protocols Nginx backend saya tidak berlaku?
CLB menghentikan koneksi TLS. Versi TLS yang terlihat oleh klien ditentukan oleh kebijakan keamanan TLS CLB, bukan oleh direktif ssl_protocols pada server backend Anda. Untuk mengubah versi TLS yang didukung, modifikasi kebijakan keamanan TLS untuk Pendengar HTTPS target: pada tab Listener, klik nama Pendengar HTTPS untuk membuka kotak dialog Listener Details, lalu ubah kebijakan keamanan TLS di bagian SSL Certificate.
Mengapa browser saya tetap menampilkan peringatan keamanan meskipun CLB telah mengikat Sertifikat SSL yang valid?
Kemungkinan penyebab dan saran troubleshooting adalah sebagai berikut:
-
Paket sandi lemah dalam kebijakan keamanan TLS: Jika kebijakan keamanan TLS untuk Pendengar HTTPS Anda diatur ke
tls_cipher_policy_1_0atau kebijakan lain yang mencakup paket sandi lemah (sepertiDES-CBC3-SHA), browser mungkin menampilkan peringatan keamanan karena paket-paket ini tidak mendukung Perfect Forward Secrecy (PFS). Kami merekomendasikan membuka halaman detail instans, mengklik tab Listener, mengklik nama Pendengar HTTPS target untuk membuka kotak dialog Listener Details, lalu mengubah TLS Security Policy menjaditls_cipher_policy_1_2_strictdi bagian SSL Certificate. -
Aturan pengalihan atau ekstensi domain yang kedaluwarsa: Jika aturan pengalihan atau ekstensi domain Anda berisi entri lama yang tidak terkait dengan domain akses saat ini, kesalahan ketidakcocokan domain sertifikat dapat terjadi. Hapus semua aturan pengalihan yang tidak diperlukan dari pendengar.
-
Ketidakcocokan domain sertifikat atau sertifikat kedaluwarsa: Verifikasi bahwa sertifikat server yang diikat ke pendengar mencakup domain akses dan belum kedaluwarsa.
-
Cache browser: Bersihkan cache browser Anda dan coba lagi.
Kami merekomendasikan melakukan troubleshooting sesuai urutan di atas.
Bagaimana cara memperbaiki kerentanan CVE-2016-2183?
CVE-2016-2183 adalah kerentanan pengungkapan informasi SSL/TLS yang dikenal sebagai serangan Sweet32. Akar penyebabnya adalah kebijakan keamanan TLS mencakup paket sandi DES-CBC3-SHA (3DES). Kebijakan tls_cipher_policy_1_0, tls_cipher_policy_1_1, dan tls_cipher_policy_1_2 semuanya mencakup paket sandi ini.
Untuk memperbaiki kerentanan ini:
-
Masuk ke konsol CLB dan buka instans CLB target.
-
Pada tab Listener, klik nama Pendengar HTTPS target untuk membuka kotak dialog Listener Details.
-
Pada bagian SSL Certificate, ubah TLS Security Policy menjadi
tls_cipher_policy_1_2_strictatautls_cipher_policy_1_2_strict_with_1_3. -
Konfirmasi dan kirim perubahan tersebut. Setelah perubahan berlaku, paket sandi
DES-CBC3-SHAdihapus dan CVE-2016-2183 diperbaiki.
Kami merekomendasikan melakukan perubahan ini selama jam sepi. Jika terjadi masalah setelah perubahan, Anda dapat segera melakukan rollback dengan memodifikasi konfigurasi pendengar.
Lingkungan produksi
-
Versi protokol TLS: Jika aplikasi Anda tidak memiliki persyaratan kompatibilitas khusus, gunakan TLS 1.2 dan TLS 1.3 untuk keamanan optimal.
-
Rollback: Jika terjadi masalah setelah Anda menyesuaikan kebijakan keamanan TLS, Anda dapat segera melakukan rollback perubahan dengan memodifikasi konfigurasi pendengar. Lakukan perubahan ini selama jam sepi.
-
Algoritma pertukaran kunci: Kecuali aplikasi Anda memiliki persyaratan kompatibilitas khusus, hindari paket sandi berbasis RSA berikut di lingkungan produksi:
AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,AES128-SHA,AES256-SHA, danDES-CBC3-SHA. Karena paket-paket ini tidak mendukung Perfect Forward Secrecy (PFS), mereka rentan terhadap serangan side-channel. Utamakan paket sandi yang menggunakan ECDHE atau DHE untuk pertukaran kunci. -
Peringkat SSL Labs: Jika pengujian SSL Labs Anda menghasilkan nilai B dan TLS 1.3 tidak didukung, pilih
tls_cipher_policy_1_2_strict_with_1_3untuk mengaktifkan TLS 1.3 dan mencapai peringkat A. CLB menghentikan koneksi TLS — versi TLS yang dinegosiasikan dengan klien ditentukan oleh kebijakan keamanan TLS CLB, bukan oleh konfigurasissl_protocolspada server backend.Tabel berikut menunjukkan peringkat SSL Labs yang terkait dengan setiap kebijakan:
Kebijakan keamanan TLS
Dukungan TLS 1.3
Peringkat SSL Labs
tls_cipher_policy_1_0
Tidak
B
tls_cipher_policy_1_1
Tidak
B
tls_cipher_policy_1_2
Tidak
B
tls_cipher_policy_1_2_strict
Tidak
B
tls_cipher_policy_1_2_strict_with_1_3
Ya
A
Rekomendasi keamanan
Kebijakan tls_cipher_policy_1_0, tls_cipher_policy_1_1, dan tls_cipher_policy_1_2 mencakup paket sandi DES-CBC3-SHA (nama IANA: 3DES_EDE_CBC_SHA). Paket ini menggunakan sandi blok 64-bit dan rentan terhadap serangan Sweet32 (CVE-2016-2183). Tingkatkan kebijakan keamanan TLS Anda ke tls_cipher_policy_1_2_strict atau yang lebih baru untuk menghilangkan risiko ini.
|
Kebijakan |
Mencakup DES-CBC3-SHA |
Rekomendasi |
|
tls_cipher_policy_1_0 |
Ya |
Wajib ditingkatkan — risiko Sweet32 (CVE-2016-2183) |
|
tls_cipher_policy_1_1 |
Ya |
Wajib ditingkatkan — risiko Sweet32 (CVE-2016-2183) |
|
tls_cipher_policy_1_2 |
Ya |
Wajib ditingkatkan — risiko Sweet32 (CVE-2016-2183) |
|
tls_cipher_policy_1_2_strict |
Tidak |
Aman |
|
tls_cipher_policy_1_2_strict_with_1_3 |
Tidak |
Aman |
Tingkatkan menggunakan konsol
-
Masuk ke konsol CLB dan buka instans target.
-
Pada tab Listener, klik nama Pendengar HTTPS target untuk membuka kotak dialog Listener Details.
-
Pada bagian SSL Certificate, ubah TLS Security Policy menjadi
tls_cipher_policy_1_2_strict. -
Konfirmasi dan kirim perubahan tersebut.
Tingkatkan menggunakan API
Panggil SetLoadBalancerHTTPSListenerAttribute dan atur parameter TLSCipherPolicy menjadi tls_cipher_policy_1_2_strict.
Pertimbangan kompatibilitas
Meningkatkan ke tls_cipher_policy_1_2_strict menghapus dukungan untuk TLS 1.0, TLS 1.1, dan paket sandi lawas termasuk DES-CBC3-SHA. Sebelum meningkatkan:
-
Verifikasi bahwa klien Anda mendukung TLS 1.2.
-
Lakukan perubahan selama jam sepi untuk meminimalkan dampak bisnis.
Pemetaan paket sandi TLS
Tabel ini menyediakan pemetaan antara format OpenSSL, format standar IANA, dan representasi heksadesimal paket sandi TLS.