Merotasi sertifikat SSL/TLS - Amazon Aurora

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 berakhir 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 , 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 with certificate verification, you might still have an expired CA certificate and must update them to a new CA certificate if you plan to use SSL/TLS dengan verifikasi sertifikat untuk 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.

Untuk memperbarui sertifikat CA untuk database Anda, gunakan metode berikut:

Sebelum memperbarui instans DB untuk menggunakan sertifikat CA baru, pastikan Anda memperbarui klien atau aplikasi yang terhubung ke database RDS Anda.

Pertimbangan untuk memutar sertifikat

Pertimbangkan situasi berikut sebelum memutar sertifikat Anda:

  • Proxy RDS Amazon dan Aurora Serverless v1 penggunaan sertifikat dari AWS Certificate Manager (ACM). Jika Anda menggunakan RDS Proxy, saat memutar sertifikat SSL/TLS, Anda tidak perlu memperbarui aplikasi yang menggunakan koneksi Proxy RDS. Untuk informasi selengkapnya, lihat MenggunakanTLS/SSLdengan RDS Proxy.

  • Jika Anda menggunakan Aurora Serverless v1, tidak perlu mengunduh sertifikat Amazon RDS. Untuk informasi selengkapnya, lihat Menggunakan TLS/SSL dengan Aurora Serverless v1.

  • Jika Anda menggunakan aplikasi Go versi 1.15 dengan instans DB yang dibuat atau diperbarui ke sertifikat rds-ca-2019 sebelum 28 Juli 2020, Anda harus memperbarui sertifikat lagi.

    Gunakan modify-db-instance perintah , menggunakan pengidentifikasi sertifikat CA baru. Anda dapat menemukan CAs yang tersedia untuk mesin DB tertentu dan versi mesin DB menggunakan describe-db-engine-versions perintah.

    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 cluster DB

Contoh berikut memperbarui sertifikat CA Anda dari rds-ca-2019 ke 2048-g1. rds-ca-rsa Anda dapat memilih sertifikat yang berbeda. Untuk informasi lebih lanjut, lihatOtoritas 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 cluster DB
  1. Unduh sertifikat SSL/TLS baru seperti yang dijelaskan dalam.

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

    Metode untuk memperbarui aplikasi untuk SSL/TLS certificates depend on your specific applications. Work with your application developers to update the SSL/TLS sertifikat baru 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 toko kepercayaan untuk sistem operasi Linux, lihatContoh 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 cluster, sebaiknya gunakan bundel sertifikat untuk memastikan konektivitas selama migrasi.

  3. Ubah instans DB untuk mengubah CA dari rds-ca-2019 menjadi 2048-g1. rds-ca-rsa Untuk memeriksa apakah database Anda memerlukan restart untuk memperbarui sertifikat CA, gunakan describe-db-engine-versionsperintah dan periksa SupportsCertificateRotationWithoutRestart bendera.

    catatan

    Boot ulang klaster Babelfish Anda setelah memodifikasi untuk memperbarui sertifikat CA.

    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 jendela pemeliharaan berikutnya.

    Untuk menyetel penggantian CA cluster Anda yang berbeda dari CA RDS default, gunakan perintah CLI modify-certificate.

Console
  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 yang ingin Anda modifikasi.

  3. Pilih Ubah.

    Ubah instans DB
  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 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.

AWS CLI

Untuk menggunakan AWS CLI untuk mengubah CA dari rds-ca-2019 ke rds-ca-rsa2048-g1 untuk instans DB atau cluster DB multi-AZ, panggil perintah . modify-db-instancemodify-db-cluster Tentukan instans DB 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 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 modify-db-instanceCLI dan menentukan opsi. --no-certificate-rotation-restart

Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan

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

Console
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 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 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 DB yang ingin Anda perbarui.

Rotasi sertifikat server otomatis

Jika CA root 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. LihatOtoritas 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.

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
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

Untuk mempelajari lebih lanjut praktik terbaik tentang penggunaan SSL dengan Amazon RDS, lihat Praktik terbaik untuk koneksi SSL yang berhasil ke Amazon RDS for Oracle.