Ist es empfehlenswert, das Passwort aus einem SSL-Zertifikat zu entfernen?

10

Ich habe jetzt in mehreren Blogs gelesen, dass man Passwörter aus SSL-Zertifikaten entfernen sollte, um Passwortabfragen beim Neustart von Apache zu vermeiden.

Ist das wahr und birgt dies Sicherheitsrisiken?

giorgio79
quelle
Wenn Sie wirklich besorgt sind, steht Hardware zur Verfügung, mit der Ihr privater Schlüssel auf einem USB-Gerät gespeichert werden kann und niemals abgerufen werden kann. In einer gehosteten Umgebung funktioniert dies jedoch nicht wirklich.
Zoredache
Ich stelle nebenbei fest, um Verwirrung zu vermeiden, dass das Zertifikat niemals verschlüsselt wird und es auch keinen Sinn macht, dies zu tun. Damit der SSL-Handshake abgeschlossen werden kann, muss das Zertifikat jedem, der danach fragt, im Klartext angeboten werden. Ein Zertifikat ist nur ein von einem Drittanbieter signierter öffentlicher Schlüssel. Es ist der private Schlüssel , das asymmetrische Gegenstück zum öffentlichen Schlüssel (der den mit dem öffentlichen Schlüssel verschlüsselten Datenverkehr entschlüsseln kann), der verschlüsselt gespeichert werden kann und nach dem Sie fragen.
MadHatter

Antworten:

22

Ja, es stoppt die Eingabeaufforderungen, die beim Starten eines Webservers an das Terminal gesendet werden.

Und ja, es stellt ein Sicherheitsrisiko dar, da das Zertifikat vor der Verschlüsselung jetzt im Klartext vorliegt. Dies bedeutet, dass möglicherweise ein vollständig funktionierendes Zertifikat vom Computer gestohlen werden kann.

Ob dies ein erhebliches Sicherheitsrisiko für Sie darstellt, hängt davon ab, welche Auswirkungen es hätte, wenn es Ihnen passiert wäre und was Sie davon profitieren, wenn Sie es auf diese Weise tun.

Wenn es für Sie wichtiger ist, dass Dienste ordnungsgemäß gestartet werden, auch wenn sie unbeaufsichtigt sind, als die Sicherheit des SSL-Systems insgesamt, ist dies eine einfache Antwort.

Persönlich finde ich, dass das Aufbewahren entschlüsselter Kopien von SSL-Zertifikaten insgesamt mehr Vor- als Nachteile für meine typische Arbeitslast hat.

  1. Ein Angreifer hätte immer noch eine Kopie des Zertifikats, selbst wenn es verschlüsselt wäre, so dass es Ihre Pflicht wäre, es trotzdem zu widerrufen.
  2. Heutzutage ist es für einen Angreifer viel einfacher, über Social Engineering ein gültiges Zertifikat für Ihre Site zu erhalten, als eine Arbeitskopie davon zu stehlen.
  3. Zertifikate verfallen natürlich, wodurch ihre Angriffsfläche begrenzt wird.
  4. Hostbasierte Sicherheitssysteme wie traditionell Berechtigungen und SELinux bieten ein robustes Mittel zum Schutz von Zertifikaten auf der Plattform.
  5. Ein Zertifikat ist nicht das A und O eines sicheren Systems. Es sind viele andere Aspekte zu berücksichtigen, z. B. die von Ihnen gespeicherten Daten, die Medien, auf denen Sie sie speichern, und der Wert und / oder die persönliche Natur der Daten.

Dinge, die mich verschlüsseln könnten:

  1. Wenn Sie das Zertifikat zur gegenseitigen Authentifizierung verwendet haben.
  2. Es ist ein Platzhalterzertifikat oder ein Zertifikat, das mehrere Domänen hostet (die Verluste verdoppeln oder verdreifachen oder was auch immer viele Hosts dafür verwendet werden können)
  3. Das Zertifikat ist auf andere Weise vielseitig einsetzbar.
  4. Der Zweck der Zertifikate besteht darin, die Integrität hochwertiger Daten (Krankenakten, Finanztransaktionen und dergleichen) sicherzustellen.
  5. Das andere Ende erwartet ein hohes Maß an Vertrauen und / oder ist auf die Integrität Ihres Systems angewiesen, um betriebliche Entscheidungen treffen zu können.

Verlassen Sie sich letztendlich nicht auf andere, um Sicherheitsentscheidungen für Sie zu treffen. Sie müssen die Risiken abwägen und anhand möglichst vieler Informationen ermitteln, was für Sie und Ihre Institution am besten ist.

Matthew Ife
quelle
8

Es bietet etwas mehr Sicherheit, aber die Realität ist, dass Sie wahrscheinlich größere Probleme haben, wenn jemand weit genug in Ihr System eingedrungen ist, um Zugriff auf Ihren privaten SSL-Schlüssel zu erhalten.

Wollen Sie aus praktischer Sicht wirklich jedes Mal dabei sein, wenn Apache neu gestartet werden muss, um ein Passwort einzugeben?

Sie können das Schlüsselkennwort auf Ihrem Server schützen (und es über die normale Systemsicherheit schützen) und die Sicherung des Schlüssels, den Sie an anderer Stelle speichern, mit einem Kennwort aufbewahren. Wenn also jemand in der Lage ist, den Schlüssel von einem anderen Ort als Ihrem Server zu entfernen (viel wahrscheinlicher, denken Sie, dass jemandes Laptop auf seinem Desktop damit gestohlen wird), ist er weiterhin geschützt.

Pratik Amin
quelle
0

Für die Anmeldung verwendete Cient-Schlüssel sollten passwortgeschützt sein.

Wenn Sie möchten, dass SSL-basierte Dienste ohne manuelles Eingreifen neu gestartet werden, haben Sie zwei Möglichkeiten:

  1. Sie haben kein Kennwort für den Schlüssel und schützen ihn, damit nur Dienste, die ihn benötigen, darauf zugreifen können.
  2. Speichern Sie das Kennwort im Klartext oder in einem Klartext auf dem Server, damit die Dienste, die es benötigen, das Kennwort bereitstellen können. (Möglicherweise erhalten Sie mehrere Kopien des Kennworts in schlecht gesicherten Konfigurationsdateien.)

Sicherungskopien des Schlüssels sollten passwortgeschützt und gesichert sein, als wären sie nicht passwortgeschützt.

BillThor
quelle