Por que o Client VPN não revogou os usuários que eu especifiquei na minha CRL?

3 minuto de leitura
0

Eu revoguei um certificado, gerei uma lista de revogação de certificados (CRL) e, em seguida, importei a CRL para o AWS Client VPN. Concluí essas etapas para revogar o acesso de usuários específicos. No entanto, o Client VPN não revogou os usuários especificados.

Breve descrição

Para revogar o acesso, você deve usar a mesma autoridade de certificação (CA) usada para gerar o certificado do usuário. Além disso, é preciso executar os seguintes comandos para revogar seu certificado e gerar a CRL:

$ ./easyrsa revoke revoked.learnaws.local

$ ./easyrsa gen-crl

Depois de atender a esses critérios, conclua as etapas a seguir para solucionar o problema.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), verifique se está usando a versão mais recente da AWS CLI.

1. Use a AWS CLI para exportar a CRL. Em seguida, salve a CRL como um arquivo crl.pem. Remova o STATUS no final da saída do comando.

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

2. Crie um arquivo .pem para a CA com os arquivos.crt e .key:

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

3. Crie um arquivo .pem para o certificado do usuário que você deseja revogar: 

$ 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. Vincule os arquivos .pem ca e crl ao comando cat:

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

5. Verifique a revogação.

A saída esperada é error 23 at 0 depth lookup:certificate revoked (erro 23 na pesquisa de profundidade 0: certificado revogado). Se a saída estiver OK, o Client VPN não revogou o certificado do usuário. 

Exemplo de saída:

$ 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-

Verifique na saída o número de série do certificado do usuário. Se o número de série estiver na CRL, o Client VPN revogou o certificado.

Para encontrar o número de série do certificado do usuário, execute este comando:

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

Para verificar se o número de série está na CRL, execute este comando:

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 OFICIAL
AWS OFICIALAtualizada há 8 meses