View a markdown version of this page

Rotazione del certificato SSL/TLS - Amazon Relational Database Service

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 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 istanze DB RDS o ai cluster Multi-AZ DB, prendi in considerazione l'utilizzo di uno dei nuovi certificati CA rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 o rds-ca-ecc384-g1. Se attualmente non lo utilizzi SSL/TLS con la verifica dei certificati, potresti avere ancora un certificato CA scaduto e devi aggiornarlo con un nuovo certificato CA se prevedi di utilizzarlo con la verifica dei certificati per connetterti ai tuoi database RDS. SSL/TLS

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

Per aggiornare il certificato CA per il database, utilizza i seguenti metodi:

Prima di aggiornare le istanze o i cluster Multi-AZ DB per utilizzare il nuovo certificato CA, assicurati di aggiornare i client o le applicazioni che si connettono ai database RDS.

Considerazioni sulla rotazione dei certificati

Considera le seguenti situazioni prima di ruotare il certificato:

  • Amazon RDS Proxy i certificati di AWS Certificate Manager (ACM). Se utilizzi RDS Proxy, quando ruoti il SSL/TLS certificato, non è necessario aggiornare le applicazioni che utilizzano connessioni proxy RDS. Per ulteriori informazioni, consulta Utilizzo TLS/SSL con RDS Proxy.

  • Se utilizzi un'applicazione Go versione 1.15 con un'istanza DB o un cluster Multi-AZ DB creato o aggiornato al certificato rds-ca-2019 prima del 28 luglio 2020, devi aggiornare nuovamente il certificato. Aggiorna il certificato a rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 o rds-ca-ecc384-g1 a seconda del motore .

    Utilizza il modify-db-instance comando per un'istanza DB o il modify-db-cluster comando per un cluster Multi-AZ DB, utilizzando il nuovo identificatore di certificato CA. È 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 Go GitHub issue #39568.

Aggiornamento del certificato CA modificando l’istanza database o il cluster di database

L’esempio seguente aggiorna il certificato CA da rds-ca-2019 a rds-ca-rsa2048-g1. È possibile scegliere un certificato diverso. Per ulteriori informazioni, vedereAutorità di certificazione.

Aggiorna l’archivio di trust delle applicazioni per ridurre il tempo di inattività associato all’aggiornamento del certificato CA. Per ulteriori informazioni sui riavvii associati alla rotazione del certificato CA, consulta Rotazione automatica dei certificati del server.

Per aggiornare il certificato CA modificando l’istanza database o il cluster di database
  1. Scarica il nuovo SSL/TLS certificato come descritto in.

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

    I metodi per aggiornare le applicazioni per SSL/TLS i nuovi certificati dipendono dalle applicazioni specifiche. Collabora con gli sviluppatori delle tue applicazioni per aggiornare i SSL/TLS certificati delle tue applicazioni.

    Per informazioni sul controllo delle SSL/TLS connessioni e sull'aggiornamento delle applicazioni per ogni motore di database, consultate i seguenti argomenti:

    Per uno script di esempio che aggiorna un trust store per un sistema operativo Linux, consultaScript 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 si utilizza il AWS Database Migration Service per migrare un database verso un'istanza DB o un cluster di , si consiglia di utilizzare il pacchetto di certificati per garantire la connettività durante la migrazione.

  3. Modifica l'istanza DB o il cluster Multi-AZ 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.

    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 le istanze database RDS per Oracle, è consigliabile riavviare il database Oracle per evitare errori di connessione.

    Per le istanze di RDS per SQL Server con AlwaysOn o opzione Mirroring abilitata, è previsto un Multi-AZ failover quando l'istanza viene riavviata dopo la rotazione del certificato.

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

È possibile utilizzare Console di gestione AWS o the AWS CLI per modificare il certificato CA da rds-ca-2019 a rds-ca-rsa2048-g1 per un'istanza DB o un cluster DB. Multi-AZ

Console
  1. Accedi a Console di gestione AWS 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 Multi-AZ DB o il cluster DB che desideri modificare.

  3. Scegli Modifica.

    Modifica l'istanza DB o il cluster Multi-AZ 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 corrette, scegli Modifica istanza database o Modifica cluster 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.

AWS CLI

Per utilizzare il per modificare la CA da rds-ca-2019 AWS CLI a rds-ca-rsa2048-g1per un'istanza DB o un cluster di DB, chiama il comando modify-db-instance o modify-db-cluster. Multi-AZ Specifica l’identificatore dell’istanza database o del cluster di database e l’opzione --ca-certificate-identifier.

Utilizza il parametro --apply-immediately 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.

Esempio

Istanza database

L’esempio seguente modifica mydbinstance impostando il certificato CA su rds-ca-rsa2048-g1.

Per Linux, macOS o Unix:

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.

Esempio

Multi-AZ Cluster DB

L’esempio seguente modifica mydbcluster impostando il certificato CA su rds-ca-rsa2048-g1.

Per Linux, macOS o Unix:

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

Per Windows:

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

Aggiornamento del certificato CA mediante l'applicazione di manutenzione

Completa la procedura seguente per aggiornare il certificato CA applicando la manutenzione.

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

  2. Nel riquadro di navigazione, scegli Aggiornamento certificato.

    Opzione del pannello di navigazione di rotazione del certificato

    Viene visualizzata la pagina Database con aggiornamento certificati richiesto.

    Aggiornamento del certificato CA per il database
    Nota

    Questa pagina mostra solo le istanze e i cluster DB della versione 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 o il cluster Multi-AZ 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 dei certificati CA sul database, aggiorna tutte le applicazioni client che utilizzano SSL/TLS e il certificato del server per la connessione. 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 database e cluster di database da aggiornare.

Rotazione automatica dei certificati del server

Se la CA root 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. 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 tuo motore DB non supporta la rotazione senza riavvio, Amazon RDS rende visibile un'azione di manutenzione server-certificate-rotation in sospeso tramite Describe-pending-maintenance-actions API, al termine del periodo di dimezzamento del certificato o almeno 3 mesi prima della scadenza. Puoi applicare la rotazione utilizzando l'API apply-pending-maintenance-action. Il nuovo certificato del server di database è valido per 36 mesi.

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

Importante

Per le istanze DB di Amazon RDS for Oracle, vedrai SupportsCertificateRotationWithoutRestart il flag delle versioni del motore DB contrassegnato come. FALSE Tuttavia, le istanze DB di Amazon RDS for Oracle NON richiedono il riavvio, ma il listener del database viene riavviato durante la rotazione del certificato del server. Le connessioni al database esistenti non vengono influenzate, ma le nuove connessioni presenteranno errori per un breve periodo durante il riavvio del listener. Se desideri ruotare manualmente il certificato del server, usa il comando apply-pending-maintenance-action. AWS CLI

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.

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