Como instalo um arquivo CRL openssl?

0

Este é o cenário.

  • Servidor: Ubuntu 12.04 - postfix e dovecot
  • Cliente: Ubuntu 13.10 - offlineimap e msmtp

Estou finalizando minha recuperação do Heartbleed e quero reemitir meu próprio certificado de servidor. Como é um servidor privado, criei originalmente uma CA e usei a CA para assinar o certificado do servidor. O certificado da CA está instalado corretamente no sistema do meu cliente, a chave do servidor e o certificado estão instalados no servidor.

Agora, criei uma CRL e especifiquei que a CRL não precisa ir no servidor (exceto distribuir muito se eu tivesse outros usuários), mas precisa ser instalada na minha máquina de desktop para que o OpenSSL ganhe aceite a chave original. Então copiei o arquivo CRL para / etc / ssl / crl. Eu criei o link usando

ln -s mycrl.pem 'openssl crl -hash -noout -in mycrl.pem'.0

O resultado parece razoável.

openssl s_client conexões para o servidor muito bem. Nenhuma mensagem de erro que eu possa ver na conexão, mas eu espero que haja todos os tipos de erros e, possivelmente, até mesmo uma recusa a se conectar. Então, eu olho no meu arquivo de configuração openssl e movo o arquivo CRL para /etc/ssl/crl.pem. O mesmo resultado:

depth=1 C = US, ST = TX, L = Austin, O = SavanniDGerinel, OU = SavanniDGerinel, CN = SavanniDGerinel CA, name = savannidgerinel.com, emailAddress = [email protected]
verify return:1
depth=0 C = US, ST = TX, L = Austin, O = SavanniDGerinel, OU = SavanniDGerinel, CN = apps.savannidgerinel.com, name = savannidgerinel.com, emailAddress = [email protected]
verify return:1
---
Certificate chain
 0 s:/C=US/ST=TX/L=Austin/O=SavanniDGerinel/OU=SavanniDGerinel/CN=apps.savannidgerinel.com/name=savannidgerinel.com/[email protected]
   i:/C=US/ST=TX/L=Austin/O=SavanniDGerinel/OU=SavanniDGerinel/CN=SavanniDGerinel CA/name=savannidgerinel.com/[email protected]
... tons more stuff ....
SSL-Session:
  ... tons of sessions stuff ...
  Verify return code: 0 (ok)

Como faço para forçar o sistema OpenSSL no meu laptop a realmente prestar atenção aos arquivos de revogação? E, dado que tenho certeza de que os certificados são revogados regularmente, por que não há absolutamente nenhum outro arquivo de CRL no meu sistema? Como posso ter certeza de que estou realmente conectando com o que acho que estou me conectando?

Não colocar um ponto muito bom nisso, mas por que é difícil instalar uma lista de revogação? Isso me parece o tipo de coisa que tem que ser trivial para usuários finais que não sabem nada a fim de garantir a segurança da Internet.

    
por Savanni D'Gerinel 17.04.2014 / 06:52

1 resposta

2

Para usar o OpenSSL s_client com a verificação da CRL, você precisa fazer várias coisas não documentadas, que descrevi em link .

Além disso, não sei se algum aplicativo usando o OpenSSL faz a CRL verificar, pois acho que você precisa habilitar explicitamente essas verificações na API e, em seguida, colocar a CRL em locais inesperados. E, claro, não há download automático de CRLs.

Se você pensa agora que todo este material TLS está quebrado, provavelmente você está certo e isso não se aplica apenas ao OpenSSL.

    
por Steffen Ullrich 17.04.2014 / 07:35