Comment configurer une liste de révocation de certificats pour le mTLS dans Elastic Load Balancing ?

Lecture de 5 minute(s)
0

Je souhaite configurer une liste de révocation de certificats (CRL) pour le TLS mutuel (mTLS) dans Elastic Load Balancing (ELB).

Brève description

Lorsque vous utilisez mTLS dans votre Application Load Balancer, vous pouvez authentifier les clients à l'aide de certificats émis par une autorité de certification (CA) tierce. Vous pouvez également utiliser AWS Private CA pour authentifier les clients à l'aide de certificats. Pour révoquer l'accès aux certificats, créez une liste de révocation de certificats (CRL) dans le magasin de confiance d'équilibrage de charge.

Résolution

Remarque : Pour les autorités de certification tierces, passez à la section Charger la CRL codée par PEM dans le compartiment Amazon S3 de la résolution suivante.

Pour révoquer les certificats client émis sur une CA privée AWS, procédez comme suit :

Activez l'option de distribution de CRL dans la CA qui a émis le certificat client

Pour activer l'option de distribution de CRL dans la CA qui a émis le certificat client, procédez comme suit :

  1. Ouvrez la console AWS Private CA.
  2. Sélectionnez l'autorité de certification qui a émis le certificat client.
  3. Modifiez la configuration de révocation, puis activez l'option Distribution de CRL.
  4. Pour associer la stratégie d'accès requise, créez un nouveau compartiment Amazon Simple Storage Service (Amazon S3) ou utilisez un compartiment Amazon S3 existant.
  5. Pour confirmer que le fichier acm-pca-permission-test a été créé dans votre compartiment Amazon S3, créez un fichier texte. Créez un fichier texte contenant Ceci est un fichier de test pour vérifier les autorisations d'accès du compartiment.

Révoquer les certificats

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Pour révoquer l’accès à partir d’un certificat client, procédez comme suit :

  1. Localisez et annotez le numéro de série du certificat client. Ce numéro de série est utilisé dans les étapes suivantes.

    openssl x509 -in  client_certertificate.cert -text -noout | grep -A 1 "Serial Number"
  2. (Facultatif) Localisez le numéro de série du certificat client dans le champ Journaux de connexion de l'Application Load Balancer leaf_client_cert_serial_number.

  3. Pour révoquer l'accès au certificat, utilisez la commande acm-pca  :
    Remarque : Remplacez example-arn-ca-issuer par l'ARN de l'autorité de certification, example-cert-sn par le numéro de série du certificat et example-reason par votre motif de révocation.

    aws acm-pca revoke-certificate \
    --certificate-authority-arn <example-arn-ca-issuer> \
     --certificate-serial <example-cert-sn> \
    --revocation-reason "example-reason"
  4. Répétez les étapes 2 et 3 précédentes pour tous les certificats client dont vous souhaitez révoquer l'accès.

Remarque : AWS Private CA met jusqu'à 30 minutes pour mettre à jour la CRL dans votre compartiment Amazon S3 après la révocation d'un certificat.

Convertir la CRL générée

**Remarque :**Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez l’article Résoudre les erreurs AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Pour convertir la CRL générée, procédez comme suit :

  1. Ouvrez la console Amazon S3.

  2. Téléchargez le fichier CRL depuis le compartiment Amazon S3 précédemment utilisé. Vous pouvez également utiliser l'AWS CLI pour lister le contenu et télécharger le compartiment Amazon S3 vers votre répertoire de travail :
    Remarque : Remplacez example-bucket par votre compartiment Amazon S3 et example-crl-file par le fichier CRL.

    aws s3 ls s3://<example-bucket>/crl/
    aws s3 cp s3://<example-bucket>/crl/<example-crl-file>.crl ./revoke_list.crl
  3. Convertir l’encodage du fichier CRL téléchargé de DER en PEM :

    openssl crl -in example-revoke-list.crl -inform DER -out revoke_list_in_pem.crl

Charger la CRL encodée par PEM dans le compartiment Amazon S3

**Remarque :**Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez l’article Résoudre les erreurs AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Pour charger la CRL encodée par PEM dans le compartiment Amazon S3, procédez comme suit :

  1. Ouvrez la console Amazon S3.
  2. Chargez le fichier CRL vers votre compartiment Amazon S3. Vous pouvez également utiliser l'AWS CLI pour charger le fichier CRL vers votre répertoire de travail :
    Remarque : Remplacez example-bucket par votre compartiment Amazon S3.
    aws s3 cp revoked_list_in_pem.crl s3://<example-bucket>/crl/revoked_list_in_pem.crl

Mettre à jour la liste de révocation du magasin de confiance d'équilibrage de charge avec la CRL

**Remarque :**Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez l’article Résoudre les erreurs AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Pour mettre à jour le magasin de confiance d'équilibrage de charge avec la CRL, procédez comme suit :

  1. Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).

  2. Accédez à Magasins de confiance, puis choisissez le magasin de confiance que vous souhaitez mettre à jour.

  3. Pour ajouter la liste de révocation, indiquez l'URL du compartiment Amazon S3 du fichier CRL que vous souhaitez ajouter. Vous pouvez également utiliser la commande elbv2 pour mettre à jour la révocation du magasin de confiance :
    Remarque : Remplacez example-trust-store-arn par l'ARN du magasin de confiance et example-bucket par le compartiment Amazon S3.

    aws elbv2 add-trust-store-revocations \
         --trust-store-arn <example-trust-store-arn> \
         --revocation-contents S3Bucket=<example-bucket>,S3Key=/crl/revoked_list_in_pem.crl,RevocationType=CRL
  4. Pour confirmer que la CRL a été appliquée, vérifiez la sortie pour identifier une augmentation du nombre d'entrées révoquées.

Lorsqu'une liste de certificats révoqués est ajoutée à un magasin de confiance, un ID de révocation lui est attribué. Les ID de révocation augmentent pour chaque liste de révocation ajoutée au magasin de confiance, et ils ne peuvent pas être modifiés. Si une liste de certificats révoqués est supprimée, l'ID de révocation est également supprimé et n'est pas réutilisé pendant toute la durée de vie du magasin de confiance.

Informations connexes

Mettre à jour la configuration de révocation d'une CA (console)

revoke-certificate

Révocation d'un certificat privé

add-trust-store-revocations

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 mois