So schützen Sie ein SSL-Zertifikat (Apache / CentOS)

7

Ich verwende derzeit ein Server-SSL-Zertifikat ohne Passphrase, damit Apache unbeaufsichtigt gestartet werden kann.

Es gibt Anzeichen von Kunden, dass wir das SSL-Zertifikat sicherer schützen müssen. Ich bin mir noch nicht sicher, was sie anstreben, aber im Moment wollen sie wohl kein ungeschütztes SSL-Zertifikat auf der Festplatte. Ich nehme an, ich kann es nicht vermeiden, es im Gedächtnis von Apache zu haben, aber nehmen wir an, dass das akzeptabel ist.

Ich habe mir ein ausgeklügeltes System ausgedacht, um die Passphrase im Speicher eines Prozesses auf einem internen Server (dh nicht auf dem Front-Line-Webserver) zu speichern und sie mithilfe eines Apache SSLPassPhraseDialog ( http ) an den Front-Line-Server zu übergeben : //httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog ). Auf dem internen Server muss beim Start die Passphrase eingegeben werden, und für eine hohe Verfügbarkeit sind mehrere solcher Server im Lastenausgleich vorhanden.

Meine Frage ist:

  1. Wie schützen die "großen Jungs" ihr SSL-Zertifikat? Erzwingen sie nur, dass ihre Daten beim Neustart des Servers die Passphrase eingeben, oder halten sie sie wie den Rest von uns unverschlüsselt?
  2. Meine Erfahrung mit Open Source ist, dass es eine sehr gute Chance gibt, dass jemand das Problem, mit dem ich konfrontiert bin, bereits gelöst hat - ist ein solches System bereits verfügbar?
  3. Wäre es aus geschäftlicher Sicht vernünftig zu sagen, dass wir das Zertifikat unverschlüsselt lassen und nur über schnelle Verfahren verfügen, um es bei Diebstahl zu widerrufen?
Amos Shapira
quelle

Antworten:

4

Lassen Sie uns zunächst die Grundlagen der Public Key-Infrastruktur in einem hierarchischen PKI-Modell überprüfen.

  1. Ein öffentlicher Schlüssel ist ein Verschlüsseler / Schließfach und in ein von einer Zertifizierungsstelle erstelltes Zertifikat eingebettet.
  2. Ein privater Schlüssel ist ein Entschlüsseler / Entsperrer, der in Verbindung mit einem öffentlichen Schlüssel verwendet wird.
  3. Für öffentliche Schlüssel und Zertifikate gelten keine Vertraulichkeitsanforderungen.
  4. Private Schlüssel unterliegen Vertraulichkeitsanforderungen

Daher sollte Ihr Anliegen mit Apache den privaten Schlüssel betreffen, nicht den öffentlichen Schlüssel. Die typische Art und Weise, wie ein Sicherheitsingenieur einen privaten Schlüssel schützen kann, ist die Verwendung eines Hardware-Sicherheitsmoduls. Ein Hardware-Sicherheitsmodul (HSM) kann in vielen Formfaktoren vorliegen, einschließlich einer Smartcard, einer PCIe-Karte, einer PCI-Karte, einem USB-Dongle, einem USB-Stick, einem netzwerkbasierten HSM oder anderen. Dementsprechend können diese eine große Menge von Budgets und Sicherheitsfunktionen abdecken.

Es gibt einige HSMs, die Sicherheitsimplementierungen wie FIPS 140-2 in Level 1 (Software allgemein) 2 physisch (Manipulationssicherheit) 3 physisch (Manipulationsresistenz und Eindringreaktion) und 4 physisch (Manipulationsresistenz, Eindringreaktion und Schlüsselnullierung) validiert haben. .

Um zu bewerten, ob Ihr Unternehmen etwas unternehmen sollte, würde ich eine Kosten-Nutzen-Analyse und eine Risikobewertung durchführen, die ALE-, ARO- und SLE-Berechnungen umfasst. Wenn Sie jedoch Geschäfte über das Internet tätigen, ist es möglicherweise besser, einen Web-Sicherheitsexperten hinzuzuziehen, der Ihre gesamte Infrastruktur bewertet und eine konsolidierte Liste von Schwachstellen und Schwachstellen mit einem priorisierten Korrekturplan erstellt, mit dem Sie arbeiten können Ihr Management.

Brennan
quelle
Danke für die Referenzen. Ich bin von dieser Position weitergegangen, seit ich diese Frage gestellt habe, werde aber versuchen, den von Ihnen angegebenen Schlüsselwörtern zu folgen.
Amos Shapira
4

Ich würde sagen, dass die "großen Jungs" SSL-Offloading auf Cluster-Front-End-Load-Balancer durchführen, da ich das tue und nicht annähernd ein "großer Junge" bin.

Ich habe diese Anweisungen auf httpd.apache.org zum Entfernen des Passphrasendialogs gefunden, den Sie wahrscheinlich gesehen haben, wenn Sie das Problem gegoogelt haben, von dem ich annehme, dass Sie es haben.

Das Problem beim Widerruf besteht darin, dass Sie der unterzeichnenden Zertifizierungsstelle ausgeliefert sind, um sich zu beeilen und Ihr Problem zu lösen. Wenn Sie viel für Ihre Zertifikate bezahlen, bin ich sicher, dass der Service sehr positiv ist. Ich bin mir nicht sicher, wie es für einige der kleineren Großhändler sein würde. Vielleicht könnte sich jemand anderes einschalten.

Matt Simmons
quelle
Können Sie aus Neugier- / Forschungsgründen veröffentlichen, welches Hardware- / Software-Setup Sie für das SSL-Offloading verwenden? Ich habe ein bisschen gegoogelt, aber es gibt viele Möglichkeiten und ich höre immer lieber eine Empfehlung aus erster Hand.
einstiien
1
Sicher. Ich benutze Kemp Loadmaster 1500s (was bis zum Jahr 2000 gelungen ist). Wenn Sie zwei davon erhalten, führen sie Hochverfügbarkeitscluster mit automatischem Failover durch. Sie bieten eine breite Palette an Gewichtungs- und Serviceprüfungen für ihren Lastausgleich sowie SSL-Offloading. Sie speichern den Schlüssel intern, daher bin ich mir nicht sicher, wie sicher sie sind, aber Sie könnten mit ihren Ingenieuren sprechen. Ich arbeite nicht für sie, aber sie haben mir das Leben leichter gemacht, deshalb erzähle ich gerne Leuten davon
Matt Simmons
In diesem System haben wir SSL-Offloading auf dem Citrix NetScaler für andere Dienste durchgeführt, aber für diesen bestimmten Dienst musste die SSL-Verbindung auf den Servern selbst beendet werden (da sie eine TCP-Paketprüfung durchführen).
Amos Shapira