web-dev-qa-db-fra.com

Où les entreprises stockent-elles généralement les certificats SSL pour une utilisation future?

Nous avons récemment acheté un certificat SSL générique pour notre domaine. Nous avons converti tous les certificats en un Java, mais nous nous demandons maintenant où nous devons les stocker pour une utilisation ultérieure.

Les gens utilisent-ils le contrôle de code source comme BitBucket pour ces types de fichiers ou génèrent-ils simplement chaque fois que cela est nécessaire, ou autre chose?

Nous nous demandons s'il existe une solution standard ou des "meilleures pratiques" concernant le stockage de ces certificats pour une utilisation future.

26
AmericanKryptonite

Il existe plusieurs solutions:

Une avenue est un coffre de clés spécifique, soit une appliance matérielle, un module de sécurité matérielle ou un équivalent logiciel.

Une autre consiste à révoquer simplement l'ancienne clé et à générer une nouvelle paire de clés privée/publique lorsque la situation se présente. Cela déplace quelque peu le problème du maintien de la sécurité des clés à la sécurisation du nom d'utilisateur/mot de passe du compte auprès du fournisseur de certificats et de leurs procédures de réémission. L'avantage est que la plupart des organisations ont déjà une solution de gestion de compte privilégiée, par exemple 12

Il existe plusieurs façons de stocker hors ligne, de l'impression d'une copie papier de la paire de clés privée et publique, y compris le mot de passe (mais ce sera une chienne à restaurer), à simplement les stocker sur des supports numériques conçus pour un stockage de longue durée. .

Les endroits vraiment mauvais sont GitHub, votre équipe WiKi ou un partage réseau (et vous avez l'idée).

Mise à jour 2015/4/29: Keywhiz semble également une approche intéressante.

22
HBruijn

Non, les certificats SSL n'entrent pas dans le contrôle de code source, du moins pas dans la partie clé privée.

Traitez-les comme vous le feriez avec un mot de passe. Les nôtres sont stockés exactement de la même manière que nos mots de passe - dans KeePass. Il vous permet de joindre des fichiers et est crypté.

21
Grant

Si vous mettez la clé privée dans le contrôle de code source, toute personne qui y aura accès pourra se faire passer pour votre serveur. Si votre serveur Web n'utilise pas PFS (Perfect Forward Secret), il est également possible de décrypter tout trafic SSL capturé avec des outils open source couramment disponibles comme Wireshark.

Vous pouvez protéger la clé en DES ou AES en la chiffrant avec une phrase de passe à l'aide d'OpenSSL. OpenSSL est disponible pour Linux, OSX et Windows.

OpenSSL peut également supprimer la phrase secrète lorsqu'une phrase secrète n'est pas pratique (par exemple sur un serveur Web qui démarre automatiquement mais ne prend pas en charge la saisie automatique des phrases secrètes).

Ajout d'une phrase secrète en utilisant le cryptage AES (plus sécurisé que DES): -

openssl rsa -aes256 -in private.key -out encrypted.private.key

Suppression d'une phrase secrète (vous serez invité à saisir la phrase secrète): -

openssl rsa -in encrypted.private.key -out decrypted.private.key
3
Tricky

Une autre option, après avoir lu sur KeyWhiz, était le coffre-fort de HashiCorp. Ce n'est pas seulement un gestionnaire de mots de passe, mais un magasin de secrets, je pense un peu similaire à KeyWhiz. Il est écrit en GO, et le client fonctionne également comme serveur, et se connecte à un tas de backends et de méthodes d'authentification. Vault est également open-source, avec l'option Entreprise également.

Étant donné que les clés et certificats SSL ne sont que des fichiers texte, vous pouvez les coder en base64 et les enregistrer sous forme de chaîne dans Vault, ou même simplement le texte dans Vault. Il n'y a pas de WebUI ou GUI, sa ligne de commande ou son script, et possède une très bonne API Web stable pour démarrer.

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault
1
FilBot3

Je recommanderais d'examiner un HSM hors ligne (comme un jeton de chiffrement matériel ou un CAC) pour stocker la clé privée et le certificat. Cela protège non seulement la clé privée contre les compromis accidentels, mais fournit également un déchargement cryptographique de base.

Si vous avez plus d'actifs cryptographiques à gérer, je vous recommande de rechercher un logiciel de gestion des clés et des certificats d'entreprise, qui peut automatiser les renouvellements, suivre le cycle de vie, automatiser le provisionnement des points de terminaison, etc. La plupart d'entre eux stockent l'actif chiffré au repos en tant que CLOB dans une base de données.

0
DTK