Instans ApsaraMQ for Kafka dengan akses Internet menggunakan Sertifikat SSL untuk mengenkripsi komunikasi antara client dan broker. Secara default, ukuran kunci Sertifikat SSL adalah 1.024 bit. Untuk memperkuat keamanan, Anda dapat meningkatkan ukuran kunci menjadi 4.096 bit.
Peningkatan ini dilakukan dalam dua tahap: pertama, ganti sertifikat di semua client, lalu ubah ukuran kunci di Konsol.
Instans serverless menggunakan ukuran kunci 4.096 bit secara default. Nilai ini tidak dapat diubah. Petunjuk berikut hanya berlaku untuk instans non-serverless.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membeli dan menerapkan instans ApsaraMQ for Kafka dengan akses Internet dalam status Running.
Memiliki akses ke Konsol ApsaraMQ for Kafka.
Cara kerja
Saat Anda mengaktifkan akses Internet pada instans ApsaraMQ for Kafka, sistem akan menginisialisasi port yang terkait SSL dan menetapkan Sertifikat SSL. Anda dapat melihat ukuran kunci saat ini di bagian Configurations pada halaman Instance Details.
Peningkatan dari 1.024 bit ke 4.096 bit mencakup dua tahap:
Sisi client — Unduh sertifikat transisi yang berisi sertifikat 1.024-bit dan 4.096-bit, terapkan ke setiap client, lalu restart client tersebut.
Sisi server — Ubah parameter SSL Certificate Key Size (Bits) di Konsol menjadi 4.096.
Sertifikat transisi (mix.4096.client.truststore.jks untuk Java, mix-4096-ca-cert untuk bahasa pemrograman lain) kompatibel dengan kedua ukuran kunci tersebut. Artinya, client tetap dapat terhubung baik saat Konsol masih menampilkan 1.024 maupun setelah beralih ke 4.096.
Langkah 1: Unduh Sertifikat SSL
Pilih file sertifikat yang sesuai dengan status penerapan dan bahasa pemrograman Anda.
Client Java
Status saat ini | File sertifikat | Deskripsi |
Instans baru (belum diterapkan) | Hanya sertifikat 4.096-bit | |
Instans yang sudah diterapkan dengan kunci 1.024-bit | Sertifikat 1.024-bit | |
Proses peningkatan dari 1.024 ke 4.096 bit | Kedua sertifikat 1.024-bit dan 4.096-bit |
Client non-Java
Status saat ini | File sertifikat | Deskripsi |
Instans baru (belum diterapkan) |
| Hanya sertifikat 4.096-bit |
Instans yang sudah diterapkan dengan kunci 1.024-bit |
| Sertifikat 1.024-bit |
Proses peningkatan dari 1.024 ke 4.096 bit |
| Kedua sertifikat 1.024-bit dan 4.096-bit |
Untuk tautan unduh sertifikat non-Java, lihat bagian "SDKs" di Ikhtisar.
Untuk peningkatan ukuran kunci, gunakan sertifikat mix. Sertifikat ini mendukung ukuran kunci 1.024-bit dan 4.096-bit, sehingga client tetap terhubung selama proses migrasi.
Langkah 2: Ganti sertifikat dan restart client
Salin file sertifikat yang telah diunduh ke direktori Sertifikat SSL pada client Anda.
Perbarui konfigurasi client agar merujuk ke file sertifikat baru. Client Java — Atur properti
ssl.truststore.locationdalam konfigurasi client Kafka Anda. Client non-Java — Arahkan ke file sertifikat CA baru. Contohnya, untuk client Python yang menggunakanconfluent-kafka:ssl.truststore.location=/path/to/mix.4096.client.truststore.jksconf = { 'bootstrap.servers': '<your-endpoint>', 'security.protocol': 'SSL', 'ssl.ca.location': '/path/to/mix-4096-ca-cert', }Restart client untuk memuat sertifikat baru.
Ulangi langkah 1–3 untuk semua client yang terhubung ke instans melalui Internet.
Verifikasi bahwa setiap client dapat memproduksi dan mengonsumsi pesan setelah direstart. Pastikan semua client berfungsi sebelum melanjutkan ke Langkah 3.
Langkah 3: Ubah ukuran kunci di Konsol
Setelah semua client menggunakan sertifikat baru:
Masuk ke Konsol ApsaraMQ for Kafka.
Buka halaman Instance Details untuk instans Anda.
Di bagian Configuration Information, ubah nilai SSL Certificate Key Size (Bits) menjadi 4096. Untuk petunjuk lengkap, lihat Modify message configurations.
Langkah 4: Verifikasi pembaruan
Di halaman Instance Details, pastikan nilai SSL Certificate Key Size (Bits) adalah 4096 di bagian Configurations.
Periksa bahwa semua client dapat memproduksi dan mengonsumsi pesan tanpa error.
(Opsional) Jika Anda menggunakan sertifikat transisi
mix, Anda dapat menggantinya dengan sertifikatonly.4096.client.truststore.jks(Java) atauonly-4096-ca-cert(non-Java) untuk menghapus sertifikat lama 1.024-bit dari client Anda.
Pemecahan masalah kegagalan koneksi SSL
Handshake failed
Jika terjadi error handshake failed atau error seperti nodename nor servname provided saat Anda terhubung ke instans ApsaraMQ for Kafka melalui SSL, lakukan langkah-langkah berikut:
Verifikasi bahwa ukuran kunci sertifikat sesuai dengan konfigurasi instans. Di halaman Instance Details pada Konsol ApsaraMQ for Kafka, periksa nilai SSL Certificate Key Size (Bits) di bagian Configurations, lalu unduh sertifikat CA yang sesuai dengan ukuran kunci tersebut.
Pastikan client mempercayai sertifikat CA dari instans ApsaraMQ for Kafka. Unduh sertifikat CA dari Konsol, atau jalankan perintah berikut untuk mengekspornya:
openssl s_client -connect <endpoint>:9093 -showcerts
Certificate verify failed (hostname mismatch)
Jika terjadi error certificate verify failed atau error ketidaksesuaian hostname saat Anda terhubung melalui SSL, penyebabnya adalah endpoint SSL menggunakan alamat IP sedangkan sertifikat instans menggunakan common name (CN) AliKafka. Akibatnya, alamat IP tidak sesuai dengan sertifikat tersebut.
Nonaktifkan verifikasi hostname dalam konfigurasi client:
Client Java (kafka-clients): Atur
ssl.endpoint.identification.algorithmmenjadi string kosong.Client Python (kafka-python): Atur
ssl_check_hostname=False.Modul
sslPython: Aturcontext.check_hostname=False.
confluent-kafka (librdkafka) tidak mendukung pengaturan langsung ssl.endpoint.identification.algorithm. Sebagai gantinya, gunakan konteks SSL kustom untuk menonaktifkan verifikasi hostname.