Recentemente, compramos um certificado SSL curinga para nosso domínio. Convertemos todas as certs em um keystore Java, mas agora estamos nos perguntando onde devemos armazená-las para uso posterior.
As pessoas usam o controle de origem como o BitBucket para esses tipos de arquivos ou apenas geram toda vez que é necessário, ou algo mais?
Estamos nos perguntando se há uma solução padrão ou alguma "prática recomendada" para armazenar esses certificados para uso futuro.
ssl-certificate
certificate
best-practices
AmericanKryptonite
fonte
fonte
Respostas:
Existem várias soluções:
Uma avenida é um cofre de chaves específico, um dispositivo baseado em hardware, um módulo de segurança de hardware ou um equivalente baseado em software.
Outra é simplesmente revogar a chave antiga e gerar um novo par de chaves pública / privada quando a situação surgir. Isso muda um pouco o problema de manter a segurança da chave e proteger o nome de usuário / senha da conta com o provedor de certificado e seus procedimentos para reemitir. A vantagem é que a maioria das organizações já possui uma solução privilegiada de gerenciamento de contas, por exemplo, 1 2
Existem várias maneiras de armazenamento off-line, desde a impressão de uma cópia impressa do par de chaves público e privado, incluindo a senha (mas que será uma cadela a restaurar), até simplesmente armazená-las em mídias digitais classificadas para armazenamento prolongado. .
Lugares realmente ruins são o GitHub, sua equipe WiKi ou um compartilhamento de rede (e você entendeu).
Atualização 2015/4/29: Keywhiz também parece uma abordagem interessante.
fonte
Não, os certificados SSL não entram no controle de origem, pelo menos não na parte da chave privada.
Trate-os como se fosse uma senha. Na verdade, as nossas são armazenadas exatamente da mesma maneira que nossas senhas - no KeePass. Permite anexar arquivos e é criptografado.
fonte
Se você colocar a chave privada no controle de origem, qualquer pessoa que tenha acesso a ela poderá se passar por seu servidor. Se o seu servidor da Web não estiver usando o PFS (perfeito sigilo de encaminhamento), também será possível descriptografar qualquer tráfego SSL capturado com ferramentas de código aberto comumente disponíveis, como o Wireshark.
Você pode proteger a chave criptografando-a com DES ou AES com uma senha usando o OpenSSL. O OpenSSL está disponível para Linux, OSX e Windows.
O OpenSSL também pode remover a senha quando uma senha é inconveniente (por exemplo, em um servidor da Web que é iniciado automaticamente, mas não suporta a entrada automática de senhas).
Adicionando uma senha usando a criptografia AES (mais segura que o DES): -
Removendo uma senha (você será solicitado a senha): -
fonte
Outra opção, depois de ler sobre o KeyWhiz, foi o Vashi da HashiCorp. Não é apenas um gerenciador de senhas, mas uma loja Secrets, acredito que seja semelhante ao KeyWhiz. Está escrito no GO, e o cliente também funciona como servidor e se conecta a vários métodos de autenticação e back-end. O Vault também é de código aberto, com a opção Enterprise.
Como as Chaves e Certificados SSL são apenas arquivos de texto, você pode codificá-los com base64 e salvá-los como uma sequência no Vault, ou mesmo apenas com o texto no Vault. Não existe uma WebUI ou GUI, é toda a linha de comando ou orientada a scripts e possui uma API da web estável e muito boa para inicializar.
fonte
Eu recomendaria procurar um HSM offline (como um token de criptografia de hardware ou um CAC) para armazenar a chave privada e o certificado. Isso não apenas protege a chave privada contra comprometimentos acidentais, mas também fornece algumas descargas criptográficas básicas.
Se você tiver mais ativos criptográficos para gerenciar, recomendo procurar um software de Gerenciamento de Chaves e Certificados Corporativos, que pode automatizar renovações, acompanhar o ciclo de vida, automatizar o provisionamento para terminais, etc. CLOB em um banco de dados.
fonte