samedi, décembre 9, 2023

Faites pivoter vos certificats SSL/TLS maintenant – Amazon RDS et Amazon Aurora expirent en 2024


Exprimé par Polly

Ne soyez pas surpris si vous avez vu le Mise à jour du certificat dans le Service de base de données relationnelle Amazon (Amazon RDS) console.

Si vous utilisez ou prévoyez d’utiliser Secure Sockets Layer (SSL) ou Transport Layer Security (TLS) avec vérification de certificat pour vous connecter à vos instances de base de données d’Amazon RDS pour MySQL, MariaDB, SQL Server, Oracle, PostgreSQL et Amazon Aurora, cela signifie vous devez alterner les nouveaux certificats d’autorité de certification (CA) dans vos instances de base de données et dans votre application avant l’expiration du certificat racine.

La plupart des certificats SSL/TLS (rds-ca-2019) pour vos instances de base de données expirera en 2024 après la mise à jour du certificat en 2020. En décembre 2022, nous avons publié de nouveaux certificats CA valables 40 ans (rds-ca-rsa2048-g1) et 100 ans (rds-ca-rsa4096-g1 et rds-ca-ecc384-g1). Ainsi, si vous alternez vos certificats CA, vous n’aurez pas besoin de le refaire avant longtemps.

Voici une liste des régions concernées et leurs dates d’expiration de rds-ca-2019:

Date d’expiration Régions
8 mai 2024 Moyen-Orient (Bahreïn)
22 août 2024 USA Est (Ohio), USA Est (Virginie du Nord), USA Ouest (Californie du Nord), USA Ouest (Oregon), Asie-Pacifique (Mumbai), Asie-Pacifique (Osaka), Asie-Pacifique (Séoul), Asie-Pacifique (Singapour) ), Asie-Pacifique (Sydney), Asie-Pacifique (Tokyo), Canada (Centre), Europe (Francfort), Europe (Irlande), Europe (Londres), Europe (Paris), Europe (Stockholm) et Amérique du Sud (São Paulo )
9 septembre 2024 Chine (Pékin), Chine (Ningxia)
26 octobre 2024 Afrique (Le Cap)
28 octobre 2024 Europe (Milan)
Non concerné jusqu’en 2061 Asie-Pacifique (Hong Kong), Asie-Pacifique (Hyderabad), Asie-Pacifique (Jakarta), Asie-Pacifique (Melbourne), Europe (Espagne), Europe (Zurich), Israël (Tel Aviv), Moyen-Orient (EAU), AWS GovCloud ( USA-Est) et AWS GovCloud (US-Ouest)

Les étapes suivantes montrent comment effectuer une rotation de vos certificats pour maintenir la connectivité de votre application à vos instances de base de données.

Étape 1 – Identifiez vos ressources Amazon RDS concernées
Comme je l’ai dit, vous pouvez identifier le nombre total d’instances de base de données affectées dans le Mise à jour du certificat la page du Console Amazon RDS et voyez toutes vos instances de base de données concernées. Remarque : Cette page affiche uniquement les instances de base de données pour la région actuelle. Si vous disposez d’instances de base de données dans plusieurs régions, consultez la page de mise à jour des certificats dans chaque région pour voir toutes les instances de base de données avec d’anciens certificats SSL/TLS.

Vous pouvez aussi utiliser Interface de ligne de commande AWS (AWS CLI) pour appeler describe-db-instances pour rechercher les instances qui utilisent l’autorité de certification expirant. La requête affichera une liste des instances RDS dans votre compte et us-east-1 Région.

$ aws rds describe-db-instances --region us-east-1 | 
      jq -r '.DBInstances[] | 
      select ((.CACertificateIdentifier != "rds-ca-rsa2048-g1") and 
              (.CACertificateIdentifier != "rds-ca-rsa4096-g1") and 
              (.CACertificateIdentifier != "rds-ca-ecc384-g1")) | 
               "DBInstanceIdentifier: 
              (.DBInstanceIdentifier), CACertificateIdentifier: 
              (.CACertificateIdentifier)"'

Étape 2 – Mise à jour de vos clients et applications de base de données
Avant d’appliquer le nouveau certificat sur vos instances de base de données, vous devez mettre à jour le magasin de confiance de tous les clients et applications qui utilisent SSL/TLS et le certificat du serveur pour se connecter. Il n’existe actuellement aucune méthode simple à partir de vos instances de base de données elles-mêmes pour déterminer si vos applications nécessitent une vérification de certificat comme condition préalable à la connexion. La seule option ici consiste à inspecter le code source ou les fichiers de configuration de vos applications.

Bien que le Documentation spécifique au moteur de base de données décrit ce qu’il faut rechercher dans les interfaces de connectivité de base de données les plus courantes, nous vous recommandons fortement de travailler avec vos développeurs d’applications pour déterminer si la vérification des certificats est utilisée et la manière correcte de mettre à jour les certificats SSL/TLS des applications clientes pour vos applications spécifiques.

Pour mettre à jour les certificats de votre application, vous pouvez utiliser le nouveau paquet de certificats qui contient des certificats pour l’ancienne et la nouvelle autorité de certification afin que vous puissiez mettre à niveau votre application en toute sécurité et maintenir la connectivité pendant la période de transition.

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

Étape 3 – Tester la rotation de l’autorité de certification sur une instance RDS hors production
Si vous avez mis à jour de nouveaux certificats dans tous vos magasins de confiance, vous devez tester avec une instance RDS en dehors de la production. Effectuez cette configuration dans un environnement de développement avec le même moteur de base de données et la même version que votre environnement de production. Cet environnement de test doit également être déployé avec le même code et les mêmes configurations que la production.

Pour alterner un nouveau certificat dans votre instance de base de données de test, choisissez Modifier pour l’instance de base de données que vous souhaitez modifier dans le Console Amazon RDS.

Dans le Connectivité section, choisissez rds-ca-rsa2048-g1.

Choisir Continuer pour consulter le récapitulatif des modifications. Si vous souhaitez appliquer les modifications immédiatement, choisissez Postulez immédiatement.

Pour utiliser l’AWS CLI pour modifier l’autorité de certification de rds-ca-2019 à rds-ca-rsa2048-g1 pour une instance de base de données, appelez le modify-db-instance commande et spécifiez l’identifiant de l’instance de base de données avec le --ca-certificate-identifier option.

$ aws rds modify-db-instance \
          --db-instance-identifier <mydbinstance> \
          --ca-certificate-identifier rds-ca-rsa2048-g1 \
          --apply-immediately

Il s’agit de la même manière d’effectuer une rotation manuelle des nouveaux certificats dans les instances de base de données de production. Assurez-vous que votre application se reconnecte sans aucun problème à l’aide de SSL/TLS après la rotation à l’aide du magasin de confiance ou du bundle de certificats CA que vous avez référencé.

Lorsque vous créez une nouvelle instance de base de données, l’autorité de certification par défaut est toujours rds-ca-2019 jusqu’au 25 janvier 2024, date à laquelle il deviendra rds-ca-rsa2048-g1. Pour configurer la nouvelle autorité de certification afin de créer une nouvelle instance de base de données, vous pouvez configurer un remplacement d’autorité de certification pour garantir que tous les lancements de nouvelles instances utilisent l’autorité de certification de votre choix.

$ aws rds modify-certificates \
          --certificate-identifier rds-ca-rsa2048-g1 \
          --region <region name>

Vous devez le faire dans toutes les régions où vous disposez d’instances de base de données RDS.

Étape 4 – Mettez à jour en toute sécurité vos instances RDS de production
Après avoir terminé les tests dans un environnement hors production, vous pouvez démarrer la rotation des certificats CA de vos bases de données RDS dans votre environnement de production. Vous pouvez faire pivoter votre instance de base de données manuellement, comme indiqué à l’étape 3. Il convient de noter que la plupart des moteurs modernes ne nécessitent pas de redémarrage, mais c’est toujours une bonne idée de le planifier dans votre fenêtre de maintenance.

Sur la page Mise à jour du certificat de l’étape 1, choisissez l’instance de base de données que vous souhaitez effectuer une rotation. En choisissant Calendrier, vous pouvez planifier la rotation des certificats pour votre prochaine fenêtre de maintenance. En choisissant Appliquer maintenantvous pouvez appliquer la rotation immédiatement.

Si tu choisis Calendrier, vous êtes invité à confirmer la rotation des certificats. Cette invite indique également la fenêtre planifiée pour votre mise à jour.

Une fois votre certificat mis à jour (soit immédiatement, soit pendant la fenêtre de maintenance), vous devez vous assurer que la base de données et l’application continuent de fonctionner comme prévu.

La plupart des moteurs de base de données modernes ne nécessitent pas de redémarrer votre base de données pour mettre à jour le certificat. Si vous ne souhaitez pas redémarrer la base de données uniquement pour la mise à jour de l’autorité de certification, vous pouvez utiliser l’option --no-certificate-rotation-restart drapeau dans le modify-db-instance commande.

$ aws rds modify-db-instance \
          --db-instance-identifier <mydbinstance> \
          --ca-certificate-identifier rds-ca-rsa2048-g1 \
          --no-certificate-rotation-restart

Pour vérifier si votre moteur nécessite un redémarrage, vous pouvez vérifier le SupportsCertificateRotationWithoutRestart champ dans la sortie du describe-db-engine-versions commande. Vous pouvez utiliser cette commande pour voir quels moteurs prennent en charge les rotations sans redémarrage :

$ aws rds describe-db-engine-versions \
          --engine <engine> --include-all --region <region> | 
          jq -r '.DBEngineVersions[] | 
          "EngineName: (.Engine), 
           EngineVersion: (.EngineVersion), 
           SupportsCertificateRotationWithoutRestart: (.SupportsCertificateRotationWithoutRestart), 
           SupportedCAs: ([.SupportedCACertificateIdentifiers | 
          join(", ")])"'

Même si vous n’utilisez pas SSL/TLS pour les instances de base de données, je vous recommande de faire pivoter votre autorité de certification. Vous devrez peut-être utiliser SSL/TLS à l’avenir, et certains connecteurs de base de données tels que les connecteurs JDBC et ODBC vérifient un certificat valide avant de vous connecter et l’utilisation d’une autorité de certification expirée peut vous empêcher de le faire.

Pour en savoir plus sur la mise à jour de votre certificat en modifiant manuellement votre instance de base de données, sur la rotation automatique des certificats de serveur et sur la recherche d’un exemple de script pour importer des certificats dans votre magasin de certificats, consultez le Guide de l’utilisateur Amazon RDS ou la Guide de l’utilisateur d’Amazon Aurora.

Choses à savoir
Voici quelques choses importantes à savoir :

  • Proxy Amazon RDS et Amazon Aurora sans serveur utiliser des certificats du Gestionnaire de certificats AWS (ACM). Si vous utilisez le proxy Amazon RDS lors de la rotation de votre certificat SSL/TLS, vous n’avez pas besoin de mettre à jour les applications qui utilisent les connexions du proxy Amazon RDS. Si vous utilisez Aurora Serverless, la rotation de votre certificat SSL/TLS n’est pas requise.
  • Maintenant à travers 25 janvier 2024 – les nouvelles instances de base de données RDS auront le rds-ca-2019 certificat par défaut, sauf si vous spécifiez une autre autorité de certification via le ca-certificate-identifier option sur le create-db-instance API ; ou vous spécifiez un remplacement d’autorité de certification par défaut pour votre compte, comme mentionné dans la section ci-dessus. Départ 26 janvier 2024 – toutes les nouvelles instances de base de données utiliseront par défaut le rds-ca-rsa2048-g1 certificat. Si vous souhaitez que les nouvelles instances utilisent un certificat différent, vous pouvez spécifier le certificat à utiliser avec la console AWS ou l’AWS CLI. Pour plus d’informations, consultez le create-db-instance Documentation API.
  • À l’exception d’Amazon RDS pour SQL Server, la plupart des moteurs RDS et Aurora modernes prennent en charge la rotation des certificats sans redémarrage de la base de données dans les dernières versions. Appel describe-db-engine-versions et vérifiez le champ de réponse SupportsCertificateRotationWithoutRestart. Si ce champ est défini sur true, votre instance ne nécessitera pas de redémarrage de la base de données pour la mise à jour de l’autorité de certification. Si réglé sur false, un redémarrage sera nécessaire. Pour plus d’informations, voir Définition de l’autorité de certification pour votre base de données dans la documentation AWS.
  • Votre autorité de certification en rotation signe le certificat du serveur de base de données, qui est installé sur chaque instance de base de données. Le certificat du serveur de base de données identifie l’instance de base de données en tant que serveur approuvé. La validité du certificat du serveur DB dépend du moteur de base de données et de la version, soit 1 an ou 3 ans. Si votre autorité de certification prend en charge la rotation automatique des certificats de serveur, RDS gère également automatiquement la rotation du certificat du serveur de base de données. Pour plus d’informations sur la rotation des certificats du serveur de base de données, consultez Rotation automatique des certificats de serveur dans la documentation AWS.
  • Vous pouvez choisir d’utiliser le certificat de validité de 40 ans (rds-ca-rsa2048-g1) ou les certificats de 100 ans. L’autorité de certification expirante utilisée par votre instance RDS utilise l’algorithme de clé RSA2048 et l’algorithme de signature SHA256. Le rds-ca-rsa2048-g1 utilise exactement la même configuration et est donc le mieux adapté à la compatibilité. Les certificats de 100 ans (rds-ca-rsa4096-g1 etrds-ca-ecc384-g1) utilisent des systèmes de chiffrement plus sécurisés que rds-ca-rsa2048-g1. Si vous souhaitez les utiliser, vous devez effectuer des tests dans des environnements de pré-production pour vérifier que votre client et votre serveur de base de données prennent en charge les schémas de chiffrement nécessaires dans votre région.

Fais le maintenant!
Même s’il vous reste un an avant l’expiration de votre certificat, vous devriez commencer à planifier avec votre équipe. La mise à jour du certificat SSL/TLS peut nécessiter le redémarrage de votre instance de base de données avant la date d’expiration. Nous vous recommandons fortement de planifier la mise à jour de vos applications avant la date d’expiration et d’exécuter des tests sur un environnement de base de données intermédiaire ou de pré-production avant d’effectuer ces étapes dans un environnement de production. Pour en savoir plus sur la mise à jour des certificats SSL/TLS, consultez Guide de l’utilisateur Amazon RDS et Guide de l’utilisateur d’Amazon Aurora.

Si vous n’utilisez pas de connexions SSL/TLS, veuillez noter que les meilleures pratiques en matière de sécurité de base de données consistent à utiliser la connectivité SSL/TLS et à demander une vérification du certificat dans le cadre du processus d’authentification de connexion. Pour en savoir plus sur l’utilisation de SSL/TLS pour chiffrer une connexion à votre instance de base de données, consultez Guide de l’utilisateur Amazon RDS et Guide de l’utilisateur d’Amazon Aurora.

Si vous avez des questions ou des problèmes, contactez votre Assistance AWS par votre plan de support.

Channy



Related Articles

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Latest Articles