Como diabos você testa um site HTTPS para um certificado revogado?

5

Atualmente, estou usando nagios para fazer monitoramento, incluindo o uso das opções check_http para verificar se há um certificado SSL que expira em breve, etc. O que eu gostaria de fazer é incluir o teste de certificados revogados para cada um dos sites que eu monitorei. Parece fácil, certo? Bem:

  • check_http parece não verificar se há certificados revogados. Pelo menos, não bipou quando aconteceu recentemente, o que levou a alguma confusão
  • verify de Openssl tem -crl_check e -crl_check_all , o que seria ótimo, mas eu me importo mais com o OSCP do que com as CRLs (já que é isso que os navegadores se preocupam)
  • O Openssl tem um modo oscp , mas parece que eu teria que fazer um monte de trabalho para obter o certificado no lugar certo, descobrir onde o servidor OSCP está, etc.

Eu encontrei um monte de artigos sobre como escrever código para fazer a verificação do OSCP, mas tem que haver um bom programa que faça isso, certo? O que eu quero é um cheque Nagios, ou algo que eu poderia usar como um. No meu mundo perfeito, seria algo parecido com:

check_http_with_oscp -I (IP) -H (hostname) -p 443

Alguém?

    
por Bill Weiss 18.08.2010 / 03:53

2 respostas

2

Eu tenho medo de dar apenas dicas aqui, mas você deve ser capaz de juntar algo sem muita dor.

s_client -showcerts do openssl irá despejar os certificados codificados pelo PEM. Você pode extrair cada um deles com um regexp facilmente. Em seguida, canalize-os através do texto openssl x509 para extrair o URL do OCSP. Em seguida, openssl ocsp pode ser usado para enviar uma solicitação do OCSP ao respondedor:

link

Você precisará do certificado pai em cada caso, o qual você terá, exceto o certificado raiz. Então, além de talvez codificar isso, é bem autônomo. (Você também pode baixar o certificado raiz por meio do URL da extensão AIA.)

    
por 26.08.2010 / 03:34
3

Usamos uma abordagem muito diferente disso, talvez funcione para você também: iniciamos um navegador da Web com o iMacros para Firefox, navegue até o site e, se o certificado expirar, o iMacros "verá" o mesmo mensagem de erro como um usuário real. Eu verifico essa mensagem ... e a devolvo ao nosso sistema de monitoramento.

Eu faço isso no Windows Server, mas você também pode usá-lo no Linux através do suporte de linha de comando do iMacros. Isso faz parte dos complementos do free iMacros Firefox e Chrome.

Alternativamente, considere simplesmente usar uma conta gratuita com o serviço de monitoramento AlertFox. Você pode executar uma verificação gratuita a cada 4h, o que é mais do que suficiente para verificar se há certificados expirados e acionar um alerta.

    
por 18.08.2010 / 05:15