Por que armazenar o certificado SSL do Apache e a chave privada em arquivos separados?

11

A documentação do mod_ssl do Apache para o SSLCertificateFile e SSLCertificateKeyFile declaram que é 'strongmente desencorajado' armazenar uma chave privada e um certificado SSL no mesmo arquivo. / p>

Agora, obviamente, o arquivo de chave privada deve ser mantido seguro, mas supondo que seja o caso, existem riscos específicos ao armazenar um certificado no mesmo arquivo? Estou curioso para saber por que esse comportamento é apoiado e, no entanto, strongmente desencorajado sem explicação.

    
por Vortura 10.06.2013 / 17:54

2 respostas

15

O arquivo de certificado SSL é um bloqueio.
O arquivo de chave de certificado SSL é sua chave.

Armazenar os dois juntos é o equivalente a gravar sua chave na fechadura da porta da frente.
Se um invasor comprometer o arquivo único, ele terá tudo o que precisa para representar com sucesso seu site (o certificado e a chave privada).

Isso é especialmente verdadeiro se você não tiver uma senha em sua chave SSL (muitos servidores da Web não permitem que sejam inicializados automaticamente em caso de falha).

O que você está defendendo ao separar os arquivos é um erro do Apache que faz com que ele despeje o conteúdo do SSLCertificateFile (algo que deveria estar publicamente disponível) em um web client.
(Para meu conhecimento não existe esse bug, ou já existiu, mas o Apache é um software grande e complexo. É totalmente possível.)

Se o Apache despejar esse arquivo e tudo o que ele contiver for o Certificado SSL (o bloqueio), não há problema: todo mundo obtém uma cópia desse certificado quando faz uma solicitação SSL para o servidor, de qualquer maneira. Se o arquivo contiver a chave, você terá perdido qualquer chance de segurança - todo o seu modelo de criptografia será comprometido e você precisará alterar as chaves.

    
por 10.06.2013 / 18:08
7

Versões antigas do OpenSSL exigiam dois arquivos separados (públicos e privados). Versões antigas de outros mecanismos de criptografia exigiam um único arquivo (ambos no mesmo arquivo). No "espírito" de compatibilidade (também conhecido como "Admin reclamando da inconsistência e tendo que manter dois conjuntos de certificados), a maioria agora suporta ambos.

Armazenar os dois certificados (também o chaveiro) em um único arquivo é desencorajado, pois os diferentes certificados têm escopos diferentes. É mais um problema de consistência do que técnico, em que o certificado público deve ter permissões de arquivo legíveis publicamente e vice-versa para o privado. Não há perigo em manter seu certificado público em segredo em seus sistemas, é apenas inconsistente com o seu propósito.

    
por 10.06.2013 / 17:57