Authentification mutuelle avec TLS Application Load Balancer - Elastic Load Balancing

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Authentification mutuelle avec TLS Application Load Balancer

TLSL'authentification mutuelle est une variante de la sécurité de la couche de transport (TLS). Traditional TLS établit des communications sécurisées entre un serveur et un client, le serveur devant fournir son identité à ses clients. Avec le mode mutuelTLS, un équilibreur de charge négocie l'authentification mutuelle entre le client et le serveur lors de la négociation. TLS Lorsque vous utilisez Mutual TLS avec Application Load Balancer, vous simplifiez la gestion de l'authentification et réduisez la charge de vos applications.

En utilisant la méthode mutuelle TLS avec Application Load Balancer, votre équilibreur de charge peut gérer l'authentification des clients afin de garantir que seuls les clients de confiance communiquent avec vos applications principales. Lorsque vous utilisez cette fonctionnalité, Application Load Balancer authentifie les clients à l'aide de certificats émis par une autorité de certification (CA) tierce ou en utilisant le AWS Private Certificate Authority (PCA), éventuellement, lors de contrôles de révocation. Application Load Balancer transmet les informations du certificat client au backend, que vos applications peuvent utiliser à des fins d'autorisation. En utilisant la méthode mutuelle TLS dans Application Load Balancer, vous pouvez obtenir une authentification intégrée, évolutive et gérée pour les entités basées sur des certificats, qui utilise des bibliothèques établies.

Mutual TLS for Application Load Balancers propose les deux options suivantes pour valider vos certificats clients X.509v3 :

Remarque : Les certificats client X.509v1 ne sont pas pris en charge.

  • Transfert mutuel TLS : lorsque vous utilisez le mode transfert mutuel, Application Load Balancer envoie l'ensemble de la chaîne de certificats client à la cible à l'TLSaide d'en-têtes. HTTP Ensuite, en utilisant la chaîne de certificats client, vous pouvez implémenter l'authentification de l'équilibreur de charge et la logique d'autorisation cible correspondantes dans votre application.

  • TLSVérification mutuelle : lorsque vous utilisez le mode de TLS vérification mutuelle, Application Load Balancer effectue une authentification par certificat client X.509 pour les clients lorsqu'un équilibreur de charge négocie des connexions. TLS

Pour commencer à utiliser Mutual TLS dans Application Load Balancer à l'aide du relais, il vous suffit de configurer l'écouteur pour qu'il accepte tous les certificats des clients. Pour utiliser la méthode mutuelle TLS avec vérification, vous devez effectuer les opérations suivantes :

  • Créez une nouvelle ressource Trust Store.

  • Téléchargez votre bundle d'autorités de certification (CA) et, éventuellement, vos listes de révocation.

  • Attachez le trust store à l'écouteur configuré pour vérifier les certificats clients.

Pour connaître step-by-step les procédures de configuration du mode de TLS vérification mutuelle avec votre Application Load Balancer, consultez. Configuration mutuelle TLS sur un Application Load Balancer

Avant de commencer la configuration mutuelle TLS sur votre Application Load Balancer

Avant de commencer à configurer la mutuelle TLS sur votre Application Load Balancer, tenez compte des points suivants :

Quotas

Les équilibreurs de charge des applications incluent certaines limites liées au nombre de magasins de confiance, de certificats CA et de listes de révocation de certificats utilisés dans votre AWS compte.

Pour plus d'informations, consultez la section Quotas pour vos équilibreurs de charge d'application.

Exigences relatives aux certificats

Les équilibreurs de charge d'application prennent en charge les éléments suivants pour les certificats utilisés avec TLS l'authentification mutuelle :

  • Certificat pris en charge : X.509v3

  • Clés publiques prises en charge : RSA 2K — 8K ou ECDSA secp256r1, secp384r1, secp521r1

  • Algorithmes de signature pris en charge : 384SHA256, 512 avecRSA/SHA256, 384, 512 avec un hachage EC/ SHA256 ,384 512 avec - avec RSASSA PSS MGF1

Packs de certificats CA

Les règles suivantes s'appliquent aux ensembles d'autorités de certification (CA) :

  • Les équilibreurs de charge d'application téléchargent chaque ensemble de certificats d'autorité de certification (CA) sous forme de lot. Les équilibreurs de charge d'application ne prennent pas en charge le téléchargement de certificats individuels. Si vous devez ajouter de nouveaux certificats, vous devez télécharger le fichier du bundle de certificats.

  • Pour remplacer un ensemble de certificats CA, utilisez le ModifyTrustStoreAPI.

Commande de certificats pour transmission

Lorsque vous utilisez le transfert mutuelTLS, l'Application Load Balancer insère des en-têtes pour présenter la chaîne de certificats du client aux cibles du backend. L'ordre de présentation commence par les certificats feuilles et se termine par le certificat racine.

Reprise de session

La reprise de session n'est pas prise en charge lors de l'utilisation des modes TLS de transmission mutuelle ou de vérification avec un Application Load Balancer.

HTTPen-têtes

Les équilibreurs de charge d'application utilisent X-Amzn-Mtls des en-têtes pour envoyer des informations de certificat lorsqu'ils négocient des connexions clients à l'aide de la méthode mutuelle. TLS Pour plus d'informations et des exemples d'en-têtes, consultezHTTPen-têtes et mutuelles TLS.

Fichiers de certificats CA

Les fichiers de certificats CA doivent satisfaire aux exigences suivantes :

  • Le fichier de certificat doit utiliser le format PEM (Privacy Enhanced Mail).

  • Le contenu du certificat doit être inclus dans les -----END CERTIFICATE----- limites -----BEGIN CERTIFICATE----- et.

  • Les commentaires doivent être précédés d'un # caractère et ne doivent contenir aucun - caractère.

  • Il ne peut y avoir aucune ligne vide.

Exemple de certificat non accepté (non valide) :

# comments Certificate: Data: Version: 3 (0x2) Serial Number: 01 Signature Algorithm: ecdsa-with-SHA384 Issuer: C=US, O=EXAMPLE, OU=EXAMPLE, CN=EXAMPLE Validity Not Before: Jan 11 23:57:57 2024 GMT Not After : Jan 10 00:57:57 2029 GMT Subject: C=US, O=EXAMPLE, OU=EXAMPLE, CN=EXAMPLE Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (384 bit) pub: 00:01:02:03:04:05:06:07:08 ASN1 OID: secp384r1 NIST CURVE: P-384 X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment, Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 00:01:02:03:04:05:06:07:08 X509v3 Subject Alternative Name: URI:EXAMPLE.COM Signature Algorithm: ecdsa-with-SHA384 00:01:02:03:04:05:06:07:08 -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----

Exemples de certificats acceptés (valides) :

  1. Certificat unique (PEMencodé) :

    # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----
  2. Certificats multiples (PEMencodés) :

    # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- # comments -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64–encoded certificate -----END CERTIFICATE-----

HTTPen-têtes et mutuelles TLS

Cette section décrit HTTP les en-têtes utilisés par les équilibreurs de charge d'application pour envoyer des informations de certificat lors de la négociation de connexions avec des clients via le protocole mutuel. TLS X-Amzn-MtlsLes en-têtes spécifiques utilisés par l'Application Load Balancer dépendent du mode TLS mutuel que vous avez spécifié : mode passthrough ou mode verify.

Pour plus d'informations sur les autres HTTP en-têtes pris en charge par les équilibreurs de charge d'application, consultez. HTTPen-têtes et équilibreurs de charge d'application

HTTPen-tête pour le mode passthrough

Pour les équilibreurs de charge mutuels TLS en mode relais, les équilibreurs de charge d'application utilisent l'en-tête suivant.

Cet en-tête contient le PEM format URL codé de l'ensemble de la chaîne de certificats client présentée dans la connexion, avec +=/ des caractères sécurisés.

Exemple de contenu d'en-tête :

X-Amzn-Mtls-Clientcert: -----BEGIN%20CERTIFICATE-----%0AMIID<...reduced...>do0g%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIID1<...reduced...>3eZlyKA%3D%3D%0A-----END%20CERTIFICATE-----%0A

HTTPen-têtes pour le mode de vérification

Pour le mode TLS de vérification mutuelle, les équilibreurs de charge d'application utilisent les en-têtes suivants.

Cet en-tête contient une représentation hexadécimale du numéro de série du certificat Leaf.

Exemple de contenu d'en-tête :

X-Amzn-Mtls-Clientcert-Serial-Number: 03A5B1

Cet en-tête contient une RFC2253 chaîne représentant le nom distinctif (DN) de l'émetteur.

Exemple de contenu d'en-tête :

X-Amzn-Mtls-Clientcert-Issuer: CN=rootcamtls.com,OU=rootCA,O=mTLS,L=Seattle,ST=Washington,C=US

Cet en-tête contient une représentation sous forme de RFC2253 chaîne du nom distinctif (DN) du sujet.

Exemple de contenu d'en-tête :

X-Amzn-Mtls-Clientcert-Subject: CN=client_.com,OU=client-3,O=mTLS,ST=Washington,C=US

Cet en-tête contient un format ISO86 01 pour la notAfter date notBefore et.

Exemple de contenu d'en-tête :

X-Amzn-Mtls-Clientcert-Validity: NotBefore=2023-09-21T01:50:17Z;NotAfter=2024-09-20T01:50:17Z

Cet en-tête contient un PEM format URL codé du certificat feuille, avec +=/ des caractères sûrs.

Exemple de contenu d'en-tête :

X-Amzn-Mtls-Clientcert-Leaf: -----BEGIN%20CERTIFICATE-----%0AMIIG<...reduced...>NmrUlw%0A-----END%20CERTIFICATE-----%0A

Configuration mutuelle TLS sur un Application Load Balancer

Cette section inclut les procédures de configuration du mode de TLS vérification mutuelle pour l'authentification sur les équilibreurs de charge d'application.

Pour utiliser le mode TLS de transmission mutuelle, il vous suffit de configurer l'écouteur pour qu'il accepte les certificats des clients. Lorsque vous utilisez le transfert mutuelTLS, l'Application Load Balancer envoie l'ensemble de la chaîne de certificats client à la cible à l'HTTPaide d'en-têtes, ce qui vous permet d'implémenter la logique d'authentification et d'autorisation correspondante dans votre application. Pour plus d'informations, voir Créer un HTTPS écouteur pour votre Application Load Balancer.

Lorsque vous utilisez le mode de vérification mutuelleTLS, l'Application Load Balancer effectue l'authentification des certificats clients X.509 pour les clients lorsqu'un équilibreur de charge négocie des connexions. TLS

Pour utiliser le mode de TLS vérification mutuelle, effectuez les opérations suivantes :

  • Créez une nouvelle ressource Trust Store.

  • Téléchargez votre bundle d'autorités de certification (CA) et, éventuellement, vos listes de révocation.

  • Attachez le trust store à l'écouteur configuré pour vérifier les certificats clients.

Suivez les procédures décrites dans cette section pour configurer le mode de TLS vérification mutuelle sur votre Application Load Balancer dans le. AWS Management Console Pour configurer la TLS mutualisation en utilisant API des opérations plutôt que la console, consultez le Guide de APIréférence d'Application Load Balancer.

Créez un trust store

Vous pouvez créer un trust store de trois manières : lorsque vous créez un Application Load Balancer, lorsque vous créez un écouteur sécurisé et en utilisant la console Trust Store. Lorsque vous ajoutez un trust store lorsque vous créez un équilibreur de charge ou un écouteur, le trust store est automatiquement associé au nouvel écouteur. Lorsque vous créez un trust store à l'aide de la console Trust Store, vous devez l'associer vous-même à un écouteur.

Cette section décrit la création d'un trust store à l'aide de la console Trust Store, mais les étapes utilisées lors de la création d'un Application Load Balancer ou d'un écouteur sont les mêmes. Pour plus d'informations, voir Configurer un équilibreur de charge et un écouteur et Ajouter un HTTPS écouteur.

Prérequis :
  • Pour créer un trust store, vous devez disposer d'un bundle de certificats auprès de votre autorité de certification (CA).

Pour créer un trust store à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez Créer un magasin de confiance.

  4. Configuration du Trust Store

    1. Dans le champ Trust store name, saisissez le nom de votre trust store.

    2. Pour le bundle d'autorités de certification, entrez le chemin Amazon S3 vers le bundle de certificats ca que vous souhaitez que votre magasin de confiance utilise.

      Facultatif : utilisez la version de l'objet pour sélectionner une version précédente du bundle de certificats ca. Dans le cas contraire, c'est la version actuelle qui est utilisée.

  5. Pour les révocations, vous pouvez éventuellement ajouter une liste de révocation de certificats à votre trust store.

    1. Sous Liste de révocation de certificats, entrez le chemin Amazon S3 vers la liste de révocation de certificats que vous souhaitez que votre magasin de confiance utilise.

      Facultatif : utilisez la version de l'objet pour sélectionner une version précédente de la liste de révocation des certificats. Dans le cas contraire, c'est la version actuelle qui est utilisée.

  6. Pour les tags Trust Store, vous pouvez éventuellement saisir jusqu'à 50 tags à appliquer à votre Trust Store.

  7. Sélectionnez Créer un magasin de confiance.

Associer un magasin de confiance

Après avoir créé un trust store, vous devez l'associer à un écouteur avant que votre Application Load Balancer puisse commencer à utiliser le trust store. Vous ne pouvez avoir qu'un seul magasin de confiance associé à chacun de vos écouteurs sécurisés, mais un seul magasin de confiance peut être associé à plusieurs écouteurs.

Cette section traite de l'association d'un trust store à un écouteur existant. Vous pouvez également associer un trust store lors de la création d'un Application Load Balancer ou d'un écouteur. Pour plus d'informations, voir Configurer un équilibreur de charge et un écouteur et Ajouter un HTTPS écouteur.

Pour associer un trust store à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Load Balancers (Équilibreurs de charge).

  3. Sélectionnez l'équilibreur de charge pour afficher sa page de détails.

  4. Dans l'onglet Écouteurs et règles, cliquez sur le lien dans la colonne Protocol:Port pour ouvrir la page de détails de l'écouteur sécurisé.

  5. Dans l'onglet Sécurité, choisissez Modifier les paramètres de l'écouteur sécurisé.

  6. (Facultatif) Si le TLS mode mutuel n'est pas activé, sélectionnez Authentification mutuelle (mTLS) sous Gestion des certificats clients, puis sélectionnez Vérifier avec Trust Store.

  7. Sous Trust store, sélectionnez le trust store que vous avez créé.

  8. Sélectionnez Enregistrer les modifications.

Afficher les détails de Trust Store

Packs de certificats CA

Le bundle de certificats CA est un composant obligatoire du trust store. Il s'agit d'un ensemble de certificats racine et intermédiaires fiables qui ont été validés par une autorité de certification. Ces certificats validés garantissent que le client peut être sûr que le certificat présenté appartient à l'équilibreur de charge.

Vous pouvez consulter le contenu du bundle de certificats CA actuel dans votre trust store à tout moment.

Afficher un ensemble de certificats CA
Pour consulter un ensemble de certificats CA à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez le trust store pour afficher la page de détails.

  4. Choisissez Actions, puis Get CA bundle.

  5. Choisissez Partager le lien ou Télécharger.

Listes de révocation de certificats

Vous pouvez éventuellement créer une liste de révocation de certificats pour un trust store. Les listes de révocation sont publiées par les autorités de certification et contiennent les données relatives aux certificats révoqués. Les équilibreurs de charge d'application ne prennent en charge que les listes de révocation de certificats au format suivantPEM.

Lorsqu'une liste de révocation de certificats est ajoutée à un trust store, un ID de révocation lui est attribué. Les révocations IDs augmentent pour chaque liste de révocation ajoutée au trust store, et elles ne peuvent pas être modifiées. Si une liste de révocation de certificats est supprimée d'un trust store, son identifiant de révocation est également supprimé et n'est pas réutilisé pendant toute la durée de vie du trust store.

Note

Les équilibreurs de charge d'application ne peuvent pas révoquer les certificats dont le numéro de série est négatif dans une liste de révocation de certificats.

Afficher une liste de révocation de certificats
Pour consulter une liste de révocation à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez le trust store pour afficher la page de détails.

  4. Dans l'onglet Listes de révocation de certificats, sélectionnez Actions, puis Obtenir la liste de révocation.

  5. Choisissez Partager le lien ou Télécharger.

Modifier un trust store

Un magasin de confiance ne peut contenir qu'un seul ensemble de certificats CA à la fois, mais vous pouvez le remplacer à tout moment une fois le magasin de confiance créé.

Remplacer un bundle de certificats CA

Pour remplacer un ensemble de certificats CA à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez le trust store pour afficher la page de détails.

  4. Choisissez Actions, puis Remplacer le bundle CA.

  5. Sur la page Remplacer le bundle CA, sous le bundle d'autorité de certification, entrez l'emplacement Amazon S3 du bundle CA souhaité.

  6. (Facultatif) Utilisez la version de l'objet pour sélectionner une version précédente de la liste de révocation des certificats. Dans le cas contraire, c'est la version actuelle qui est utilisée.

  7. Sélectionnez Remplacer le bundle CA.

Ajouter une liste de révocation de certificats

Pour ajouter une liste de révocation à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez le trust store pour afficher sa page de détails.

  4. Dans l'onglet Listes de révocation de certificats, sélectionnez Actions, puis Ajouter une liste de révocation.

  5. Sur la page Ajouter une liste de révocation, sous Liste de révocation de certificats, entrez l'emplacement Amazon S3 de la liste de révocation de certificats souhaitée.

  6. (Facultatif) Utilisez la version de l'objet pour sélectionner une version précédente de la liste de révocation des certificats. Dans le cas contraire, c'est la version actuelle qui est utilisée.

  7. Sélectionnez Ajouter une liste de révocation

Supprimer une liste de révocation de certificats

Pour supprimer une liste de révocation à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez le trust store pour afficher la page de détails.

  4. Dans l'onglet Listes de révocation de certificats, sélectionnez Actions, puis Supprimer la liste de révocation.

  5. Confirmez la suppression en tapantconfirm.

  6. Sélectionnez Delete (Supprimer).

Supprimer un trust store

Lorsque vous n'avez plus besoin d'un trust store, vous pouvez le supprimer.

Remarque : Vous ne pouvez pas supprimer un trust store actuellement associé à un écouteur.

Pour supprimer un trust store à l'aide de la console
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Trust Stores.

  3. Sélectionnez le trust store pour afficher sa page de détails.

  4. Choisissez Actions, puis Supprimer le trust store.

  5. Confirmez la suppression en tapantconfirm.

  6. Sélectionnez Supprimer

Journaux de connexion pour les équilibreurs de charge d'application

Elastic Load Balancing fournit des journaux de connexion qui capturent les attributs relatifs aux demandes envoyées à vos équilibreurs de charge d'application. Les journaux de connexion contiennent des informations telles que l'adresse IP et le port du client, les informations du certificat client, les résultats de la connexion et TLS les chiffrements utilisés. Ces journaux de connexion peuvent ensuite être utilisés pour examiner les modèles de demandes et d'autres tendances.

Pour en savoir plus sur les journaux de connexion, voir Journaux de connexion pour votre Application Load Balancer