Erro de certificados do Apache 2.4 / SSL: AH01903: falha ao configurar a cadeia de certificados de CA

1

Recentemente tive que renovar um dos meus certificados SSL em um servidor Apache 2.4 / Mod_ssl.

Eu tenho dois Vhosts, nenhum SNI, cada um executando em uma NIC separada. Até agora os certificados eram ambos Globalsign OrganizationSSL, um específico para um URL, o outro é um curinga. Tudo isso estava funcionando bem.

Meu cliente queria ter um SSL de validação estendida. Eu fiz o download da CA raiz e do certificado Intermediário necessários para que essa cadeia funcione. Mas ao trocar os certificados, meu Apache se recusa a inicializar a cadeia.

Eu tenho os seguintes erros:

  • Log do Apache: [ssl: emerg] [pid 7394: tid 140377904683136] AH02311: Erro fatal inicializando mod_ssl, saindo.
  • Log do Vhost: [ssl: emerg] [pid 7394: tid 140377904683136] AH01903: Falha ao configurar a cadeia de certificados da autoridade de certificação!

Meu SSL Vhost conf:

Vhost 1 (Organização SSL):

SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ALL:!ADH:!EDH:!DHE:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLHonorCipherOrder     on
    SSLCertificateFile /path/to/organization.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLCertificateChainFile /path/to/intermediate.pem

Vhost 2 (Extended Validation SSL):

SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCACertificateFile /path/to/gs_root_ca.crt
    SSLCertificateChainFile /path/to/intermediate.crt
    SSLCertificateFile /path/to/extended_validation.crt
    SSLCertificateKeyFile /path/to/server2.key

Eu não sou especialista em SSL e não entendo por que os certificados Extended Validation e SSL da organização não podem coabitar.

Eu tentei remover um Vhost e o outro, está funcionando perfeitamente. Então, fui forçado a desabilitar o vhost menos usado para o meu backoffice principal de produção funcionar.

Você já encontrou esse erro? É um comportamento normal? O que posso fazer para que meus dois sites sejam exibidos novamente?

Obrigado pela sua experiência!

    
por IsKor 15.01.2018 / 17:27

1 resposta

1

Você está configurando incorretamente.

Vamos lembrar:

  • SSLCertificateKeyFile carrega a chave privada (você está fazendo isso bem)
  • O SSLCertificateFile carrega a cadeia de certificados do servidor . Esse é o certificado do servidor e suas CAs de assinatura classificadas de folha (certificado) para raiz (lvl CA mais alto).
  • O SSLCertificateChainFile está obsoleto no apache 2.4, portanto remova este aqui.
  • O SSLCACertificateFile carrega as CAs dos clientes que serão autenticados por meio do SSL com o certificado do cliente. ESTE É O QUE VOCÊ QUER USAR PARA O SSL CLIENT AUTH .

Sidenote : Seu Ciphersuite parece muito incorreto e inseguro à primeira vista. Vale a pena verificar se há uma mudança nesse também.

Editar com base nos comentários. Para o 2.4.6 e anteriores, você deve :

  • O SSLCertificateFile carrega o certificado do servidor .
  • O SSLCertificateChainFile carrega a cadeia CA do certificado do servidor .
  • O SSLCACertificateFile carrega as CAs dos clientes que serão autenticados por meio do SSL com o certificado do cliente. ESTE É O QUE VOCÊ QUER USAR PARA O SSL CLIENT AUTH .
por 15.01.2018 / 18:54