AWS 私有 CA 最佳实践 - AWS Private Certificate Authority

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS 私有 CA 最佳实践

最佳实践是可以帮助您 AWS 私有 CA 有效使用的建议。以下最佳实践基于当前 AWS Certificate Manager 和 AWS 私有 CA 客户的实际经验。

记录 CA 结构和策略

AWS 建议记录您在运营 CA 时的所有策略和实践。这可能包括:

  • 关于 CA 结构的决策的推理

  • 显示您CAs和他们之间关系的图表

  • 关于 CA 有效期的策略

  • CA 继承规划

  • 关于路径长度的策略

  • 权限目录

  • 管理控制结构说明

  • 安全性

您可以在两个文档中获取此信息,分别是认证政策 (CP) 和认证实践声明 (CPS)。有关用于捕获有关 CA 操作的重要信息的框架,请参阅 RFC3647

尽可能减少对根 CA 的使用

一般而言,根 CA 只能用于为中间证书颁发证书CAs。这允许将根 CA 存储在远离危险的地方,而中间证书可以CAs执行签发最终实体证书的日常任务。

但是,如果您的组织目前的做法是直接从根 CA 颁发最终实体证书,则 AWS 私有 CA 可以在改善安全性和运营控制的同时支持此工作流程。在这种情况下颁发最终实体证书需要IAM权限策略,该策略允许您的根 CA 使用最终实体证书模板。有关 IAM 策略的信息,请参阅 Identity and Access Managemen IAM t () 适用于 AWS Private Certificate Authority

注意

此配置施加了可能带来操作挑战的限制。例如,如果您的根 CA 被破坏或丢失,则必须创建一个新的根 CA 并将其分发给您环境中的所有客户端。在此恢复过程完成之前,您将无法颁发新证书。直接从根 CA 颁发证书还可以防止您限制访问和限制从根 CA 颁发的证书的数量,这都是管理根 CA 的最佳实践。

给根 CA 自己的 CA AWS 账户

在两个不同的 AWS 账户中创建根 CA 和从属 CA 是推荐的最佳做法。这样做可以为您的根 CA 提供更多保护和访问控制。为此,您可以将CSR从属 CA 导出到一个账户中,然后在另一个账户中使用根 CA 进行签名。这种方法的好处是,您可以CAs按账户单独控制自己的控制权。缺点是您无法使用向 AWS Management Console 导来简化从根 CA 签署从属 CA 的 CA 证书的过程。

重要

我们强烈建议您在访问 AWS 私有 CA时使用多因素身份验证 (MFA)。

管理员和颁发者角色分开

CA 管理员角色应与只需要颁发终端实体证书的用户分开。如果您的 CA 管理员和证书颁发者住在同一个地方 AWS 账户,则可以通过专门为此目的创建IAM用户来限制颁发者的权限。

实施证书的托管吊销

证书被吊销后,托管吊销会自动向证书客户发送通知。如果证书的加密信息已泄露或颁发有误,则可能需要吊销证书。客户通常拒绝接受已撤销的证书。 AWS 私有 CA 为托管吊销提供了两个标准选项:在线证书状态协议 (OCSP) 和证书吊销列表 (CRLs)。有关更多信息,请参阅 规划您的 AWS Private CA 证书吊销方法

开启 AWS CloudTrail

在创建和开始操作私有 CA 之前,请开启 CloudTrail 日志功能。借 CloudTrail助,您可以检索账户的 AWS API通话历史记录,以监控您的 AWS 部署。此历史记录包括从 AWS Management Console、 AWS Command Line Interface、和更高级别的 AWS 服务发出的API呼叫。 AWS SDKs您还可以识别哪些用户和账户调用了这些PCAAPI操作、发出呼叫的源 IP 地址以及呼叫发生的时间。您可以使用 CloudTrail 集成到应用程序中API,为您的组织自动创建跟踪,检查跟踪的状态,并控制管理员如何开启和关闭 CloudTrail 日志记录。有关更多信息,请参阅创建跟踪。转使用记录 AWS Private Certificate Authority API通话 AWS CloudTrail至查看 AWS 私有 CA 操作示例。

轮换 CA 私有密钥

最佳实践是定期更新私有 CA 的私有密钥。您可以通过导入新 CA 证书来更新密钥,也可以用新 CA 替换私有 CA。

注意

如果您更换 CA 本身,请注意 CA ARN 的已更改。这将导致依赖硬编码的自动化失败ARN。

删除未使用的 CAs

您可以永久删除私有 CA。如果您不再需要 CA 或者要将其替换为具有较新私有密钥的 CA,您可能要执行此操作。要安全删除 CA,我们建议您执行 删除私有 CA 中所述的流程。

注意

AWS 在 CA 被删除之前向您收费。

阻止公众访问您的 CRLs

AWS 私有 CA 建议对包含CRLs以下内容的存储桶使用 Amazon S3 阻止公共访问 (BPA) 功能。这样可以避免不必要地PKI向潜在的对手泄露您的私密信息。BPA是 S3 最佳实践,在新存储桶上默认处于启用状态。在某些情况下,需要进行其他设置。有关更多信息,请参阅 使用启用 S3 阻止公共访问 (BPA) CloudFront

Amazon EKS 应用程序最佳实践

使用 AWS 私有 CA 为 Amazon EKS 配置 X.509 证书时,请按照《亚马逊EKS最佳实践指南》中关于保护多租户环境的建议。有关将 AWS 私有 CA 与 Kubernetes 集成的一般信息,请参阅 使用 Kubernetes 保护 AWS 私有 CA