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.
Planification d'une liste de révocation de certificats (CRL)
Avant de pouvoir configurer une CRL dans le cadre du processus de création de l'autorité de certification, une configuration préalable peut être nécessaire. Cette section explique les prérequis et les options que vous devez comprendre avant de créer une autorité de certification associée à une CRL.
Pour plus d'informations sur l'utilisation du protocole OCSP (Online Certificate Status Protocol) comme alternative ou complément à une CRL, consultez Options de révocation des certificats et. Configuration d'une URL personnalisée pour Autorité de certification privée AWS OCSP
Rubriques
Structure CRL
Chaque liste est un fichier codé DER. Pour télécharger le fichier et utiliser OpenSSL
openssl crl -inform DER -in
path-to-crl-file
-text -noout
Les listes de révocation de certificats sont au format suivant :
Certificate Revocation List (CRL):
Version 2 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: /C=US/ST=WA/L=Seattle/O=Example Company CA/OU=Corporate/CN=www.example.com
Last Update: Feb 26 19:28:25 2018 GMT
Next Update: Feb 26 20:28:25 2019 GMT
CRL extensions:
X509v3 Authority Key Identifier:
keyid:AA:6E:C1:8A:EC:2F:8F:21:BC:BE:80:3D:C5:65:93:79:99:E7:71:65
X509v3 CRL Number:
1519676905984
Revoked Certificates:
Serial Number: E8CBD2BEDB122329F97706BCFEC990F8
Revocation Date: Feb 26 20:00:36 2018 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Key Compromise
Serial Number: F7D7A3FD88B82C6776483467BBF0B38C
Revocation Date: Jan 30 21:21:31 2018 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Key Compromise
Signature Algorithm: sha256WithRSAEncryption
82:9a:40:76:86:a5:f5:4e:1e:43:e2:ea:83:ac:89:07:49:bf:
c2:fd:45:7d:15:d0:76:fe:64:ce:7b:3d:bb:4c:a0:6c:4b:4f:
9e:1d:27:f8:69:5e:d1:93:5b:95:da:78:50:6d:a8:59:bb:6f:
49:9b:04:fa:38:f2:fc:4c:0d:97:ac:02:51:26:7d:3e:fe:a6:
c6:83:34:b4:84:0b:5d:b1:c4:25:2f:66:0a:2e:30:f6:52:88:
e8:d2:05:78:84:09:01:e8:9d:c2:9e:b5:83:bd:8a:3a:e4:94:
62:ed:92:e0:be:ea:d2:59:5b:c7:c3:61:35:dc:a9:98:9d:80:
1c:2a:f7:23:9b:fe:ad:6f:16:7e:22:09:9a:79:8f:44:69:89:
2a:78:ae:92:a4:32:46:8d:76:ee:68:25:63:5c:bd:41:a5:5a:
57:18:d7:71:35:85:5c:cd:20:28:c6:d5:59:88:47:c9:36:44:
53:55:28:4d:6b:f8:6a:00:eb:b4:62:de:15:56:c8:9c:45:d7:
83:83:07:21:84:b4:eb:0b:23:f2:61:dd:95:03:02:df:0d:0f:
97:32:e0:9d:38:de:7c:15:e4:36:66:7a:18:da:ce:a3:34:94:
58:a6:5d:5c:04:90:35:f1:8b:55:a9:3c:dd:72:a2:d7:5f:73:
5a:2c:88:85
Note
La CRL ne sera déposée dans Amazon S3 qu'après l'émission d'un certificat y faisant référence. Avant cela, seul un acm-pca-permission-test-key
fichier sera visible dans le compartiment Amazon S3.
Politiques d'accès pour les CRL dans Amazon S3
Si vous envisagez de créer une CRL, vous devez préparer un compartiment Amazon S3 dans lequel la stocker. Autorité de certification privée AWS dépose automatiquement la CRL dans le compartiment Amazon S3 que vous désignez et la met à jour régulièrement. Pour de plus amples informations, veuillez consulter Créer un compartiment.
Votre compartiment S3 doit être sécurisé par une politique d'autorisation IAM attachée. Les utilisateurs autorisés et les responsables du service doivent être Put
autorisés Autorité de certification privée AWS
à placer des objets dans le compartiment et Get
à les récupérer. Au cours de la procédure de création d'une autorité de certification dans la console, vous pouvez choisir d'autoriser la Autorité de certification privée AWS création d'un nouveau compartiment et d'appliquer une politique d'autorisation par défaut.
Note
La configuration de la politique IAM dépend de l'acteur Régions AWS concerné. Les régions se répartissent en deux catégories :
-
Régions activées par défaut : régions activées par défaut pour tous. Comptes AWS
-
Régions désactivées par défaut : régions désactivées par défaut, mais qui peuvent être activées manuellement par le client.
Pour plus d'informations et une liste des régions désactivées par défaut, consultez la section Gestion. Régions AWS Pour une discussion sur les principes de service dans le contexte de l'IAM, voir les principes de AWS service dans les régions optionnelles.
Lorsque vous configurez les CRL comme méthode de révocation des certificats, vous Autorité de certification privée AWS créez une CRL et la publiez dans un compartiment S3. Le compartiment S3 nécessite une politique IAM qui permet au principal du Autorité de certification privée AWS service d'écrire dans le compartiment. Le nom du principal de service varie en fonction des régions utilisées, et toutes les possibilités ne sont pas prises en charge.
PCA | S3 | Principal du service |
---|---|---|
Les deux dans la même région |
|
|
Activées |
Activé |
|
Désactivées | Activées |
|
Activé | Désactivées |
Non pris en charge |
La politique par défaut n'applique aucune SourceArn
restriction à l'autorité de certification. Nous vous recommandons d'appliquer manuellement la politique moins permissive décrite ci-dessous, qui restreint l'accès à un AWS compte spécifique et à une autorité de certification privée spécifique. Pour plus d'informations, consultez Ajouter une politique de compartiment à l'aide de la console Amazon S3.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET
" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"account
", "aws:SourceArn":"arn:partition
:acm-pca:region
:account
:certificate-authority/CA_ID
" } } } ] }
Si vous choisissez d'autoriser la politique par défaut, vous pourrez toujours la modifier ultérieurement.
Activation de l'accès public par blocs S3 (BPA) avec CloudFront
Les nouveaux compartiments Amazon S3 sont configurés par défaut avec la fonctionnalité Block Public Access (BPA) activée. Inclus dans les meilleures pratiques de sécurité d'Amazon S3, le BPA est un ensemble de contrôles d'accès que les clients peuvent utiliser pour affiner l'accès aux objets de leurs compartiments S3 et aux compartiments dans leur ensemble. Lorsque le BPA est actif et correctement configuré, seuls les AWS utilisateurs autorisés et authentifiés ont accès à un bucket et à son contenu.
AWS recommande l'utilisation du BPA sur tous les compartiments S3 afin d'éviter d'exposer des informations sensibles à des adversaires potentiels. Cependant, une planification supplémentaire est requise si vos clients PKI récupèrent des CRL sur Internet public (c'est-à-dire lorsqu'ils ne sont pas connectés à un AWS compte). Cette section décrit comment configurer une solution PKI privée à l'aide d'Amazon CloudFront, un réseau de diffusion de contenu (CDN), pour servir des CRL sans avoir besoin d'un accès client authentifié à un compartiment S3.
Note
L'utilisation CloudFront entraîne des frais supplémentaires sur votre AWS compte. Pour plus d'informations, consultez Amazon CloudFront Pricing
Si vous choisissez de stocker votre CRL dans un compartiment S3 où le BPA est activé et que vous ne l'utilisez pas CloudFront, vous devez créer une autre solution CDN pour garantir que votre client PKI a accès à votre CRL.
Configurer Amazon S3 avec le BPA
Dans S3, créez un nouveau compartiment pour votre CRL, comme d'habitude, puis activez le BPA dessus.
Pour configurer un compartiment Amazon S3 qui bloque l'accès public à votre CRL
-
Créez un nouveau compartiment S3 en suivant la procédure décrite dans Création d'un compartiment. Au cours de la procédure, sélectionnez l'option Bloquer tout accès public.
Pour plus d'informations, consultez Blocage de l'accès public à votre espace de stockage Amazon S3.
-
Une fois le compartiment créé, choisissez son nom dans la liste, accédez à l'onglet Autorisations, choisissez Modifier dans la section Propriété de l'objet, puis sélectionnez Propriétaire du compartiment préféré.
-
Également dans l'onglet Autorisations, ajoutez une politique IAM au compartiment, comme décrit dansPolitiques d'accès pour les CRL dans Amazon S3 .
Configuration CloudFront pour le BPA
Créez une CloudFront distribution qui aura accès à votre compartiment S3 privé et pourra servir des CRL à des clients non authentifiés.
Pour configurer une CloudFront distribution pour la CRL
-
Créez une nouvelle CloudFront distribution en suivant la procédure décrite dans la section Création d'une distribution du manuel Amazon CloudFront Developer Guide.
Au cours de la procédure, appliquez les paramètres suivants :
-
Dans Origin Domain Name, choisissez votre compartiment S3.
-
Choisissez Oui pour Restreindre l'accès au bucket.
-
Choisissez Créer une nouvelle identité pour Origin Access Identity.
-
Choisissez Yes, Update Bucket Policy sous Accorder les autorisations de lecture sur le bucket.
Note
Dans cette procédure, CloudFront modifie votre politique de compartiment pour lui permettre d'accéder aux objets du compartiment. Envisagez de modifier cette politique afin de n'autoriser l'accès qu'aux objets situés
crl
dans le dossier.
-
-
Une fois la distribution initialisée, recherchez son nom de domaine dans la CloudFront console et enregistrez-le pour la procédure suivante.
Note
Si votre compartiment S3 vient d'être créé dans une région autre que us-east-1, vous risquez de recevoir une erreur de redirection temporaire HTTP 307 lorsque vous accédez à votre application publiée via. CloudFront La propagation de l'adresse du bucket peut prendre plusieurs heures.
Configurez votre CA pour le BPA
Lors de la configuration de votre nouvelle autorité de certification, incluez l'alias dans votre CloudFront distribution.
Pour configurer votre autorité de certification avec un CNAME pour CloudFront
-
Créez votre CA à l'aide deProcédure de création d'une autorité de certification (CLI) .
Lorsque vous exécutez la procédure, le fichier de révocation
revoke_config.txt
doit inclure les lignes suivantes pour spécifier un objet CRL non public et pour fournir une URL vers le point de terminaison de distribution dans : CloudFront"S3ObjectAcl":"BUCKET_OWNER_FULL_CONTROL", "CustomCname":"
abcdef012345.cloudfront.net
"Par la suite, lorsque vous émettrez des certificats avec cette autorité de certification, ils contiendront un bloc comme celui-ci :
X509v3 CRL Distribution Points: Full Name: URI:http://abcdef012345.cloudfront.net/crl/01234567-89ab-cdef-0123-456789abcdef.crl
Note
Si vous possédez d'anciens certificats émis par cette autorité de certification, elle ne pourra pas accéder à la CRL.
Chiffrement de vos listes de révocation de certificats
Vous pouvez éventuellement configurer le chiffrement sur le compartiment Amazon S3 contenant vos CRL. Autorité de certification privée AWS prend en charge deux modes de chiffrement pour les actifs dans Amazon S3 :
-
Chiffrement automatique côté serveur avec des clés AES-256 gérées par Amazon S3.
-
Chiffrement géré par le client à l'aide AWS Key Management Service et AWS KMS key configuré selon vos spécifications.
Note
Autorité de certification privée AWS ne prend pas en charge l'utilisation de clés KMS par défaut générées automatiquement par S3.
Les procédures suivantes décrivent comment configurer chacune des options de chiffrement.
Pour configurer le chiffrement automatique
Procédez comme suit pour activer le chiffrement côté serveur S3.
Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/
. -
Dans le tableau Buckets, choisissez le compartiment qui contiendra vos Autorité de certification privée AWS actifs.
-
Sur la page de votre compartiment, choisissez l'onglet Propriétés .
-
Choisissez la carte de Chiffrement par défaut.
-
Sélectionnez Activer.
-
Choisissez la clé Amazon S3 (SSE-S3).
-
Choisissez Save Changes (Enregistrer les modifications).
Pour configurer le chiffrement personnalisé
Procédez comme suit pour activer le chiffrement à l'aide d'une clé personnalisée.
Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/
. -
Dans le tableau Buckets, choisissez le compartiment qui contiendra vos Autorité de certification privée AWS actifs.
-
Sur la page de votre compartiment, choisissez l'onglet Propriétés .
-
Choisissez la carte de Chiffrement par défaut.
-
Sélectionnez Activer.
-
Choisissez AWS Key Management Service la clé (SSE-KMS).
-
Choisissez Choisir parmi vos AWS KMS clés ou Entrer un AWS KMS key ARN.
-
Choisissez Save Changes (Enregistrer les modifications).
-
(Facultatif) Si vous ne possédez pas encore de clé KMS, créez-en une à l'aide de la commande AWS CLI create-key suivante :
$
aws kms create-key
La sortie contient l'ID de clé et le nom de ressource Amazon (ARN) de la clé KMS. Voici un exemple de résultat :
{ "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
-
En suivant les étapes suivantes, vous autorisez le principal du Autorité de certification privée AWS service à utiliser la clé KMS. Par défaut, toutes les clés KMS sont privées ; seul le propriétaire de la ressource peut utiliser une clé KMS pour chiffrer et déchiffrer les données. Cependant, le propriétaire de la ressource peut accorder à d'autres utilisateurs et ressources des autorisations d'accès à la clé KMS. Le principal de service doit se trouver dans la même région que celle où la clé KMS est stockée.
-
Tout d'abord, enregistrez la politique par défaut pour votre clé KMS à
policy.json
l'aide de la get-key-policycommande suivante :$
aws kms get-key-policy --key-id
key-id
--policy-name default --output text > ./policy.json -
Ouvrez le fichier
policy.json
dans un éditeur de texte. Sélectionnez l'une des déclarations de politique suivantes et ajoutez-la à la politique existante.Si votre clé de compartiment Amazon S3 est activée, utilisez l'instruction suivante :
{ "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::
bucket-name
" } } }Si votre clé de compartiment Amazon S3 est désactivée, utilisez l'instruction suivante :
{ "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
bucket-name
/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name
/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name
/audit-report/*", "arn:aws:s3:::bucket-name
/crl/*" ] } } } -
Enfin, appliquez la politique mise à jour à l'aide de la put-key-policycommande suivante :
$
aws kms put-key-policy --key-id
key_id
--policy-name default --policy file://policy.json
-
Déterminer l'URI du point de distribution CRL (CDP)
Si vous utilisez le compartiment S3 comme CDP pour votre autorité de certification, l'URI du CDP peut être dans l'un des formats suivants.
http://
DOC-EXAMPLE-BUCKET
.s3.region-code
.amazonaws.com/crl/CA-ID
.crlhttp://s3.
region-code
.amazonaws.com/DOC-EXAMPLE-BUCKET
/crl/CA-ID
.crl
Si vous avez configuré votre autorité de certification avec un CNAME personnalisé, l'URI du CDP inclura le CNAME, par exemple, http://
alternative.example.com
/crl/CA-ID
.crl