Saat mengonfigurasi fitur enkripsi SSL untuk instance ApsaraDB RDS for MySQL, Anda dapat menggunakan sertifikat yang dikelola oleh Alibaba Cloud atau sertifikat kustom. Topik ini menjelaskan cara menggunakan sertifikat kustom untuk mengaktifkan enkripsi SSL pada instance RDS Anda.
Prasyarat
OpenSSL telah terinstal.
Instance RDS Anda menjalankan salah satu versi MySQL dan edisi RDS berikut untuk menggunakan fitur enkripsi SSL:
MySQL 8.0, MySQL 5.7, atau MySQL 5.6 pada RDS Edisi High-availability.
MySQL 8.0 atau MySQL 5.7 pada RDS Edisi Kluster.
MySQL 8.0 atau MySQL 5.7 pada RDS Edisi Basic.
Instance RDS Anda memenuhi persyaratan berikut untuk menggunakan fitur enkripsi SSL paksa:
Instance RDS menjalankan MySQL 5.7 atau MySQL 8.0.
Instance RDS menjalankan RDS Edisi Basic, RDS Edisi High-availability, atau RDS Edisi Kluster.
Instance RDS menjalankan versi mesin minor 20241130 atau lebih baru.
Jika Anda menggunakan Linux, OpenSSL sudah terinstal sebelumnya. Tidak perlu menginstal OpenSSL lagi.
Jika Anda menggunakan Windows, unduh paket OpenSSL dan instal OpenSSL.
Catatan penggunaan
Setelah enkripsi SSL diaktifkan, pemanfaatan CPU dan latensi baca-tulis akan meningkat.
Setelah enkripsi SSL diaktifkan, Anda harus menutup koneksi yang ada dan membuat koneksi baru agar enkripsi SSL berlaku.
Jika Anda mengonfigurasi atau memodifikasi sertifikat kustom atau menonaktifkan enkripsi SSL, instance RDS Anda akan di-restart. Proses restart membutuhkan waktu sekitar 3 menit. Kami merekomendasikan melakukan operasi ini selama jam-jam sepi.
Setelah mengaktifkan fitur enkripsi SSL paksa untuk instance RDS Anda, Anda hanya dapat menghubungkan klien atau proksi database ke instance RDS melalui koneksi terenkripsi SSL. Koneksi non-SSL akan ditolak.
Proses konfigurasi
Langkah 1: Dapatkan sertifikat kustom
Saat membuat kunci privat untuk sertifikat server atau sertifikat tanda tangan sendiri, jangan tambahkan kata sandi ke kunci privat. Jika Anda menambahkan kata sandi, enkripsi SSL tidak dapat diaktifkan.
Contoh berikut menggunakan CentOS untuk menjelaskan cara menghasilkan sertifikat.
Jika Anda menggunakan sistem operasi Windows, jalankan perintah openssl dengan cara yang sama seperti pada CentOS. Selain itu, salin atau edit perintah secara manual karena perintah cp dan vim tidak tersedia.
Buat sertifikat tanda tangan sendiri dan kunci privat untuk sertifikat tersebut. Sertifikat disimpan dalam file bernama server-ca.crt, sedangkan kunci privat disimpan dalam file bernama server-ca.key.
openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-ca"Buat file permintaan penandatanganan sertifikat (CSR) dan kunci privat untuk sertifikat server. File CSR diberi nama server.csr, sedangkan kunci privat disimpan dalam file bernama server.key.
Anda dapat menggunakan sertifikat kustom untuk melindungi satu titik akhir. Jalankan perintah berikut untuk menghasilkan file CSR sesuai kebutuhan bisnis Anda:
openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=rm-bpxxxxx.mysql.rds.aliyuncs.com"CatatanGanti
rm-bpxxxxx.mysql.rds.aliyuncs.comdengan titik akhir yang ingin dilindungi. Untuk informasi lebih lanjut tentang cara melihat titik akhir, lihat Lihat dan Kelola Titik Akhir dan Port Instance.Saat membuat file server.csr, Anda diminta untuk mengonfigurasi parameter berdasarkan kebutuhan bisnis Anda. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Nilai contoh
Nama Negara
Kode negara. Tentukan kode negara dua huruf yang ditentukan oleh Organisasi Internasional untuk Standardisasi (ISO).
CN
Nama Negara Bagian atau Provinsi
Provinsi.
ZheJiang
Nama Lokalitas
Kota.
HangZhou
Nama Organisasi
Nama perusahaan.
Alibaba
Nama Unit Organisasi
Nama departemen.
Aliyun
Nama Umum
Nama domain yang ingin Anda lindungi menggunakan sertifikat. Nama domain ditentukan dalam file openssl.cnf. Anda tidak perlu mengonfigurasi parameter ini.
-
Alamat Email
Anda tidak perlu mengonfigurasi parameter ini.
-
Kata sandi tantangan
Anda tidak perlu mengonfigurasi parameter ini.
-
Nama perusahaan opsional
Anda tidak perlu mengonfigurasi parameter ini.
-
Buat sertifikat server. Sertifikat disimpan dalam file bernama server.crt.
Untuk melindungi titik akhir, jalankan perintah berikut:
openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial -out server.crt
Setelah konfigurasi selesai, jalankan perintah ls untuk melihat file yang dihasilkan:
# ls
server-ca.crt server-ca.key ca.srl server.crt server.csr server.keyDaftar berikut menjelaskan file-file tersebut:
server.crt: file yang berisi sertifikat server.
server.key: file yang berisi kunci privat dari sertifikat server.
server-ca.crt: file yang berisi sertifikat tanda tangan sendiri.
server-ca.key: file yang berisi kunci privat dari sertifikat tanda tangan sendiri.
Langkah 2: Konfigurasikan sertifikat kustom untuk mengaktifkan enkripsi SSL
Setelah mengonfigurasi sertifikat kustom, status instance RDS berubah menjadi Modifying SSL Settings. Instance RDS tetap dalam keadaan ini selama 3 menit. Tunggu hingga instance RDS masuk ke status Running sebelum melanjutkan operasi lainnya.
Masuk ke konsol ApsaraDB RDS dan buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instance RDS Anda berada, temukan instance RDS, lalu klik ID instance.
Di panel navigasi kiri halaman yang muncul, klik Data Security. Pada halaman yang muncul, klik tab SSL.
Klik Custom Certificate. Lalu, klik sakelar di sebelah Disabled. Di kotak dialog yang muncul, konfigurasikan parameter Server Certificate, Private Key of Server Certificate, dan Forceful Encryption, lalu klik OK.
Parameter
Deskripsi
Server Certificate
Masukkan isi file server.crt yang Anda buat. Untuk informasi lebih lanjut, lihat Langkah 1: Buat sertifikat kustom. Pastikan semua konten dari -----BEGIN CERTIFICATE----- hingga -----END CERTIFICATE----- disalin ke bidang ini.
Private Key of Server Certificate
Masukkan isi file server.key yang Anda buat. Untuk informasi lebih lanjut, lihat Langkah 1: Buat sertifikat kustom. Pastikan semua konten dari -----BEGIN PRIVATE KEY----- hingga -----END PRIVATE KEY----- disalin ke bidang ini.
Forceful Encryption
Aktifkan atau nonaktifkan fitur berdasarkan kebutuhan bisnis Anda.
Fitur enkripsi SSL paksa hanya dapat diaktifkan saat instance RDS Anda menjalankan MySQL 5.7 dan versi mesin minor 20241130 atau lebih baru.
Setelah Anda mengaktifkan fitur enkripsi SSL paksa untuk instance RDS Anda, Anda hanya dapat menghubungkan klien atau proksi database Anda ke instance RDS melalui koneksi terenkripsi SSL. Koneksi non-SSL ditolak.
Langkah 3: Hubungkan ke instance RDS dari klien
Anda dapat menghubungkan ke instance RDS melalui SSL. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance ApsaraDB RDS for MySQL melalui SSL.
Langkah 4: (Opsional) Perbarui sertifikat kustom yang dibuat
Jika Anda memperbarui sertifikat kustom, instance RDS Anda akan di-restart kecuali Anda menggunakan MySQL 8.0. Lanjutkan dengan hati-hati.
Untuk memperbarui sertifikat kustom, klik Update SSL di tab SSL. Di kotak dialog yang muncul, konfigurasikan parameter Server Certificate dan Private Key of Server Certificate.
Langkah 5: (Opsional) Nonaktifkan enkripsi SSL
Operasi ini memicu restart instance RDS Anda. Lanjutkan dengan hati-hati.
Untuk menonaktifkan enkripsi SSL, klik sakelar di sebelah Enabled di tab SSL.
FAQ
Apa yang harus saya lakukan jika sertifikat kustom kedaluwarsa?
Masa berlaku sertifikat kustom di ApsaraDB RDS for MySQL ditentukan oleh pengguna. Sistem mengirimkan notifikasi sebelum sertifikat kedaluwarsa. Setelah menerima notifikasi, kami merekomendasikan Anda memperbarui masa berlaku sertifikat sesegera mungkin untuk mencegah dampak pada beban kerja Anda.