Merotasi sertifikat SSL/TLS - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Merotasi sertifikat SSL/TLS

Sertifikat Otoritas Sertifikat Amazon RDS rds-ca-2019 akan kedaluwarsa pada Agustus 2024. Jika Anda menggunakan atau berencana untuk menggunakan Secure Sockets Layer (SSL) atau Transport Layer Security (TLS) dengan verifikasi sertifikat untuk terhubung ke instans RDS DB atau cluster DB multi-AZ, pertimbangkan untuk menggunakan salah satu sertifikat rds-ca-rsa CA baru 2048-g1, 4096-g1 atau 384-g1. rds-ca-rsa rds-ca-ecc Jika saat ini Anda tidak menggunakan SSL/TLS dengan verifikasi sertifikat, Anda mungkin masih memiliki sertifikat CA yang kedaluwarsa dan harus memperbaruinya ke sertifikat CA baru jika Anda berencana untuk menggunakan SSL/TLS dengan verifikasi sertifikat untuk terhubung ke basis data RDS Anda.

Ikuti petunjuk ini untuk menyelesaikan pembaruan Anda. Sebelum memperbarui instans DB atau cluster DB multi-AZ untuk menggunakan sertifikat CA baru, pastikan Anda memperbarui klien atau aplikasi yang terhubung ke database RDS Anda.

Amazon RDS menyediakan sertifikat CA baru sebagai praktik terbaik AWS keamanan. Untuk informasi tentang sertifikat baru dan AWS Wilayah yang didukung, lihat.

catatan

Amazon RDS Proxy menggunakan sertifikat dari AWS Certificate Manager (ACM). Jika Anda menggunakan RDS Proxy, ketika Anda memutar sertifikat SSL/TLS Anda, Anda tidak perlu memperbarui aplikasi yang menggunakan koneksi Proxy RDS. Untuk informasi selengkapnya, lihat Penggunaan TLS/SSL dengan Proksi RDS.

catatan

Jika Anda menggunakan aplikasi Go versi 1.15 dengan instans DB atau cluster DB multi-AZ yang dibuat atau diperbarui ke sertifikat rds-ca-2019 sebelum 28 Juli 2020, Anda harus memperbarui sertifikat lagi. Jalankan modify-db-instance perintah untuk instans DB, atau modify-db-cluster perintah untuk cluster DB multi-AZ, menggunakan pengidentifikasi sertifikat CA baru. Anda dapat menemukan CA yang tersedia untuk mesin DB dan versi mesin DB tertentu menggunakan perintah describe-db-engine-versions.

Jika Anda membuat database atau memperbarui sertifikatnya setelah 28 Juli 2020, tidak ada tindakan yang diperlukan. Untuk informasi selengkapnya, lihat Go GitHub issue #39568.

Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB

Contoh berikut memperbarui sertifikat CA dari rds-ca-2019 ke rds-ca-rsa2048-g1. Anda dapat memilih sertifikat yang berbeda. Untuk informasi selengkapnya, lihat Otoritas sertifikat.

Perbarui toko kepercayaan aplikasi Anda untuk mengurangi waktu henti yang terkait dengan memperbarui sertifikat CA Anda. Untuk informasi selengkapnya tentang restart yang terkait dengan rotasi sertifikat CA, lihatRotasi sertifikat server otomatis.

Untuk memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB
  1. Unduh sertifikat SSL/TLS yang baru seperti yang dijelaskan dalam .

  2. Perbarui aplikasi Anda untuk menggunakan sertifikat SSL/TLS baru.

    Metode untuk memperbarui aplikasi untuk sertifikat SSL/TLS baru bergantung pada aplikasi spesifik Anda. Bekerja samalah dengan developer aplikasi Anda untuk memperbarui sertifikat SSL/TLS untuk aplikasi Anda.

    Untuk informasi tentang pemeriksaan koneksi SSL/TLS dan pembaruan aplikasi untuk setiap mesin DB, lihat topik berikut:

    Untuk contoh skrip yang memperbarui trust store untuk sistem operasi Linux, lihat Contoh skrip untuk mengimpor sertifikat ke trust store Anda.

    catatan

    Paket sertifikat berisi sertifikat untuk CA lama dan baru, sehingga Anda dapat meningkatkan aplikasi Anda dengan aman dan mempertahankan konektivitas selama periode transisi. Jika Anda menggunakan AWS Database Migration Service untuk memigrasikan database ke instans DB atau cluster , sebaiknya gunakan bundel sertifikat untuk memastikan konektivitas selama migrasi.

  3. Ubah instans DB atau cluster DB multi-AZ untuk mengubah CA dari rds-ca-2019 menjadi rds-ca-rsa2048-g1. Untuk memeriksa apakah basis data Anda memerlukan pengaktifan ulang agar dapat memperbarui sertifikat CA, gunakan perintah describe-db-engine-versions dan periksa tanda SupportsCertificateRotationWithoutRestart.

    penting

    Jika Anda mengalami masalah konektivitas setelah masa berlaku sertifikat berakhir, gunakan opsi terapkan segera dengan menentukan Terapkan segera di konsol atau dengan menentukan opsi --apply-immediately menggunakan AWS CLI. Secara default, operasi ini dijadwalkan untuk berjalan selama periode pemeliharaan berikutnya.

    Untuk mengatur penggantian CA klaster Anda yang berbeda dari CA RDS default, gunakan perintah CLI modify-certificates.

Anda dapat menggunakan AWS Management Console atau AWS CLI untuk mengubah sertifikat CA dari rds-ca-2019 ke rds-ca-rsa2048-g1 untuk instans DB atau cluster DB multi-AZ.

  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Databases, lalu pilih instans DB atau cluster DB multi-AZ yang ingin Anda modifikasi.

  3. Pilih Ubah.

    Ubah instans DB atau cluster DB Multi-AZ
  4. Di bagian Konektivitas, pilih rds-ca-rsa2048-g1.

    Pilih sertifikat CA
  5. Pilih Lanjutkan dan periksa ringkasan modifikasi.

  6. Untuk segera menerapkan perubahan, pilih Terapkan segera.

  7. Di halaman konfirmasi, tinjau perubahan Anda. Jika benar, pilih Modify DB Instance atau Modify cluster untuk menyimpan perubahan Anda.

    penting

    Saat Anda menjadwalkan operasi ini, pastikan bahwa Anda telah memperbarui trust store sisi klien sebelumnya.

    Atau pilih Kembali untuk mengedit perubahan atau Batalkan untuk membatalkan perubahan Anda.

Untuk menggunakan untuk mengubah CA dari rds-ca-2019 AWS CLI ke rds-ca-rsa2048-g1 untuk instansDB atau cluster DB multi-AZ, panggil perintah modify-db-instance atau modify-db-cluster. Tentukan instans DB atau pengidentifikasi cluster dan --ca-certificate-identifier opsi.

Gunakan --apply-immediately parameter untuk segera menerapkan pembaruan. Secara default, operasi ini dijadwalkan untuk berjalan selama periode pemeliharaan berikutnya.

penting

Saat Anda menjadwalkan operasi ini, pastikan bahwa Anda telah memperbarui trust store sisi klien sebelumnya.

contoh DB

Contoh berikut memodifikasi mydbinstance dengan menyetel sertifikat CA kerds-ca-rsa2048-g1.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --ca-certificate-identifier rds-ca-rsa2048-g1

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --ca-certificate-identifier rds-ca-rsa2048-g1
catatan

Jika instance Anda memerlukan reboot, Anda dapat menggunakan perintah CLI modify-db-instance dan menentukan opsi. --no-certificate-rotation-restart

Kluster DB multi-AZ

Contoh berikut memodifikasi mydbcluster dengan menyetel sertifikat CA kerds-ca-rsa2048-g1.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --ca-certificate-identifier rds-ca-rsa2048-g1

Untuk Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --ca-certificate-identifier rds-ca-rsa2048-g1

Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan

Lakukan langkah-langkah berikut untuk memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan.

Untuk memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Pembaruan sertifikat.

    Opsi panel navigasi rotasi sertifikat

    Halaman Basis data yang memerlukan pembaruan sertifikat akan muncul.

    Perbarui sertifikat CA untuk database
    catatan

    Halaman ini hanya menampilkan instans dan cluster DB untuk saat ini. Wilayah AWS Jika Anda memiliki database di lebih dari satu Wilayah AWS, periksa halaman ini di masing-masing Wilayah AWS untuk melihat semua instance DB dengan sertifikat SSL/TLS lama.

  3. Pilih instans DB atau cluster DB multi-AZ yang ingin Anda perbarui.

    Anda dapat menjadwalkan rotasi sertifikat untuk periode pemeliharaan berikutnya dengan memilih Jadwal. Segera terapkan rotasi dengan memilih Terapkan sekarang.

    penting

    Jika Anda mengalami masalah konektivitas setelah sertifikat kedaluwarsa, gunakan opsi Terapkan sekarang.

    1. Jika Anda memilih Jadwal, Anda akan diminta untuk mengonfirmasi rotasi sertifikat CA. Prompt ini juga menyatakan periode terjadwal untuk pembaruan Anda.

      Konfirmasikan rotasi sertifikat
    2. Jika Anda memilih Terapkan sekarang, Anda akan diminta untuk mengonfirmasi rotasi sertifikat CA.

      Konfirmasikan rotasi sertifikat
    penting

    Sebelum menjadwalkan rotasi sertifikat CA di basis data Anda, perbarui aplikasi klien yang menggunakan SSL/TLS dan sertifikat server untuk terhubung. Pembaruan ini khusus untuk mesin DB Anda. Setelah Anda memperbarui aplikasi klien ini, Anda dapat mengonfirmasi rotasi sertifikat CA.

    Untuk melanjutkan, pilih kotak centang, lalu pilih Konfirmasi.

  4. Ulangi langkah 3 dan 4 untuk setiap instans dan cluster DB yang ingin Anda perbarui.

Rotasi sertifikat server otomatis

Jika CA Anda mendukung rotasi sertifikat server otomatis, RDS secara otomatis menangani rotasi sertifikat server DB. RDS menggunakan CA root yang sama untuk rotasi otomatis ini, jadi Anda tidak perlu mengunduh paket CA baru. Lihat Otoritas sertifikat.

Rotasi dan validitas sertifikat server DB Anda bergantung pada mesin DB Anda:

  • Jika mesin DB Anda mendukung rotasi tanpa pengaktifan ulang, RDS secara otomatis merotasi sertifikat server DB tanpa memerlukan tindakan apa pun dari Anda. RDS mencoba merotasi sertifikat server DB Anda dalam periode pemeliharaan yang Anda pilih di waktu paruh sertifikat server DB. Sertifikat server DB baru berlaku selama 12 bulan.

  • Jika mesin DB Anda tidak mendukung rotasi tanpa pengaktifan ulang, RDS memberi tahu Anda tentang peristiwa pemeliharaan setidaknya 6 bulan sebelum sertifikat server DB kedaluwarsa. Sertifikat server DB baru berlaku selama 36 bulan.

Gunakan describe-db-engine-versionsperintah dan periksa SupportsCertificateRotationWithoutRestart bendera untuk mengidentifikasi apakah versi mesin DB mendukung memutar sertifikat tanpa memulai ulang. Untuk informasi selengkapnya, lihat Mengatur CA untuk basis data Anda.

Contoh skrip untuk mengimpor sertifikat ke trust store Anda

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store.

Setiap skrip shell menggunakan keytool, yang merupakan bagian dari Java Development Kit (JDK). Untuk informasi tentang cara menginstal JDK, lihat JDK Installation Guide.

Contoh skrip untuk mengimpor sertifikat di Linux

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store di sistem operasi Linux.

mydir=tmp/certs if [ ! -e "${mydir}" ] then mkdir -p "${mydir}" fi truststore=${mydir}/rds-truststore.jks storepassword=changeit curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" > ${mydir}/global-bundle.pem awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1}{print > "rds-ca-" n+1 ".pem"}' < ${mydir}/global-bundle.pem for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print') echo "Importing $alias" keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt rm $CERT done rm ${mydir}/global-bundle.pem echo "Trust store content is: " keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'` echo " Certificate ${alias} expires in '$expiry'" done

Contoh skrip untuk mengimpor sertifikat di macOS

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store di sistem operasi macOS.

mydir=tmp/certs if [ ! -e "${mydir}" ] then mkdir -p "${mydir}" fi truststore=${mydir}/rds-truststore.jks storepassword=changeit curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" > ${mydir}/global-bundle.pem split -p "-----BEGIN CERTIFICATE-----" ${mydir}/global-bundle.pem rds-ca- for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print') echo "Importing $alias" keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt rm $CERT done rm ${mydir}/global-bundle.pem echo "Trust store content is: " keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'` echo " Certificate ${alias} expires in '$expiry'" done