Rotation de votre certificat SSL/TLS - Amazon Relational Database Service

Rotation de votre certificat SSL/TLS

En date du 5 mars 2020, les certificats CA-2015 Amazon RDS ont expiré. Si vous utilisez ou prévoyez d'utiliser le protocole SSL (Secure Sockets Layer) ou TLS (Transport Layer Security) avec vérification de certificat pour vous connecter à vos instances de base de données RDS, vous avez besoin de certificats CA-2019 Amazon RDS, qui sont activés par défaut pour les nouvelles instances de base de données. Si vous n'utilisez pas actuellement le protocole SSL/TLS avec vérification de certificat, il se peut que vous ayez encore des certificats CA-2015 expirés et que vous deviez les mettre à jour vers des certificats CA-2019 si vous prévoyez d'utiliser le protocole SSL/TLS avec vérification de certificat pour vous connecter à vos bases de données RDS.

Suivez ces instructions pour effectuer vos mises à jour. Avant de mettre à jour vos instances de base de données pour utiliser le nouveau certificat CA, veillez à mettre à jour vos clients ou applications connectés à vos bases de données RDS.

En guise de bonne pratique de sécurité AWS, Amazon RDS fournit de nouveaux certificats d'autorité de certification. Pour plus d'informations sur les nouveaux certificats et les régions AWS prises en charge, veuillez consulter Utilisation de SSL/TLS pour chiffrer une connexion à une instance de base de données.

Note

Le proxy Amazon RDS utilise des certificats de la l'AWS Certificate Manager (ACM). Si vous utilisez RDS Proxy, lorsque vous effectuez la rotation de votre certificat SSL/TLS, vous n'avez pas besoin de mettre à jour les applications qui utilisent des connexions RDS Proxy. Pour plus d'informations sur l'utilisation de TLS/SSL avec RDS Proxy, veuillez consulter Utilisation de TLS/SSL avec RDS Proxy.

Note

Si vous utilisez une application Go version 1.15 avec une instance de base de données créée ou mise à jour vers le certificat rds-ca-2019 avant le 28 juillet 2020, vous devez mettre à jour à nouveau le certificat. Exécutez la commande modify-db-instance indiquée dans la section AWS CLI en utilisant rds-ca-2019 comme identifiant de certificat d'autorité de certification. Dans ce cas, il n'est pas possible de mettre à jour le certificat via AWS Management Console. Si vous avez créé votre instance de base de données ou mis à jour son certificat après le 28 juillet 2020, aucune action n'est requise. Pour plus d'informations, veuillez consulter le problème GitHub Go 39568.

Mise à jour de votre certificat CA en modifiant votre instance de base de données

Procédez comme suit pour mettre à jour votre certificat CA.

Mise à jour de votre certificat CA en modifiant votre instance de base de données
  1. Téléchargez le nouveau certificat SSL/TLS comme décrit dans la section Utilisation de SSL/TLS pour chiffrer une connexion à une instance de base de données.

  2. Mettez à jour vos applications de sorte à utiliser le nouveau certificat SSL/TLS.

    Les méthodes de mise à jour des applications pour les nouveaux certificats SSL/TLS dépendent de vos applications spécifiques. Faites-vous aider par vos développeurs d'applications pour la mise à jour des certificats SSL/TLS de vos applications.

    Pour plus d'informations sur la vérification des connexions SSL/TLS et la mise à jour des applications pour chaque moteur de bases de données, veuillez consulter les rubriques suivantes :

    Pour obtenir un exemple de script qui met à jour le magasin d'approbations d'un système d'exploitation Linux, consultez Exemple de script pour importer les certificats dans votre magasin d'approbations.

    Note

    L'ensemble de certificats contient des certificats pour le nouveau et l'ancien CA, ce qui signifie que vous pouvez mettre à niveau votre application en toute sécurité et conserver la connectivité pendant la période de transition. Si vous utilisez AWS Database Migration Service pour migrer une base de données vers une instance de base de données, nous vous recommandons d'utiliser l'ensemble de certificats pour garantir la connectivité pendant la migration.

  3. Modifiez l'instance de base de données afin de remplacer le CA rds-ca-2015 par rds-ca-2019.

    Important

    Par défaut, cette opération redémarre votre instance de base de données. Si vous ne souhaitez pas redémarrer votre instance de base de données au cours de cette opération, vous pouvez utiliser la CLI modify-db-instance et spécifier l'option --no-certificate-rotation-restart.

    Cette option permet de ne pas effectuer la rotation du certificat avant le prochain redémarrage de la base de données, que ce soit pour une maintenance planifiée ou non planifiée. Cette option n'est recommandée que si vous n'utilisez pas SSL/TLS.

    Si vous rencontrez des problèmes de connectivité après l'expiration du certificat, utilisez l'option Appliquer immédiatement en la spécifiant dans la console ou en spécifiant l'option --apply-immediately à l'aide d'AWS CLI. Par défaut, il est prévu que cette opération soit exécutée pendant votre prochaine fenêtre de maintenance.

Vous pouvez utiliser AWS Management Console ou l'AWS CLI pour remplacer le certificat CA rds-ca-2015 par rds-ca-2019 pour une instance de base de données.

Pour remplacer le certificat CA rds-ca-2015 par rds-ca-2019 pour une instance de base de données
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données, puis l'instance de base de données que vous souhaitez modifier.

  3. Sélectionnez Modify.

    
                                        Modification d'une instance de base de données

    La page Modifier l'instance de base de données s'affiche.

  4. Dans la section Connectivity (Connectivité), choisissez rds–ca-2019.

    
                                        Choisissez un certificat CA
  5. Choisissez Continuer et vérifiez le récapitulatif des modifications.

  6. Pour appliquer les modifications immédiatement, choisissez Appliquer immédiatement.

    Important

    En choisissant cette option, votre base de données redémarre immédiatement.

  7. Sur la page de confirmation, examinez vos modifications. Si elles sont correctes, choisissez Modification d'une instance de base de données pour enregistrer vos modifications.

    Important

    Lorsque vous planifiez cette opération, assurez-vous d'avoir mis à jour votre magasin d'approbation côté client au préalable.

    Ou choisissez Retour pour revoir vos modifications, ou choisissez Annuler pour les annuler.

Pour utiliser AWS CLI afin de remplacer l'autorité de certification rds-ca-2015 par rds-ca-2019 pour une instance de base de données, appelez la commande modify-db-instance. Spécifiez l'identifiant d'instance de base de données et l'option --ca-certificate-identifier.

Important

Lorsque vous planifiez cette opération, assurez-vous d'avoir mis à jour votre magasin d'approbation côté client au préalable.

Exemple

Le code suivant modifie mydbinstance en définissant le certificat CA sur rds-ca-2019. Les modifications sont appliquées pendant le créneau de maintenance suivant à l'aide de --no-apply-immediately. Pour appliquer les modifications immédiatement, utilisez --apply-immediately.

Important

Par défaut, cette opération redémarre votre instance de base de données. Si vous ne souhaitez pas redémarrer votre instance de base de données au cours de cette opération, vous pouvez utiliser la commande de la CLI modify-db-instance et spécifier l'option --no-certificate-rotation-restart.

Cette option permet de ne pas effectuer la rotation du certificat avant le prochain redémarrage de la base de données, que ce soit pour une maintenance planifiée ou non planifiée. Cette option n'est recommandée que si vous n'utilisez pas SSL/TLS.

Pour appliquer la mise à jour immédiatement, utilisez --apply-immediately. Par défaut, il est prévu que cette opération soit exécutée pendant votre prochaine fenêtre de maintenance.

Pour Linux, macOS ou Unix :

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --ca-certificate-identifier rds-ca-2019 \ --no-apply-immediately

Pour Windows :

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --ca-certificate-identifier rds-ca-2019 ^ --no-apply-immediately

Mise à jour de votre certificat CA en appliquant la maintenance de l'instance de base de données

Procédez comme suit pour mettre à jour votre certificat CA en appliquant la maintenance d'instance de base de données.

Mise à jour de votre certificat CA en appliquant la maintenance d'instance de base de données
  1. Téléchargez le nouveau certificat SSL/TLS comme décrit dans la section Utilisation de SSL/TLS pour chiffrer une connexion à une instance de base de données.

  2. Mettez à jour vos applications de base de données de façon à utiliser le nouveau certificat SSL/TLS.

    Les méthodes de mise à jour des applications pour les nouveaux certificats SSL/TLS dépendent de vos applications spécifiques. Faites-vous aider par vos développeurs d'applications pour la mise à jour des certificats SSL/TLS de vos applications.

    Pour plus d'informations sur la vérification des connexions SSL/TLS et la mise à jour des applications pour chaque moteur de bases de données, veuillez consulter les rubriques suivantes :

    Pour obtenir un exemple de script qui met à jour le magasin d'approbations d'un système d'exploitation Linux, consultez Exemple de script pour importer les certificats dans votre magasin d'approbations.

    Note

    L'ensemble de certificats contient des certificats pour le nouveau et l'ancien CA, ce qui signifie que vous pouvez mettre à niveau votre application en toute sécurité et conserver la connectivité pendant la période de transition.

  3. Appliquez la maintenance d'instance de base de données pour changer le certificat CA de rds-ca-2015 à rds-ca-2019.

    Important

    Vous pouvez choisir d'appliquer la modification immédiatement. Par défaut, il est prévu que cette opération soit exécutée pendant votre prochaine fenêtre de maintenance.

Vous pouvez utiliser AWS Management Console pour effectuer la maintenance des instances de base de données afin de modifier le certificat d'autorité de certification de rds-ca-2015 en rds-ca-2019 pour plusieurs instances de base de données.

Mise à jour de votre certificat CA en appliquant la maintenance à plusieurs instances de base de données

Utilisez la AWS Management Console pour modifier le certificat CA pour plusieurs instances de base de données.

Modification du certificat CA rds-ca-2015 par rds-ca-2019 pour une plusieurs instances de base de données
  1. Connectez-vous à l'AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans la panneau de navigation, choisissez Databases (Bases de données).

    Le panneau de navigation affiche l'option Certificate update (Mise à jour du certificat) qui indique le nombre total d'instances de base de données affectées.

    
                                    Option du volet de navigation de rotation des certificats

    Choisissez Certificate update (Mise à jour du certificat) dans le panneau de navigation.

    La page Mise à jour de vos certificats Amazon RDS SSL/TLS s'affiche.

    
                                    Mise à jour du certificat CA pour plusieurs instances de base de données
    Note

    Cette page affiche uniquement les instances de base de données de la région AWS actuelle. Si vous avez des instances de base de données dans plusieurs régions AWS, consultez cette page dans chaque région AWS pour voir toutes les instances de base de données avec d'anciens certificats SSL/TLS.

  3. Choisissez l'instance de base de données que vous voulez mettre à jour.

    Vous pouvez planifier la rotation du certificat pour votre prochaine fenêtre de maintenance en sélectionnant Mettre à jour lors de la prochaine fenêtre de maintenance. Appliquez la rotation immédiatement en choisissant Update now (Mettre à jour maintenant).

    Important

    Lorsque votre certificat d'autorité de certification procède à une rotation, l'opération redémarre votre instance de base de données.

    Si vous rencontrez des problèmes de connectivité après l'expiration du certificat, utilisez l'option Update now (Mettre à jour maintenant).

  4. Si vous choisissez Mettre à jour dans la prochaine fenêtre de maintenance ou Mettre à jour maintenant, vous êtes invité à confirmer la rotation du certificat CA.

    Important

    Avant de planifier la rotation du certificat CA sur votre base de données, mettez à jour toutes les applications clientes qui utilisent SSL/TLS et le certificat de serveur pour se connecter. Ces mises à jour sont spécifiques à votre moteur de base de données. Pour déterminer si vos applications utilisent SSL/TLS et le certificat de serveur pour se connecter, consultez Step 2: Update Your Database Applications to Use the New SSL/TLS Certificate. Après avoir mis à jour ces applications clientes, vous pouvez confirmer la rotation du certificat CA.

    
                                    Confirmation de la rotation du certificat

    Pour continuer, cochez la case, puis cliquez sur Confirmation.

  5. Répétez les étapes 3 et 4 pour chaque instance de base de données que vous souhaitez mettre à jour.

Exemple de script pour importer les certificats dans votre magasin d'approbations

Voici des exemples de scripts shell qui importent le lot de certificats dans un magasin d'approbations.

Chaque exemple de script shell utilise keytool, qui fait partie du kit de développement Java (JDK). Pour plus d'informations sur l'installation du JDK, veuillez consulter le Guide d'installation du JDK.

Exemple de script d'importation de certificats sur Linux

Voici un exemple de scripting shell qui importe le lot de certificats vers un magasin d'approbations sur un système d'exploitation 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 ".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

Exemple de script d'importation de certificats sur macOS

Voici un exemple de scripting shell qui importe le lot de certificats vers un magasin d'approbations sur 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