Frage 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 sollten.

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

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


23
2017-12-01 21:40


Ursprung


Sichern Sie sie verschlüsselt zu Ihrer herkömmlichen Backup-Lösung. Speichern Sie die privaten Schlüssel nicht unverschlüsselt bei einem externen Anbieter. In der Regel schließe ich die Ausgabe- und Ablaufdaten in meinen Cert- und Schlüsseldateinamen zur Unterscheidung ein. - Andrew Domaszek


Antworten:


Es gibt mehrere Lösungen:

Eine Möglichkeit ist ein spezifischer Schlüsseltresor, entweder eine hardwarebasierte Appliance, ein Hardware-Sicherheitsmodul oder ein softwarebasiertes Äquivalent.

Ein anderer besteht darin, einfach den alten Schlüssel zu entziehen und ein neues privates / öffentliches Schlüsselpaar zu erzeugen, wenn die Situation eintritt. Dies verlagert das Problem von der Beibehaltung der Schlüsselsicherheit hin zur Sicherung des Benutzernamens / Passworts des Kontos mit dem Zertifikatsanbieter und deren Verfahren für die erneute Ausstellung. Der Vorteil besteht darin, dass die meisten Organisationen bereits eine privilegierte Kontoverwaltungslösung, z. 1  2

Es gibt mehrere Möglichkeiten der Offline-Speicherung, vom Ausdrucken einer gedruckten Kopie des privaten und öffentlichen Schlüsselpaares einschließlich des Passworts bis zur Speicherung auf digitalen Medien, die für die Langzeitspeicherung ausgelegt sind .

Wirklich schlechte Plätze sind GitHub, dein Team WiKi oder eine Netzwerkfreigabe (und du kommst auf die Idee).

Update 2015/4/29:  Schlüsselwhiz scheint auch ein interessanter Ansatz zu sein.


20
2017-12-01 22:27



Ich bin neugierig, was meinst du mit "software-based equivalent" für das HSM?
Einige Hardware-Appliance-Anbieter verkaufen heutzutage ihre Appliances auch in Form einer virtuellen Appliance, einer VM. Es gibt auch Sachen wie Oracle-Schlüsseltresor und die offene Quelle SoftHSM um einige zu nennen. - HBruijn
Im Grunde genommen erlaubt das, einen Standard-Computer in ein HSM zu verwandeln ...
"Aber das wird eine Hündin sein, um sie wiederherzustellen" -> Diese hat meinen Tag gemacht! Witze beiseite, du solltest es vor dem Speichern verschlüsseln. - Ismael Miguel
Per Definition werden Sie Ihren öffentlichen Schlüssel allen offenbaren. Es gibt keinen Grund, das zu verschlüsseln. Aber das ist auch kein Grund, mit ihr schlampig zu sein. Die Sicherheit bezieht sich hauptsächlich auf den privaten Schlüssel, der typischerweise verschlüsselt / passwortgeschützt sein sollte. Sie sollten darauf abzielen, so wenig Kopien wie möglich davon zu haben. - HBruijn


Nein, SSL-Zertifikate gehen nicht in die Quellcodeverwaltung, zumindest nicht in den privaten Schlüsselteil.

Behandle sie wie ein Passwort. Unsere Daten werden genau so gespeichert wie unsere Passwörter - in KeePass. Es ermöglicht Ihnen, Dateien anzuhängen und ist verschlüsselt.


19
2017-12-01 21:58





Wenn Sie den privaten Schlüssel in die Quellcodeverwaltung eingeben, kann jeder, der darauf Zugriff hat, die Identität Ihres Servers annehmen. Wenn Ihr Webserver kein PFS (Perfect Forward Secrecy) verwendet, ist es auch möglich, erfassten SSL-Datenverkehr mit gängigen Open-Source-Tools wie Wireshark zu entschlüsseln.

Sie können den Schlüssel durch DES oder AES schützen, indem Sie 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 unbequem 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
2017-12-02 02:09



Wenn du bist Dinge richtig machen dann sollte selbst die Enthüllung des privaten Schlüssels nicht zu einer Gefährdung des vergangenen Verkehrs führen, obwohl dies sicherlich der Fall ist würde Machen Sie MITM'ing, um den zukünftigen Verkehr viel einfacher zu gestalten. - α CVn
Hi @Michael, In der Theorie, aber leider konnte ich viele Apache und IIS Captures entschlüsseln, so dass ich nur annehmen kann, dass PFS standardmäßig deaktiviert ist. Sogar viele IPSEC-VPNs haben es ausgeschaltet. - Tricky
PFS ist nicht standardmäßig deaktiviert, da es von vielen Cipher Suites nicht unterstützt wird. Probieren Sie den SSL Labs Server Test einige Zeit aus; Es zeigt an, welche Cipher Suites FS unterstützen. Natürlich wird die Deaktivierung aller Nicht-FS-Verschlüsselungssammlungen wahrscheinlich viele Clients im Stich lassen, da sie die FS-Verschlüsselungssammlungen nicht unterstützen. Es sollte funktionieren, FS Suiten bevorzugt zu behandeln (aber ich rate dringend davon ab, Cipher Suites manuell zu bestellen, es sei denn, Sie wissen, was Sie tun und welche relativen Stärken und Schwächen sie haben). - α CVn
Danke für die Empfehlung auf SSL Labs @ Michael. Leider sind meine Server nicht mit dem Internet verbunden, aber ich habe mit aktivierten Verschlüsselungen herumgespielt und wie Sie vorschlagen, scheint PFS nur von einigen Verschlüsselungen unterstützt zu werden. PFS verhindert in der Tat, dass ich Paketspuren decodiere. Ich werde meine Antwort entsprechend aktualisieren. - Tricky


Ich würde empfehlen, in ein Offline-HSM (wie ein Hardware-Verschlüsselungstoken oder ein CAC) zu schauen, um den privaten Schlüssel und das Zertifikat zu speichern. Dies schützt nicht nur den privaten Schlüssel vor einer versehentlichen Kompromittierung, sondern bietet auch eine grundlegende kryptographische Entlastung.

Wenn Sie mehr kryptografische Assets verwalten möchten, würde ich empfehlen, eine Enterprise Key & Certificate Management-Software zu suchen, die Erneuerungen automatisieren, den Lebenszyklus überwachen, die Bereitstellung an Endpunkte automatisieren usw. Die meisten von ihnen speichern das Asset verschlüsselt in Ruhe CLOB in einer Datenbank.


0
2017-12-02 02:33



Warum die Downvotes? Nicht beschweren; neugierig, was mit dieser Antwort nicht stimmt. - Matt
Nicht sicher, warum es abgelehnt wurde. HSMs sind speziell für sichere Schlüsselspeicherung und Hochgeschwindigkeits-Verschlüsselung ausgelegt. Ich kann nur vermuten, dass es sich auf die Kosten oder das komplexere Management bezieht. Alle großen Banken verwenden HSMs für wichtige Operationen in Sachen wie Chip & Pin-Transaktionen. - Tricky


Eine weitere Möglichkeit, nachdem Sie über KeyWhiz gelesen hatten, war HashiCorps Vault. Es ist nicht nur ein Passwort-Manager, sondern ein Secrets-Store, ich glaube KeyWhiz ähnlich. Es ist in GO geschrieben, und der Client arbeitet auch als Server und verbindet sich mit einer Reihe von Backends und Authentifizierungsmethoden. Vault ist auch Open-Source, auch mit der Enterprise-Option.

Da es sich bei SSL-Schlüsseln und -Zertifikaten lediglich um Textdateien handelt, können Sie sie mit base64 kodieren und als Zeichenfolge in Vault oder auch nur als Text in Vault speichern. Es gibt weder eine WebUI noch eine GUI, eine Befehlszeile oder ein Script, und es verfügt über eine sehr gute, stabile Web-API zum Booten.

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

0
2017-08-18 23:35