本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为以下各项设置 CRL AWS Private CA
在将证书吊销列表 (CRL) 配置为 C A 创建过程的一部分之前,可能需要事先进行一些设置。本节说明在创建附有 CRL 的 CA 之前应了解的先决条件和选项。
有关使用在线证书状态协议(OCSP)作为 CRL 的备选或补充的信息,请参阅 Certificate revocation options 和 自定义 OCSP 网址 AWS Private CA。
CRL 类型
-
完成-默认设置。 AWS 私有 CA 为 CA 颁发的所有因任何原因被撤销的未过期证书保留一个未分区的 CRL 文件。每个颁发的证书都通过其CRL分发点 (CDP) 扩展名绑定到特定 CRL,该扩展在 RFC 5280 中定义。 AWS 私有 CA
-
已分区-与完整版相比CRLs,分区可以 CRLs 显著增加您的私有 CA 可以颁发的证书数量,并使您不必频繁轮换。CAs
重要
使用分区时 CRLs,必须验证 CRL 的关联颁发分发点 (IDP) URI 是否与证书的 CDP URI 相匹配,以确保已获取正确的 CRL。 AWS 私有 CA 将 IDP 扩展标记为关键,您的客户必须能够处理该扩展。
CRL 结构
每个 CRL 是一个 DER 编码文件。要下载文件并使用 OpenSSL
openssl crl -inform DER -in
path-to-crl-file
-text -noout
CRLs 格式如下:
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
注意
只有在颁发了引用它的证书时,CRL 才会存放到 Amazon S3 中。在此之前,Amazon S3 桶中只有显示一个 acm-pca-permission-test-key
文件。
亚马逊 S3 CRLs 中的访问策略
如果您计划创建 CRL,则需要准备一个 Amazon S3 存储桶来存储它。 AWS 私有 CA 自动将 CRL 存入您指定的 Amazon S3 存储桶中,并定期对其进行更新。有关更多信息,请参阅创建存储桶。
您的 S3 桶必须通过附加的 IAM 权限策略进行保护。授权用户和服务主体需要 Put
权限才能允许 AWS 私有 CA
在桶中放置对象,并且需要 Get
权限才能进行检索。在创建 CA 的控制台过程中,您可以选择允许 AWS 私有 CA 创建新存储桶并应用默认权限策略。
注意
IAM 策略配置取决于 AWS 区域 所涉及的内容。区域分为两类:
-
默认启用区域-默认情况下为所有区域启用的区域。 AWS 账户
-
默认禁用的区域 – 默认情况下禁用但可以由客户手动启用的区域。
有关更多信息以及默认禁用的区域列表,请参阅管理。 AWS 区域有关在 IAM 上下文中对服务主体的讨论,请参阅选择加入区域的AWS 服务主体。
当您配置 CRLs 为证书吊销方法时, AWS 私有 CA 会创建 CRL 并将其发布到 S3 存储桶。S3 存储桶需要一个允许 AWS 私有 CA 服务委托人写入存储桶的 IAM 策略。服务主体的名称因所使用的区域而有所不同,且并非支持所有可能性。
PCA | S3 | 服务主体 |
---|---|---|
两者位于同一区域 |
|
|
已启用 |
已启用 |
|
已禁用 | 已启用 |
|
已启用 | 已禁用 |
不支持 |
默认策略对 CA 不施加任何 SourceArn
限制。我们建议您采用宽松程度较低的政策,例如以下政策,该政策限制对特定 AWS 账户和特定私有 CA 的访问权限。或者,您可以使用 a ws: SourceOrg ID 条件键来限制对中特定组织的访问权限。 AWS Organizations有关存储桶策略的更多信息,请参阅 Amazon 简单存储服务的存储桶策略。
{ "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:::
amzn-s3-demo-bucket
/*", "arn:aws:s3:::amzn-s3-demo-bucket1
" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333
", "aws:SourceArn":"arn:partition:acm-pca:region:111122223333
:certificate-authority/CA_ID
" } } } ] }
如果您选择允许默认策略,以后可以随时修改。
使用启用 S3 阻止公共访问 (BPA) CloudFront
默认情况下,新 Amazon S3 桶是在激活屏蔽公共访问权限(BPA)功能的情况下配置的。BPA 包含在 Amazon S3 安全最佳实践中,是一组访问控制,客户可以使用这些控制来微调对 S3 桶中对象和整个桶的访问权限。当 BPA 处于活动状态且配置正确时,只有经过授权和身份验证的 AWS 用户才能访问存储桶及其内容。
AWS 建议在所有 S3 存储桶上使用 BPA,以避免敏感信息泄露给潜在的对手。但是,如果您的PKI客户通过公共互联网(即未登录 AWS 帐户)进行检索 CRLs ,则需要进行额外的规划。本节介绍如何使用 Amazon CloudFront(内容分发网络 (CDN))配置私有 PKI 解决方案,使其 CRLs 无需经过身份验证的客户端访问 S3 存储桶即可提供服务。
注意
使用 CloudFront 会给您的 AWS 账户带来额外费用。有关更多信息,请参阅 Amazon CloudFront 定价
如果您选择将 CRL 存储在启用 BPA 的 S3 存储桶中,但不使用 CloudFront,则必须构建另一个 CDN 解决方案,以确保您的 PKI 客户端可以访问您的 CRL。
为 BPA CloudFront 做好准备
创建一个可以访问您的私有 S3 存储桶的 CloudFront 分配,并且可以提供 CRLs 给未经身份验证的客户端。
为 CR CloudFront L 配置发行版
-
使用《Amazon CloudFront 开发者指南》中创建分配中的步骤创建新 CloudFront 分配。
完成该过程时,请应用以下设置:
-
在源域名中,选择您的 S3 桶。
-
为限制存储桶访问选择是。
-
为源访问身份选择创建新身份。
-
在授予对存储桶的读取权限下选择是,更新存储桶策略。
注意
在此过程中, CloudFront 修改您的存储桶策略以允许其访问存储桶对象。考虑编辑此策略,使其仅允许访问
crl
文件夹下的对象。
-
-
初始化发行版后,在 CloudFront 控制台中找到其域名并将其保存以供下一个步骤使用。
注意
如果您的 S3 存储桶是在 us-east-1 以外的区域新创建的,则当您通过访问已发布的应用程序时,可能会出现 HTTP 307 临时重定向错误。 CloudFront桶的地址可能需要几个小时才能传播。
为 BPA 设置 CA
在配置新 CA 时,请将别名添加到您的 CloudFront发行版中。
为你的 CA 配置别名记录 CloudFront
-
使用 在中创建私有 CA AWS Private CA 创建您的 CA。
执行该过程时,撤销文件
revoke_config.txt
应包含以下几行,以指定非公共 CRL 对象并在中提供分发端点的 URL: CloudFront"S3ObjectAcl":"BUCKET_OWNER_FULL_CONTROL", "CustomCname":"
abcdef012345.cloudfront.net
"之后,当您使用此 CA 颁发证书时,这些证书将包含如下所示的块:
X509v3 CRL Distribution Points: Full Name: URI:http://abcdef012345.cloudfront.net/crl/01234567-89ab-cdef-0123-456789abcdef.crl
注意
如果您拥有由此 CA 颁发的较旧证书,则他们将无法访问 CRL。
确定 CRL 分发点 (CDP) URI
如果您需要在工作流程中使用 CRL 分发点 (CDP) URI,则可以使用该证书上的 CRL URI 颁发证书,也可以使用以下方法。这仅适用于完整版CRLs。分区后面 CRLs 会随机附加一个 GUID。
如果您使用 S3 存储桶作为 CA 的 CRL 分发点 (CDP),则 CDP URI 可以采用以下格式之一。
http://
amzn-s3-demo-bucket
.s3.region-code
.amazonaws.com/crl/CA-ID
.crlhttp://s3.
region-code
.amazonaws.com/amzn-s3-demo-bucket
/crl/CA-ID
.crl
如果您为自己的 CA 配置了自定义 CNAME,则 CDP URI 将包含别名记录,例如,http://
alternative.example.com
/crl/CA-ID
.crl