Nous avons récemment acheté un certificat SSL générique pour notre domaine. Nous avons converti tous les certificats en un fichier de clés 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.
ssl-certificate
certificate
best-practices
AméricainKryptonite
la source
la source
Réponses:
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 à simplement révoquer 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 disposent déjà d'une solution de gestion de compte privilégiée, par exemple 1 2
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.
la source
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é.
la source
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é par DES ou AES en la chiffrant avec une phrase secrète à 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): -
Suppression d'une phrase secrète (vous serez invité à saisir la phrase secrète): -
la source
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 crois 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 dispose d'une très bonne API Web stable pour démarrer.
la source
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 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.
la source