Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何在弹性负载均衡中为 mTLS 配置证书吊销列表?
我想在弹性负载均衡 (ELB) 中为双向 TLS (mTLS) 配置证书吊销列表 (CRL)。
简短描述
当您在应用程序负载均衡器中使用 mTLS 时,可以使用第三方 CA(certificate authority,证书颁发机构)的证书对客户端进行身份验证。此外,您还可以借助 AWS Private CA,使用证书对客户端进行身份验证。要吊销对证书的访问,请在负载均衡信任库下创建 CRL(certificate revocation list,证书吊销列表)。
解决方法
注意:对于第三方证书颁发机构,请跳至下述解决方法的将 PEM 编码的 CRL 上传到 Amazon S3 存储桶部分。
要吊销在 AWS Private CA 上颁发的客户端证书,请完成以下步骤:
在颁发客户端证书的 CA 中激活 CRL 分配选项
要在颁发客户端证书的 CA 中激活 CRL 分配选项,请完成以下步骤:
- 打开 AWS Private CA 控制台。
- 选择颁发客户端证书的证书颁发机构。
- 修改 Revocation configuration(吊销配置),然后开启 CRL distribution(CRL 分配)选项。
- 要附加必要的访问策略,请创建新的 Amazon Simple Storage Service (Amazon S3) 存储桶或使用现有的 Amazon S3 存储桶。
- 要确认 acm-pca-permission-test 文件是在您的 Amazon S3 存储桶中创建的,请创建一个文本文件。创建一个文本文件,内容为 This is a test file to check the access permissions of the bucket(这是一个测试文件,用于检查存储桶的访问权限)。
吊销证书
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误消息,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新的 AWS CLI 版本。
要吊销客户端证书的访问权限,请完成以下步骤:
-
找到客户端证书序列号并添加注释。此序列号用于以下步骤。
openssl x509 -in client_certertificate.cert -text -noout | grep -A 1 "Serial Number" -
(可选)在应用程序负载均衡器连接日志字段 leaf_client_cert_serial_number 中找到客户端证书序列号。
-
要吊销证书访问权限,请使用 acm-pca 命令:
**注意:**将 example-arn-ca-issuer 替换为证书颁发机构 ARN,将 example-cert-sn 替换为证书序列号,将 example-reason 替换为您的吊销原因。aws acm-pca revoke-certificate \ --certificate-authority-arn <example-arn-ca-issuer> \ --certificate-serial <example-cert-sn> \ --revocation-reason "example-reason" -
对要吊销访问权限的所有客户端证书重复上述的第 2 步和第 3 步。
**注意:**吊销证书后,AWS Private CA 最多需要 30 分钟才能更新您的 Amazon S3 存储桶中的 CRL。
转换生成的 CRL
注意:如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新的 AWS CLI 版本。
要转换生成的 CRL,请完成以下步骤:
-
打开 Amazon S3 控制台。
-
从之前使用的 Amazon S3 存储桶中下载 CRL 文件。或者,使用 AWS CLI 列出 Amazon S3 存储桶的内容并将文件下载到您的工作目录中:
**注意:**将 example-bucket 替换为您的 Amazon S3 存储桶,将 example-crl-file 替换为 CRL 文件。aws s3 ls s3://<example-bucket>/crl/ aws s3 cp s3://<example-bucket>/crl/<example-crl-file>.crl ./revoke_list.crl -
将下载的 CRL 文件的编码从 DER 转换为 PEM:
openssl crl -in example-revoke-list.crl -inform DER -out revoke_list_in_pem.crl
将 PEM 编码的 CRL 上传到 Amazon S3 存储桶
注意:如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。.此外,请确保您使用的是最新的 AWS CLI 版本。
要将 PEM 编码的 CRL 上传到 Amazon S3 存储桶,请完成以下步骤:
- 打开 Amazon S3 控制台。
- 将 CRL 文件上传到您的 Amazon S3 存储桶。或者,使用 AWS CLI 将 CRL 文件从您的工作目录中上传:
**注意:**将 example-bucket 替换为您的 Amazon S3 存储桶。aws s3 cp revoked_list_in_pem.crl s3://<example-bucket>/crl/revoked_list_in_pem.crl
使用 CRL 更新负载均衡信任库吊销列表
注意:如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。.此外,请确保您使用的是最新的 AWS CLI 版本。
要更新负载均衡信任库中的 CRL,请完成以下步骤:
-
导航到 Trust Stores(信任库),然后选择要更新的信任库。
-
要添加吊销列表,请提供要添加的 CRL 文件的 Amazon S3 存储桶 URL。或者,使用 elbv2 命令更新信任库的吊销情况:
**注意:**将 example-trust-store-arn 替换为信任库的 ARN,将 example-bucket 替换为 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 -
要确认 CRL 已应用,请查看输出以确定已吊销的条目数量是否有所增加。
将证书吊销列表添加到信任库时,会为其提供一个吊销 ID。每当向信任库中添加吊销列表时,吊销 ID 就会增加,并且这些 ID 无法更改。如果删除了证书吊销列表,则吊销 ID 也会删除,并且在信任库的生命周期内不会再次使用这个吊销 ID。
相关信息
- 语言
- 中文 (简体)
