Rotazione del certificato SSL/TLS - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Rotazione del certificato SSL/TLS

I certificati dell'autorità di certificazione (CA) Amazon RDS rds-ca-2019 scadono ad agosto 2024. Se utilizzi o prevedi di utilizzare Secure Sockets Layer (SSL) o Transport Layer Security (TLS) con verifica del certificato per connetterti alle tue istanze DB RDS , prendi in considerazione l'utilizzo di uno dei nuovi certificati CA 2048-g1, 4096-g1 o 384-g1. rds-ca-rsa rds-ca-rsa rds-ca-ecc Se attualmente non usi SSL/TLS con la verifica del certificato, è possibile che un certificato CA sia scaduto e che sia necessario aggiornarlo al nuovo certificato CA se prevedi di utilizzare SSL/TLS con la verifica del certificato per connetterti ai database RDS.

Segui queste istruzioni per completare gli aggiornamenti. Prima di aggiornare le istanze DB per utilizzare il nuovo certificato CA, assicurati di aggiornare i client o le applicazioni che si connettono ai database RDS.

Amazon RDS fornisce nuovi certificati CA come best practice di AWS sicurezza. Per informazioni sui nuovi certificati e sulle AWS regioni supportate, consulta.

Nota

Il proxy e Aurora Serverless v1 l'uso di Amazon RDS i certificati di AWS Certificate Manager (ACM). Se utilizzi il proxy RDS, quando ruoti il certificato SSL/TLS, non devi aggiornare le applicazioni che utilizzano connessioni proxy RDS. Per ulteriori informazioni, consulta Utilizzo di TLS/SSL con RDS Proxy.

Se utilizziAurora Serverless v1, non è necessario scaricare i certificati Amazon RDS. Per ulteriori informazioni, consulta Utilizzo di TLS/SSL con Aurora Serverless v1.

Nota

Se utilizzi un'applicazione Go versione 1.15 con un'istanza DB creato o aggiornato al certificato rds-ca-2019 prima del 28 luglio 2020, devi aggiornare nuovamente il certificato. modify-db-instanceEsegui il . È possibile trovare le CA disponibili per un motore di database e una versione del motore di database specifici utilizzando il comando describe-db-engine-versions.

Se hai creato il database o aggiornato il relativo certificato dopo il 28 luglio 2020, non è richiesta alcuna azione. Per ulteriori informazioni, consulta il GitHub numero #39568 di Go.

Aggiornamento del certificato CA modificando l'istanza il cluster di database

L'esempio seguente aggiorna il certificato CA da rds-ca-2019 in rds-ca-rsa2048-g1. Puoi scegliere un certificato diverso. Per ulteriori informazioni, consulta Autorità di certificazione.

Aggiorna l'application trust store per ridurre i tempi di inattività associati all'aggiornamento del certificato CA. Per ulteriori informazioni sui riavvii associati alla rotazione dei certificati CA, consultaRotazione automatica dei certificati del server.

  1. Scaricare il nuovo certificato SSL/TLS come descritto in .

  2. Aggiornare le applicazioni per utilizzare il nuovo certificato SSL/TLS.

    I metodi per l'aggiornamento delle applicazioni per i nuovi certificati SSL/TLS dipendono dalle applicazioni specifiche in uso. Collaborare con gli sviluppatori dell'applicazione per aggiornare i certificati SSL/TLS per le applicazioni.

    Per maggiori informazioni sulla verifica delle connessioni SSL/TLS e sull'aggiornamento delle applicazioni per ciascun motore DB, consulta i seguenti argomenti:

    Per uno script di esempio che aggiorna un archivio di trust in un sistema operativo Linux, vedi Script di esempio per l'importazione di certificati nel tuo archivio di trust.

    Nota

    Il bundle di certificati contiene certificati per la vecchia e la nuova CA, pertanto puoi aggiornare l'applicazione in modo sicuro e mantenere la connettività durante il periodo di transizione. Se utilizzi il AWS Database Migration Service per migrare un database verso un', ti consigliamo di utilizzare il pacchetto di certificati per garantire la connettività durante la migrazione.

  3. Modifica l'istanza DB per cambiare la CA da rds-ca-2019 a rds-ca-rsa2048-g1. Per verificare se il database richiede un riavvio per aggiornare i certificati CA, utilizza il comando describe-db-engine-versions e verifica il flag SupportsCertificateRotationWithoutRestart.

    Nota

    Riavvia il cluster Babelfish dopo averlo modificato per aggiornare il certificato CA.

    Importante

    Se si verificano problemi di connettività dopo la scadenza del certificato, utilizzare l'opzione Applica immediatamente specificando Apply immediately (Applica immediatamente) nella console o specificando l'opzione --apply-immediately mediante AWS CLI. Per impostazione predefinita, questa operazione è pianificata per l'esecuzione durante la prossima finestra di manutenzione.

    Per impostare una sostituzione della CA per il tuo cluster diversa dalla CA RDS predefinita, usa il comando CLI modify-certificates.

  1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Database, quindi scegli l'istanza DB che desideri modificare.

  3. Scegli Modifica.

    Modifica l'istanza DB
  4. Nella sezione Connettività, scegli rds-ca-rsa2048-g1.

    Scegliere certificato CA
  5. Scegliere Continue (Continua) e controllare il riepilogo delle modifiche.

  6. Per applicare immediatamente le modifiche, scegliere Apply immediately (Applica immediatamente).

  7. Nella pagina di conferma esaminare le modifiche. Se sono corretti, scegli Modifica istanza DB per salvare le modifiche.

    Importante

    Quando si pianifica questa operazione, accertarsi di aver aggiornato in anticipo l'archivio di trust lato client.

    Oppure scegliere Back (Indietro) per cambiare le modifiche o Cancel (Annulla) per annullare le modifiche.

identificatore --ca-certificate-identifier dell'istanza DB o del cluster e l'opzione.

Utilizzate il --apply-immediately parametro per applicare immediatamente l'aggiornamento. Per impostazione predefinita, questa operazione è pianificata per l'esecuzione durante la prossima finestra di manutenzione.

Importante

Quando si pianifica questa operazione, accertarsi di aver aggiornato in anticipo l'archivio di trust lato client.

L'esempio seguente esegue la modifica mydbinstance impostando il certificato CA surds-ca-rsa2048-g1.

Per LinuxmacOS, oUnix:

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

Per Windows:

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

Se l'istanza richiede il riavvio, è possibile utilizzare il comando CLI modify-db-instance e specificare l'opzione. --no-certificate-rotation-restart

Aggiornamento del certificato CA mediante l'applicazione di manutenzione

Esegui i passaggi seguenti per aggiornare il certificato CA applicando la manutenzione.

Per aggiornare il certificato CA applicando la manutenzione
  1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Aggiornamento del certificato.

    Opzione del pannello di navigazione di rotazione del certificato

    Viene visualizzata la pagina Database con aggiornamento certificati richiesto.

    Aggiorna il certificato CA per il database
    Nota

    Questa pagina mostra solo le istanze del database corrente. Regione AWS Se disponi di database in più di uno Regione AWS, controlla questa pagina in ciascuno di essi Regione AWS per vedere tutte le istanze DB con vecchi certificati SSL/TLS.

  3. Scegli l'istanza DB che desideri aggiornare.

    È possibile pianificare la rotazione dei certificati per la finestra di manutenzione successiva scegliendo Pianifica. Applica immediatamente la rotazione scegliendo Applica ora.

    Importante

    Se si verificano problemi di connettività dopo la scadenza del certificato, utilizza l'opzione Applica ora.

    1. Se scegli Pianifica, ti viene richiesto di confermare la rotazione dei certificati CA. Nella richiesta viene indicato anche la finestra pianificata per l'aggiornamento.

      Conferma della rotazione del certificato
    2. Se scegli Applica ora, ti viene richiesto di confermare la rotazione dei certificati CA.

      Conferma della rotazione del certificato
    Importante

    Prima di pianificare la rotazione del certificato CA nel database, aggiornare tutte le applicazioni client che utilizzano SSL/TLS e il certificato server per connettersi. Questi aggiornamenti sono specifici per il motore DB. Dopo avere aggiornato queste applicazioni client, è possibile confermare la rotazione del certificato CA.

    Per continuare, scegliere la casella di controllo e quindi scegliere Confirm (Conferma).

  4. Ripeti i passaggi 3 e 4 per ogni istanza DB che desideri aggiornare.

Rotazione automatica dei certificati del server

Se la CA supporta la rotazione automatica dei certificati del server, RDS gestisce automaticamente la rotazione dei certificati del server di database. Per questa rotazione automatica, RDS utilizza la stessa CA root e pertanto non è necessario scaricare un nuovo bundle CA. Per informazioni, consulta Autorità di certificazione.

La rotazione e la validità del certificato del server di database dipendono dal motore di database:

  • Se il motore di database supporta la rotazione senza riavvio, RDS esegue automaticamente la rotazione del certificato del server di database senza richiedere alcuna azione da parte dell'utente. RDS tenta di eseguire la rotazione del certificato del server di database nella finestra di manutenzione preferita in corrispondenza della semivita del certificato del server di database. Il nuovo certificato del server di database è valido per 12 mesi.

  • Se il motore di database in uso non supporta la rotazione senza riavvio, RDS ti avvisa di un evento di manutenzione almeno 6 mesi prima della scadenza del certificato del server di database. Il nuovo certificato del server di database è valido per 36 mesi.

Usa il describe-db-engine-versionscomando e controlla il SupportsCertificateRotationWithoutRestart flag per identificare se la versione del motore DB supporta la rotazione del certificato senza riavvio. Per ulteriori informazioni, consulta Impostazione della CA per il database.

Script di esempio per l'importazione di certificati nel tuo archivio di trust

Di seguito sono riportati script di shell di esempio che importano il bundle di certificati in un archivio di trust.

Ogni script di shell di esempio utilizza keytool, che fa parte del Java Development Kit (JDK). Per informazioni sull'installazione di JDK, consulta la Guida di installazione di JDK.

Script di esempio per l'importazione di certificati su Linux

Il seguente script è uno script di esempio shell che importa il bundle di certificati in un archivio di trust su un sistema operativo 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

Script di esempio per l'importazione di certificati su macOS

Il seguente script è uno script di shell di esempio che importa il bundle di certificati in un archivio di trust su un sistema operativo 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 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