Bonnes pratiques - AWS Certificate Manager

Bonnes pratiques

Les bonnes pratiques sont des recommandations qui peuvent vous aider à utiliser AWS Certificate Manager (AWS Certificate Manager) plus efficacement. Les bonnes pratiques suivantes reposent sur l'expérience réelle de clients actuels d'ACM.

AWS CloudFormation

AWS CloudFormation vous permet de créer un modèle qui décrit les ressources AWS à utiliser. AWS CloudFormation approvisionne et configure ensuite automatiquement ces ressources. AWS CloudFormation peut approvisionner les ressources prises en charge par ACM, comme Elastic Load Balancing, Amazon CloudFront et Amazon API Gateway. Pour de plus amples informations, consultez Services intégrés à AWS Certificate Manager.

Si vous utilisez AWS CloudFormation pour créer et supprimer rapidement plusieurs environnements de test, nous vous recommandons de ne pas créer de certificat ACM distinct pour chaque environnement. En procédant ainsi, votre quota de certificats sera rapidement atteint. Pour de plus amples informations, consultez Quotas. Créez plutôt un certificat générique qui couvre tous les noms de domaine que vous utilisez pour les tests. Par exemple, si vous créez des certificats ACM de manière répétée pour des noms de domaine qui se différencient uniquement par un numéro de version, par exemple <version>.service.example.com, créez un seul certificat générique pour <*>.service.example.com. Incluez le certificat générique dans le modèle que AWS CloudFormation utilise pour créer votre environnement de test.

Épinglage de certificat

L'épinglage de certificat, parfois appelé épinglage SSL, est un processus que vous pouvez utiliser dans votre application pour valider un hôte distant en l'associant directement à son certificat X.509 ou à sa clé publique au lieu de l'associer à une hiérarchie de certificats. L'application utilise donc l'épinglage pour contourner la validation de la chaîne de certificats SSL/TLS. Le processus de validation SSL classique vérifie les signatures dans l'ensemble de la chaîne de certificats, en allant de l'autorité de certification (CA) racine aux certificats CA subordonnés, le cas échéant. Il vérifie également le certificat de l'hôte distant au bas de la hiérarchie. Sinon, votre application peut épingler le certificat à l'hôte distant et seul ce certificat et non le certificat racine ou tout autre certificat de la chaîne est donc approuvé. Vous pouvez ajouter le certificat ou la clé publique de l'hôte distant pour votre application pendant le développement. Autrement, l'application peut ajouter le certificat ou la clé lors de sa première connexion à l'hôte.

Avertissement

Nous recommandons que votre application n'épingle pas de certificat ACM. ACM effectue l'opération Renouvellement géré des certificats ACM pour renouveler automatiquement vos certificats SSL/TLS émis par Amazon avant leur date d'expiration. Pour renouveler un certificat, ACM génère une nouvelle paire de clés publiques-privées. Si votre application épingle le certificat ACM et que celui-ci a été renouvelé avec une nouvelle clé publique, l'application risque de ne pas pouvoir se connecter à votre domaine.

Si vous décidez d'épingler un certificat, les options suivantes n'empêcheront pas votre application de se connecter à votre domaine :

  • Importez votre propre certificat dans ACM, puis épinglez votre application au certificat importé. ACM n'essaie pas de renouveler automatiquement les certificats importés.

  • Si vous utilisez un certificat public, épinglez votre application à tous les Amazon root certificates (certificats racines Amazon) disponibles. Si vous utilisez un certificat privé, épinglez votre application au certificat racine de votre CA.

Validation de domaine

Avant que l'autorité de certification (CA) d'Amazon ne puisse émettre un certificat pour votre site, AWS Certificate Manager (ACM) doit vérifier que vous possédez ou contrôlez tous les domaines que vous avez indiqués dans votre demande. Vous pouvez effectuer la vérification par e-mail ou à l'aide du DNS. Pour de plus amples informations, consultez Validation DNS et Validation par courriel.

Ajout ou suppression de noms de domaine

Vous ne pouvez pas ajouter ni supprimer de noms de domaine dans un certificat ACM existant. À la place, vous devez demander un nouveau certificat contenant la liste révisée des noms de domaine. Par exemple, si votre certificat contient cinq noms de domaine et que vous souhaitez en ajouter quatre autres, vous devez demander un nouveau certificat contenant les neuf noms de domaine. Comme pour tout nouveau certificat, vous devez valider la propriété de tous les noms de domaine figurant dans la demande, y compris les noms que vous avez validés auparavant pour le certificat d'origine.

Si vous utilisez la validation par e-mail, vous recevez 8 e-mails de validation maximum pour chaque domaine, parmi lesquels il doit être donné suite à au moins un dans les 72 heures. Par exemple, lorsque vous demandez un certificat contenant cinq noms de domaine, vous recevez 40 e-mails de validation maximum, parmi lesquels il doit être donné suite à au moins 5 dans les 72 heures. Au fur et à mesure que le nombre de noms de domaine augmente dans la demande de certificat, le travail nécessaire pour utiliser les e-mails afin de valider la propriété des domaines augmente aussi.

Si vous utilisez plutôt la validation DNS, vous devez écrire un nouvel enregistrement DNS dans la base de données pour le nom de domaine complet à valider. ACM vous envoie l'enregistrement à créer et interroge ensuite la base de données afin de déterminer si l'enregistrement a été ajouté. L'ajout de l'enregistrement indique que vous possédez ou contrôlez le domaine. Dans l'exemple précédent, si vous demandez un certificat avec cinq noms de domaine, vous devez créer cinq enregistrements DNS. Nous vous recommandons d'utiliser la validation DNS dans la mesure du possible.

Refus de la journalisation de transparence des certificats

Important

Quelles que soient les actions que vous utilisez pour refuser la journalisation de transparence des certificats, votre certificat peut quand même être consigné par un client ou une personne qui a accès au point de terminaison public ou privé auquel vous liez le certificat. Toutefois, le certificat ne contiendra pas d'horodatage de certificat signé (SCT). Seule l'autorité de certification émettrice peut intégrer un SCT dans un certificat.

À compter du 30 avril 2018, Google Chrome cesse de faire confiance aux certificats SSL/TLS publics qui ne sont pas enregistrés dans un journal de transparence de certificats. Par conséquent, à partir du 24 avril 2018, le CA Amazon a commencé à publier tous les certificats nouveaux et renouvelés dans au moins deux journaux publics. Une fois qu'un certificat a été consigné, il ne peut pas être supprimé. Pour de plus amples informations, consultez Journalisation de transparence des certificats.

La journalisation s'effectue automatiquement lorsque vous demandez un certificat ou lorsqu'un certificat est renouvelé, mais vous pouvez choisir de refuser cette action. Cette décision tient généralement à des préoccupations liées à la sécurité et à la confidentialité des données. Par exemple, la journalisation des noms de domaine d'hôte internes fournit à des pirates potentiels des informations sur les réseaux internes qui ne seraient autrement pas publiques. En outre, la journalisation peut causer la fuite de noms de produits et sites Web nouveaux ou non communiqués.

Pour refuser la journalisation de transparence lorsque vous effectuez une demande de certificat, utilisez le paramètre options de la commande AWS CLI request-certificate ou l'opération d'API RequestCertificate. Si votre certificat a été émis avant le 24 avril 2018 et que vous souhaitez vous assurer qu'il ne sera pas journalisé lors de son renouvellement, vous pouvez utiliser la commande update-certificate-options (mettre à jour les options du certificat) ou l'opération d'API UpdateCertificateOptions (mettre à jour les options du certificat) pour refuser la journalisation.

Limites
  • Vous ne pouvez pas utiliser la console pour activer ou désactiver la journalisation de transparence.

  • Vous ne pouvez pas modifier le statut de journalisation lorsqu'un certificat entre dans sa période de renouvellement, généralement 60 jours avant son expiration. Aucun message d'erreur n'est généré si un changement de statut échoue.

Une fois qu'un certificat a été consigné, il ne peut pas être supprimé du journal. Refuser à ce stade n'aura aucun effet. Si vous refusez la journalisation lorsque vous demandez un certificat, puis choisissez ultérieurement de l'accepter, votre certificat ne sera consigné qu'à son renouvellement. Si vous voulez que le certificat soit consigné immédiatement, nous vous recommandons d'en émettre un nouveau.

L'exemple suivant vous montre comment utiliser la commande request-certificate pour désactiver la transparence des certificats lorsque vous demandez un nouveau certificat.

aws acm request-certificate \ --domain-name www.example.com \ --validation-method DNS \ --options CertificateTransparencyLoggingPreference=DISABLED \

La commande précédente génère le nom ARN de votre nouveau certificat.

{ "CertificateArn": "arn:aws:acm:region:account:certificate/certificate_ID" }

Si vous possédez déjà un certificat et que vous ne voulez pas qu'il soit consigné lorsqu'il sera renouvelé, utilisez la commande update-certificate-options (mettre à jour les options du certificat). Cette commande ne renvoie aucune valeur.

aws acm update-certificate-options \ --certificate-arn arn:aws:acm:region:account:\ certificate/certificate_ID \ --options CertificateTransparencyLoggingPreference=DISABLED

Activer AWS CloudTrail

Activez la journalisation CloudTrail avant de commencer à utiliser ACM. CloudTrail vous permet de surveiller vos déploiements AWS en récupérant un historique des appels d'API AWS pour votre compte, notamment les appels d'API effectués via la Console de gestion AWS, les kits SDK AWS, le AWS Command Line Interface et les services Amazon Web Services de haut niveau. Vous pouvez également identifier les utilisateurs et les comptes qui ont appelé les API ACM, l'adresse IP source d'origine des appels, ainsi que le moment où les appels ont eu lieu. Vous pouvez intégrer CloudTrail dans des applications à l'aide de l'API, automatiser la création de journaux d'activité pour votre organisation, vérifier le statut des journaux d'activité et contrôler la manière dont les administrateurs activent et désactivent la journalisation CloudTrail. Pour plus d'informations, consultez Création d'un journal d’activité. Accédez à Utilisation de CloudTrail avec AWS Certificate Manager pour consulter des exemples de journaux d'activité associés à des actions ACM.