Esta cadeia de certificados SSL está quebrada e como corrigi-la?

13

Para o certificado SSL no domínio example.com, alguns testes me dizem que a cadeia está incompleta e, como o Firefox mantém seu próprio armazenamento de certificados, pode falhar no Mozilla ( 1 , 2 , 3 ). Outros me dizem que está tudo bem , assim como o Firefox 36, que me diz que a cadeia de certificação está bem.

ATUALIZAÇÃO: Testei no Opera, Safari, Chrome e IE no Windows XP e no MacOS X Snow Leopard, todos eles funcionam bem. Ele só falha no Firefox <36 nos dois sistemas operacionais. Não tenho acesso para testar no Linux, mas para este site é menos de 1% dos visitantes, e a maioria provavelmente é bots. Portanto, isso responde às perguntas originais "essa configuração exibe avisos no Mozilla Firefox ou não" e "Esta cadeia de certificados SSL está quebrada ou não?".

Portanto, a questão é como descobrir quais documentos eu preciso colocar no arquivo ssl.ca para que possam ser atendidos pelo Apache para impedir que o Firefox <36 seja bloqueado?

PS: Como observação, o Firefox 36 que eu usei para testar o certificado era uma instalação totalmente nova. Não há chance de que não tenha reclamado porque havia baixado um certificado intermediário durante uma visita anterior a um site que usa a mesma cadeia .

Gaia
fonte
1
Não necessariamente - em qualquer caso, se você puder responder sua própria pergunta, incentivou-o a fazê-lo :) #
BE77Y
Sim, eu respondi esta, mas seria mais útil perguntar novamente como corrigir, em vez de estar quebrado. Tudo bem fazer isso?
Gaia
1
Absolutamente. Ele mantém as respostas aqui relevante, bem como (a partir do momento em que foram postados, eles estavam certos, certo?)
canadense Luke
@ Gaia: ah, ok - entendo o que você quer dizer agora. Eu não estou 100% acima do que seria considerado uma boa prática nisso, mas meu instinto seria atualizar sua pergunta para incluir "e como isso deve ser resolvido?" No seu caso, de acordo com a resposta de Steffen Ullrich, o certificado "COMODO RSA Certification Authority" está ausente da cadeia - você pode evitar erros em potencial do cliente, mas incluí-lo em sua cadeia. Isso só é realmente considerado uma prática ruim, pois acrescenta uma sobrecarga potencialmente desnecessária ao aperto de mão - caso contrário, não tem efeito prejudicial.
BE77Y 17/03/2015
Para além do exposto, é importante notar também que a maioria se não todos os clientes modernos deve ser absolutamente bem com a configuração na sua redacção actual (como pelo teste SSLlabs)
BE77Y

Respostas:

8

Se a cadeia for suficiente, depende do armazenamento da CA do cliente. Parece que o Firefox e o Google Chrome incluíram o certificado para "COMODO RSA Certification Authority" no final de 2014. Para o Internet Explorer, isso provavelmente depende do sistema operacional subjacente. A CA ainda pode não estar incluída em armazenamentos confiáveis ​​usados ​​por não navegadores, como rastreadores, aplicativos móveis etc.

De qualquer forma, a cadeia não está totalmente correta, como pode ser visto no relatório do SSLLabs :

  • Um caminho de confiança precisa que a nova CA seja confiável pelo navegador. Nesse caso, você ainda envia a nova CA incorreta, porque as CAs confiáveis ​​devem ser integradas e não contidas na cadeia.
  • O outro caminho de confiança está incompleto, ou seja, precisa de um download extra. Alguns navegadores como o Google Chrome fazem esse download, enquanto outros e não navegadores esperam que todos os certificados necessários estejam contidos na cadeia enviada. Portanto, a maioria dos navegadores e aplicativos que não possuem a nova CA integrada falhará neste site.
Steffen Ullrich
fonte
Tenho a impressão de que o Chrome e o IE usam o armazenamento de certificados do Windows. Tem certeza de que o Chrome tem sua própria loja suplementar?
Gaia
O SSLlabs declara "Problemas da cadeia = Nenhum", mas vejo a análise detalhada da cadeia abaixo.
Gaia
1
FWIW, o Chrome no OS X realmente usa o armazenamento de certificados do SO, @SteffenUllrich.
BE77Y 17/03/2015
1
@ Gaia: não esqueça os clientes móveis, eles têm seu próprio repositório de certificados, que também pode variar entre as várias versões do Android.
Steffen Ullrich
1
@ Gaia: pegue o segundo caminho de confiança mostrado pelo SSLLabs e adicione o certificado da cadeia que está faltando. Essa cadeia pode ser validada pelos navegadores que possuem a CA mais recente e pelos que ainda não têm essa CA.
Steffen Ullrich
8

Entrei em contato com a Comodo e baixei um arquivo bundle.crt deles. Renomeei para ssl.ca, conforme a configuração deste servidor, e agora o certificado passa em todos os testes. O Chain issues = Contains anchoraviso não é um problema (veja abaixo).

O SSL Labs, amplamente considerado como o teste mais completo, agora mostra Chain issues = Contains anchor, enquanto antes o mostrava Chain issues = None(enquanto os outros mostravam um problema com a cadeia). Isso realmente não é problema ( 1 , 2 ), além de 1 kB extra que o servidor envia ao cliente.

Minha conclusão

  1. Ignore o teste do SSL Labs onde diz Chain issues = Contains anchorOU remova o certificado raiz do arquivo do pacote (veja este comentário abaixo).

  2. Sempre execute um teste secundário em pelo menos um dos outros três sites de teste ( 1 , 2 , 3 ) para garantir que sua cadeia esteja realmente correta quando o SSL Labs informar Chain issues = None.

Gaia
fonte
2
Não há realmente sentido incluir o certificado "âncora" / "raiz" real. Você deseja muito o certificado intermediário, no entanto. Presumo que você não tenha o certificado intermediário inicialmente, o que causou os problemas.
Håkan Lindqvist
@ HåkanLindqvist Então, devo descriptografar os certificados, descobrir qual é o certificado raiz e removê-lo da cadeia?
Gaia
1
Eu sugeriria fazê-lo mesmo que não seja um problema tão sério quanto a falta de certificados intermediários (é apenas um pouco de desperdício). Fwiw, o teste SSL da Qualy indica que 02faf3e291435468607857694df5e45b68851868é desnecessário.
Håkan Lindqvist
@ HåkanLindqvist usando openssl x509 -fingerprint -in ssl.caeu preguei que a parte do arquivo que possui impressão digital 02faf3e291435468607857694df5e45b68851868foi o primeiro PEM. Eu o removi e agora recebo i.imgur.com/1iG2UCz.png e i.imgur.com/m8gYbdG.png (Erro de OCSP: falha no pedido com status de OCSP: 6 [ ocsp.comodoca.com] )
Gaia
3
Sua conclusão sobre o aviso "contém âncora" é válida - vale a pena ler esta resposta no Security.SE; Em resumo, não há qualquer problema de enviá-lo: security.stackexchange.com/a/24566/7043
Chris J