Pourquoi les utilisateurs spécifiés dans ma liste CRL ne sont-ils pas révoqués par Client VPN ?

Dernière mise à jour : 27/01/2021

J'ai révoqué un certificat, généré une liste de révocation de certificats (CRL), puis importé la liste CRL dans AWS Client VPN. J'ai effectué ces étapes pour révoquer l'accès à des utilisateurs spécifiques. Toutefois, les utilisateurs spécifiés ne sont pas révoqués par Client VPN. Comment corriger ce problème ?

Brève description

Vérifiez que vous avez utilisé les commandes suivantes pour révoquer votre certificat et générer la liste CRL :

$ ./easyrsa revoke revoked.learnaws.local
$ ./easyrsa gen-crl

Ensuite, procédez comme suit pour poursuivre le dépannage.

Résolution

Remarque : Si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente d'AWS CLI.

1.    À l'aide d'AWS CLI, exportez la liste CRL, puis enregistrez-la en tant que fichier « crl.pem ». Veillez à supprimer le STATUS à la fin de la sortie de la commande.

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

2.    Créez un fichier PEM pour l'autorité de certification (CA) à l'aide des fichiers .crt et .key :

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

3.    Créez un fichier PEM pour le certificat qui doit être révoqué à l'aide des fichiers .crt et .key :

$ 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.    Concaténer les fichiers PEM « ca » et « crl » à l'aide de la commande cat :

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

5.    Vérifiez la révocation.

Si la sortie est « OK », elle n'est pas révoquée comme prévu. La sortie attendue est « error 23 at 0 depth lookup:certificate revoked » (erreur 23 à la recherche de profondeur 0 : certificat révoqué).

$ 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

-ou-

Trouvez le numéro de série du certificat, puis cherchez-le dans la sortie. Si le numéro de série est présent, le certificat est révoqué.

Exemple :

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

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?