SEC09-BP01 Implémenter la gestion sécurisée des clés et des certificats - AWS Well-Architected Framework

SEC09-BP01 Implémenter la gestion sécurisée des clés et des certificats

Les certificats du protocole TLS (Transport Layer Security) permettent de sécuriser les communications réseau et établir l'identité des sites web, des ressources et des charges de travail sur Internet, ainsi que sur les réseaux privés.

Résultat souhaité : Un système de gestion des certificats sécurisé qui peut provisionner, déployer, stocker et renouveler des certificats dans une infrastructure à clé publique (PKI). Un mécanisme sécurisé de gestion des clés et des certificats empêche la divulgation de la clé privée du certificat et renouvelle automatiquement et périodiquement le certificat. Il s'intègre également à d'autres services pour fournir des communications réseau et une identité sécurisées pour les ressources de la machine au sein de votre charge de travail. Les clés ne doivent jamais être accessibles aux identités humaines.

Anti-modèles courants :

  • Exécuter des étapes manuelles au cours des processus de déploiement ou de renouvellement des certificats.

  • Ne pas accorder suffisamment d'attention à la hiérarchie de l'autorité de certification (AC) lors de la conception d'une AC privée.

  • Utiliser des certificats auto-signés pour les ressources publiques.

Avantages liés au respect de cette bonne pratique :

  • Simplifiez la gestion des certificats en automatisant leur déploiement et leur renouvellement

  • Encouragez le chiffrage des données en transit à l'aide de certificats TLS

  • Amélioration de la sécurité et de l'auditabilité des actions de certification entreprises par l'autorité de certification

  • Organisation des tâches de gestion à différents niveaux de la hiérarchie de l'AC

Niveau de risque exposé si cette bonne pratique n'est pas respectée : Élevé

Directives d'implémentation

Les charges de travail modernes font un usage intensif des communications réseau chiffrées à l'aide de protocoles PKI tels que le protocole TLS. La gestion des certificats PKI peut être complexe, mais le provisionnement, le déploiement et le renouvellement automatisés des certificats peuvent réduire les inconvénients liés à la gestion des certificats.

AWS fournit deux services pour gérer les certificats PKI à usage général : AWS Certificate Manager et AWS Private Certificate Authority (AWS Private CA). ACM est le principal service que les clients utilisent pour provisionner, gérer et déployer des certificats destinés à être utilisés dans des charges de travail AWS publiques et privées. ACM émet des certificats en utilisant AWS Private CA et intègre avec de nombreux autres services gérés AWS pour fournir des certificats TLS sécurisés pour les charges de travail.

AWS Private CA vous permet d'établir votre propre autorité de certification racine ou subordonnée et d'émettre des certificats TLS par l'intermédiaire d'une API. Vous pouvez utiliser ce type de certificats dans des scénarios où vous contrôlez et gérez la chaîne de confiance du côté client de la connexion TLS. En plus des cas d'utilisation TLS, AWS Private CA peut émettre des certificats à des pods Kubernetes, des attestations produits pour appareils Matter, une signature de code et d'autres cas d'utilisation avec un modèle personnalisé. » Vous pouvez également utiliser IAM Roles Anywhere pour fournir des informations d'identification IAM temporaires aux charges de travail sur site qui ont reçu des certificats X.509 signés par votre autorité de certification privée.

En plus de ACM et AWS Private CA, AWS IoT Core fournit un support spécialisé pour provisionner, gérer et déployer des certificats PKI sur des appareils de l'Internet des objets. AWS IoT Core fournit des mécanismes spécialisés pour l'intégration des appareils IoT dans votre infrastructure de clés publiques à grande échelle.

Considérations relatives à l'établissement d'une hiérarchie d'autorités de certification privées

Lorsque vous devez établir une autorité de certification privée, il est important de prendre soin de concevoir correctement la hiérarchie de l'autorité de certification dès le départ. La bonne pratique consiste à déployer chaque niveau de votre hiérarchie d'autorité de certification dans des Comptes AWS distincts lorsque vous créez une hiérarchie d'autorité de certification privée. Cette étape intentionnelle réduit la surface de chaque niveau de la hiérarchie de l'autorité de certification, ce qui facilite la découverte d'anomalies dans les données de journalisation CloudTrail et réduit l'étendue de l'accès ou l'impact en cas d'accès non autorisé à l'un des comptes. L'autorité de certification racine doit résider dans son propre compte et ne doit être utilisée que pour émettre un ou plusieurs certificats d'autorité de certification intermédiaire.

Créez ensuite une ou plusieurs autorités de certification intermédiaires dans des comptes distincts du compte de l'autorité de certification racine afin d'émettre des certificats pour les utilisateurs finaux, les appareils ou d'autres charges de travail. Enfin, émettez des certificats à partir de votre autorité de certification racine vers les autorités de certification intermédiaires, qui émettront à leur tour des certificats vers vos utilisateurs finaux ou vos appareils. Pour plus d'informations sur la planification du déploiement des AC et la conception de la hiérarchie des AC, y compris la planification de la résilience, la réplication interrégionale, le partage des AC au sein de votre organisation et plus encore, voir Planification de votre déploiement AWS Private CA. »

Étapes d'implémentation

  1. Déterminez les services AWS pertinents requis pour votre cas d'utilisation :

    • De nombreux cas d'utilisation peuvent s'appuyer sur l'infrastructure de clés publiques existante d'AWS à l'aide de AWS Certificate Manager. ACM peut déployer des certificats TLS pour les serveurs web, les équilibreurs de charge ou d'autres utilisations pour des certificats publiquement approuvés.

    • Envisagez AWS Private CA si vous devez établir votre propre hiérarchie d'autorité de certification privée ou si vous avez besoin d'accéder à des certificats exportables. ACM peut ensuite émettre de nombreux types de certificats d'entités finales à l'aide de AWS Private CA.

    • Pour les cas d'utilisation où les certificats doivent être provisionnés à grande échelle pour les appareils de l'Internet des objets (IoT) embarqués, envisagez AWS IoT Core. »

  2. Mettez en œuvre le renouvellement automatisé des certificats dans la mesure du possible :

  3. Établissez des journaux et des pistes d'audit :

    • Activez les journaux CloudTrail pour suivre l'accès aux comptes détenant des autorités de certification. Envisagez de configurer la validation de l'intégrité des fichiers journaux dans CloudTrail pour vérifier l'authenticité des données du journal.

    • Générez et révisez périodiquement des rapports d'audit répertoriant les certificats émis ou révoqués par votre autorité de certification privée. Ces rapports peuvent être exportés vers un compartiment S3.

    • Lors du déploiement d'une autorité de certification privée, vous devrez également créer un compartiment S3 pour stocker la liste de révocation des certificats (CRL). Pour obtenir des conseils sur la configuration de ce compartiment S3 en fonction des exigences de votre charge de travail, voir Planification d’une liste de révocation de certifications (CRL). »

Ressources

Bonnes pratiques associées :

Documents connexes :

Vidéos connexes :

Exemples connexes :

Outils associés :