it-swarm.com.de

Wo speichern Unternehmen normalerweise SSL-Zertifikate für die zukünftige Verwendung?

Wir haben kürzlich ein Wildcard-SSL-Zertifikat für unsere Domain gekauft. Wir haben alle Zertifikate in einen Java Keystore) konvertiert, aber jetzt fragen wir uns, wo wir diese für die spätere Verwendung speichern sollen.

Verwenden Benutzer für diese Dateitypen Quellcodeverwaltung wie BitBucket oder generieren sie nur jedes Mal, wenn sie benötigt werden, oder etwas anderes?

Wir fragen uns, ob es eine Standardlösung oder "Best Practices" zum Speichern dieser Zertifikate für die zukünftige Verwendung gibt.

26

Es gibt mehrere Lösungen:

Ein Weg ist ein spezifischer Schlüsseldepot, entweder eine hardwarebasierte Appliance, ein Hardware-Sicherheitsmodul oder ein softwarebasiertes Äquivalent.

Eine andere Möglichkeit besteht darin, den alten Schlüssel einfach zu widerrufen und ein neues privates/öffentliches Schlüsselpaar zu generieren, wenn die Situation eintritt. Dadurch verschiebt sich das Problem etwas von der Aufrechterhaltung der Schlüsselsicherheit zur Sicherung des Benutzernamens/Kennworts des Kontos beim Zertifikatsanbieter und dessen Verfahren für die erneute Ausstellung. Der Vorteil besteht darin, dass die meisten Organisationen bereits über eine privilegierte Kontoverwaltungslösung verfügen, z. 12

Es gibt mehrere Möglichkeiten der Offline-Speicherung, vom Drucken eines Ausdrucks des privaten und öffentlichen Schlüsselpaars einschließlich des Kennworts (das jedoch von einer Hündin wiederhergestellt werden muss) bis zum einfachen Speichern auf digitalen Medien, die für eine Langzeitspeicherung ausgelegt sind .

Wirklich schlechte Orte sind GitHub, Ihr Team WiKi oder eine Netzwerkfreigabe (und Sie bekommen die Idee).

Update 29.04.2015: Keywhiz scheint ebenfalls ein interessanter Ansatz zu sein.

22
HBruijn

Nein, SSL-Zertifikate werden nicht in die Quellcodeverwaltung übernommen, zumindest nicht in den privaten Schlüssel.

Behandle sie wie ein Passwort. Unsere werden genauso gespeichert wie unsere Passwörter - in KeePass. Es ermöglicht das Anhängen von Dateien und ist verschlüsselt.

21
Grant

Wenn Sie den privaten Schlüssel in die Quellcodeverwaltung einfügen, kann sich jeder, der Zugriff darauf hat, als Ihr Server ausgeben. Wenn Ihr Webserver kein PFS (Perfect Forward Secrecy) verwendet, können Sie auch erfassten SSL-Verkehr mit allgemein verfügbaren Open Source-Tools wie Wireshark entschlüsseln.

Sie können den Schlüssel schützen, indem Sie DES oder AES ihn mit einer Passphrase mit OpenSSL verschlüsseln. OpenSSL ist für Linux, OSX und Windows verfügbar.

OpenSSL kann die Passphrase auch entfernen, wenn eine Passphrase unpraktisch ist (z. B. auf einem Webserver, der automatisch startet, aber die automatische Eingabe von Passphrasen nicht unterstützt).

Hinzufügen einer Passphrase mit AES-Verschlüsselung (sicherer als DES): -

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

Entfernen einer Passphrase (Sie werden zur Eingabe der Passphrase aufgefordert): -

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

Eine andere Option, nachdem ich über KeyWhiz gelesen hatte, war HashiCorp's Vault. Es ist nicht nur ein Passwort-Manager, sondern ein Secrets-Shop, ich glaube, KeyWhiz etwas ähnlich. Es ist in GO geschrieben, und der Client fungiert auch als Server und lässt sich in eine Reihe von Backends und Authentifizierungsmethoden einbinden. Vault ist auch Open Source, auch mit der Enterprise-Option.

Da SSL-Schlüssel und -Zertifikate nur Textdateien sind, können Sie sie mit base64 codieren und als Zeichenfolge in Vault oder sogar nur als Text in Vault speichern. Es gibt keine WebUI oder GUI, deren Befehlszeile oder Skript gesteuert wird, und es gibt eine sehr gute, stabile Web-API zum Booten.

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

Ich würde empfehlen, einen Offline-HSM (z. B. ein Hardware-Verschlüsselungstoken oder ein CAC) zu verwenden, um den privaten Schlüssel und das Zertifikat zu speichern. Dies schützt nicht nur den privaten Schlüssel vor versehentlichen Kompromissen, sondern bietet auch einige grundlegende kryptografische Auslagerungen.

Wenn Sie mehr kryptografische Assets verwalten müssen, würde ich empfehlen, eine Enterprise Key & Certificate Management-Software in Betracht zu ziehen, mit der Erneuerungen automatisiert, der Lebenszyklus verfolgt, die Bereitstellung für Endpunkte automatisiert usw. werden können. Die meisten dieser Assets speichern das im Ruhezustand verschlüsselte Asset als CLOB in einer Datenbank.

0
DTK