Jika Anda menggunakan sertifikat cloud atau sertifikat kustom untuk mengaktifkan enkripsi SSL pada instans ApsaraDB RDS, klien akan memvalidasi instans RDS sebelum terhubung. Untuk memungkinkan instans RDS memvalidasi klien, Anda perlu mengonfigurasi sertifikat otoritas sertifikat (CA) klien. Topik ini menjelaskan cara mengonfigurasi sertifikat CA klien pada instans RDS.
Prasyarat
Sertifikat cloud atau sertifikat kustom telah dikonfigurasi untuk mengaktifkan fitur enkripsi SSL. Untuk informasi lebih lanjut, lihat Konfigurasikan Sertifikat Cloud untuk Mengaktifkan Fitur Enkripsi SSL atau Konfigurasikan Sertifikat Kustom untuk Mengaktifkan Fitur Enkripsi SSL.
OpenSSL telah diinstal.
CatatanSistem operasi Linux disertai dengan OpenSSL. Jika Anda menggunakan sistem operasi Linux, tidak perlu menginstal OpenSSL secara terpisah. Jika Anda menggunakan sistem operasi Windows, unduh paket perangkat lunak OpenSSL dan instal dari halaman berikut: Win32/Win64 OpenSSL.
Catatan penggunaan
Setelah sertifikat CA klien diaktifkan, Anda harus menutup koneksi yang ada dan membuat koneksi baru agar enkripsi SSL dapat diterapkan.
Saat mengaktifkan sertifikat CA klien, mengubah isi sertifikat CA klien yang dikonfigurasi, atau memodifikasi daftar pencabutan sertifikat klien (CRL), instans RDS akan me-restart. Proses restart memerlukan waktu sekitar 3 menit. Disarankan untuk melakukan operasi ini selama jam-jam sepi.
Prosedur
Langkah 1: Buat sertifikat klien
Contoh ini menggunakan CentOS. Jika Anda menggunakan sistem operasi Windows, konfigurasikan perintah openssl dengan pengaturan yang sama seperti pada CentOS.
Buat sertifikat tanda tangan sendiri dan kunci privat untuk sertifikat tersebut. Sertifikat tanda tangan sendiri disimpan dalam file bernama client-ca.crt, sedangkan kunci privat disimpan dalam file bernama client-ca.key.
openssl req -new -x509 -days 3650 -nodes -out client-ca.crt -keyout client-ca.key -subj "/CN=root-client-ca"Buat permintaan penandatanganan sertifikat (CSR) dan kunci privat untuk sertifikat klien. CSR digunakan untuk meminta sertifikat klien dan disimpan dalam file bernama client.csr. Kunci privat disimpan dalam file bernama client.key.
openssl req -new -nodes -text -out client.csr -keyout client.key -subj "/CN=<Nama pengguna yang digunakan untuk login dari klien>"CatatanPada perintah sebelumnya, parameter CN mengikuti parameter -subj. Setel parameter CN ke nama pengguna akun yang digunakan untuk terhubung ke instans RDS dari klien.
Buat sertifikat klien. Sertifikat klien disimpan dalam file bernama client.crt.
openssl x509 -req -in client.csr -text -days 365 -CA client-ca.crt -CAkey client-ca.key -CAcreateserial -out client.crt
Setelah konfigurasi selesai, jalankan perintah ls untuk melihat file yang telah dibuat.
# ls
client-ca.crt client-ca.key client-ca.srl client.crt client.csr client.keyBerikut adalah deskripsi file:
client.crt: File yang berisi sertifikat klien.
client.key: File yang berisi kunci privat sertifikat klien.
client-ca.crt: File yang berisi sertifikat tanda tangan sendiri.
client-ca.key: File yang berisi kunci privat sertifikat tanda tangan sendiri.
Langkah 2: Konfigurasikan sertifikat CA klien
Setelah sertifikat CA klien dikonfigurasi, status instans RDS berubah dari Running menjadi Modifying SSL Settings. Setelah sekitar 3 menit, status kembali menjadi Running.
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Temukan instans RDS dan klik ID instans tersebut.
Di panel navigasi sisi kiri halaman yang muncul, klik . Pada halaman yang muncul, klik tab SSL.
Klik Enable Client CA Certificate.

Di kotak dialog yang muncul, salin isi file client-ca.crt ke bidang Public Key. Lalu, klik OK.
CatatanUntuk informasi lebih lanjut tentang cara mendapatkan file client-ca.crt, lihat Langkah 1: Buat Sertifikat Klien. Pastikan semua konten dari -----BEGIN CERTIFICATE----- hingga -----END CERTIFICATE----- disalin ke bidang ini.

Langkah 3: Terhubung ke instans RDS dari klien
Anda dapat terhubung ke instans RDS dari klien melalui SSL. Untuk informasi lebih lanjut, lihat Terhubung ke Instans ApsaraDB RDS untuk PostgreSQL melalui SSL.
Langkah 4: (Opsional) Konfigurasikan file CRL
Jika Anda tidak lagi memerlukan sertifikat klien, Anda dapat mencabut sertifikat tersebut. Setelah sertifikat klien dicabut, instans RDS akan menolak permintaan akses dari klien.
Setelah file CRL dikonfigurasi, status instans RDS berubah dari Running menjadi Modifying SSL Settings. Setelah sekitar 3 menit, status kembali menjadi Running.
Siapkan file konfigurasi.
touch /etc/pki/CA/index.txt echo 1000 > /etc/pki/CA/crlnumberCatatanJika Anda menggunakan sistem operasi Windows, lakukan langkah-langkah berikut:
Buat folder CA di direktori Direktori instalasi OpenSSL\bin.
Buat file bernama index.txt di folder CA.
Jalankan perintah berikut menggunakan CLI PostgreSQL:
echo 1000 > <Direktori instalasi OpenSSL>\bin\CA\crlnumberUbah file openssl.cnf di C:\Program Files\Common Files\SSL\.
# Temukan item konfigurasi [ CA_default ]. dir = "<Direktori instalasi OpenSSL>\\bin\\CA"
Cabut sertifikat klien yang terdapat dalam file client.crt.
openssl ca -revoke client.crt -cert client-ca.crt -keyfile client-ca.keyCatatanPerintah sebelumnya memerlukan sertifikat tanda tangan sendiri dan kunci privat sertifikat tanda tangan sendiri. Sertifikat tanda tangan sendiri terdapat dalam file client-ca.crt, dan kunci privat sertifikat tanda tangan sendiri terdapat dalam file client-ca.key. Untuk informasi lebih lanjut, lihat Langkah 1: Buat Sertifikat Klien.
Buat CRL. CRL disimpan dalam file bernama client.crl.
openssl ca -gencrl -out client.crl -cert ca.crt -keyfile ca.keyDi panel navigasi sisi kiri halaman yang muncul, klik . Pada halaman yang muncul, klik tab SSL.
Klik Enable Certificate Revocation File.

Di kotak dialog yang muncul, salin isi file client.crl ke bidang Revocation File.

Langkah 5: (Opsional) Perbarui sertifikat klien
Operasi ini memicu restart instans RDS. Lanjutkan dengan hati-hati.
Di tab SSL, klik Clear Client CA Certificate. Lalu, klik Enable Client CA Certificate.