為什麼我 CRL 中指定的使用者沒有被用戶端 VPN 撤銷?

1 分的閱讀內容
0

我撤銷憑證、產生憑證撤銷清單 (CRL),然後將 CRL 匯入 AWS Client VPN。我完成了這些步驟來撤銷特定使用者的存取權。不過,用戶端 VPN 並未撤銷指定的使用者。

簡短描述

若要撤銷存取權,您必須使用用於產生使用者憑證的相同憑證授權單位 (CA) 。此外,您必須執行下列命令以撤銷憑證並產生 CRL:

$ ./easyrsa revoke revoked.learnaws.local

$ ./easyrsa gen-crl

符合這些條件後,請完成下列步驟以進行疑難排解。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新版本 AWS CLI

1.使用 AWS CLI 匯出 CRL。然後將 CRL 儲存為 crl.pem 檔案。移除命令輸出結尾處的 STATUS

$ aws ec2 export-client-vpn-client-certificate-revocation-list --client-vpn-endpoint-id cvpn-endpoint-07ff8ba3d5d3b5188 --output text --region eu-central-1

2.使用 .crt 和 .key 檔案為憑證授權單位 (CA) 建立 .pem 檔案:

$ openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.p12
$ openssl pkcs12 -in ca.p12 -nodes -out ca.pem

3.為您想要撤銷的使用者憑證建立 .pem 檔案:

$ openssl pkcs12 -export -in revoked.learnaws.local.crt -inkey revoked.learnaws.local.key -out revoked.learnaws.local.p12
$ openssl pkcs12 -in revoked.learnaws.local.p12 -nodes -out revoked.learnaws.local.pem

4.使用 cat 命令連接「ca」和「crl」.pem 檔案:

$ cat ca.pem crl.pem > crl_ca.pem

5.驗證撤銷。

預期的輸出是「0 深度查找時出現錯誤 23:憑證被撤銷」。如果輸出為「OK」,則用戶端 VPN 並未撤銷使用者憑證。

範例輸出:

$ openssl verify -crl_check -CAfile crl_ca.pem revoked.learnaws.local.pem
revoked.learnaws.local.pem: CN = revoked.learnaws.local
error 23 at 0 depth lookup:certificate revoked

-或-

檢查使用者憑證序號的輸出。如果 CRL 中存在序號,則用戶端 VPN 已撤銷憑證。

若要尋找使用者憑證序號,請執行以下命令:

$ openssl x509 -in revoked.learnaws.local.crt -noout -serial

若要 CRL 中是否存在檢查序號,請執行以下命令:

client cert: CN=abc.corp.xyz.com, "CertificateArn": "arn:aws:acm:us-east-1:xxxx:certificate/xxxxx-f692-4026-b26f-cfb361cf1b66", "Serial": "b5:99:e8:b9:5d:39:85:5f:8e:a9:b9:2c:10:9f:8b:c3"

$ cd /home/ec2-user/easy-rsa/easyrsa3/pki$ openssl crl -in crl.pem -text -noout | grep B599E8B95D39855F8EA9B92C109F8BC3
AWS 官方
AWS 官方已更新 8 個月前