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 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 , 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 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 dan Aurora Serverless v1 penggunaan 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.

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

catatan

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. Jalankan modify-db-instance perintah , 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 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 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 cluster, sebaiknya gunakan bundel sertifikat untuk memastikan konektivitas selama migrasi.

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

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

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

  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.

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 CLI modify-db-instance 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.

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