Müssen auf dem Server, auf dem das SSL-Zertifikat gehostet wird, CSRs generiert werden?


54

Muss die CSR (Certificate Signing Request) auf demselben Computer generiert werden, auf dem meine Webanwendung und mein SSL-Zertifikat gehostet werden?

Diese Seite im SSL-Shopper sagt dies, aber ich bin mir nicht sicher, ob dies zutrifft, da dies bedeuten würde, dass ich für jeden Server in meinem Cluster ein separates SSL-Zertifikat kaufen müsste.

Was ist ein CSR? Eine CSR- oder Zertifikatsignierungsanforderung ist ein Block mit verschlüsseltem Text, der auf dem Server generiert wird, auf dem das Zertifikat verwendet wird.


1
Sie verwechseln verschiedene Bedeutungen des Wortes "Server". Wenn Sie "jeden Server in meinem Cluster" sagen, meinen Sie mit "Server" eine physische Box. Wenn sie "auf dem Server , auf dem das Zertifikat verwendet wird " sagen , meinen sie etwas, das einen Dienst bereitstellt, unabhängig davon, ob es sich um eine physische Box handelt oder nicht. (Wenn Sie eine CSR generieren, stellen Sie 100% ig sicher, dass Sie genau wissen, wo sich der entsprechende private Schlüssel befindet, bevor Sie ihn an eine Zertifizierungsstelle senden. Das Zertifikat ist ohne sie unbrauchbar.)
David Schwartz

Antworten:


61

Nein. Es ist nicht erforderlich, die CSR auf dem Computer zu generieren, auf dem Sie das resultierende Zertifikat hosten möchten. Die CSR muss entweder mithilfe des vorhandenen privaten Schlüssels generiert werden, mit dem das Zertifikat möglicherweise gekoppelt wird, oder der zugehörige private Schlüssel wird im Rahmen des CSR-Erstellungsprozesses generiert.

Was wichtig ist, ist weniger der Ursprungshost als vielmehr, dass der private Schlüssel und der resultierende öffentliche Schlüssel ein übereinstimmendes Paar sind.


8
Und dass der private Schlüssel privat bleibt . Kopieren Sie es nicht einfach überall und senden Sie es dann per E-Mail an Ihren Partner. Bitten Sie ihn, den CSR für Sie zu generieren.
Ladadadada

4
Der Faktor, der den Schlüssel + Zertifikat auf die Verwendung mit einem bestimmten Computer beschränkt, ist DNS (Hostname muss mit cn oder einem SubjectAltName- Feld übereinstimmen ) sowie die Eindeutigkeit. Die Verwendung desselben privaten Schlüssels auf mehreren Servern führt nicht nur zu einem höheren Risikoprofil, sondern auch dazu, dass Software gelegentlich mehrere Hosts mit derselben Seriennummer erkennt. (aus gutem Grund)
Andrew B

(Außerdem stimme ich der Antwort zu, ich hätte das als "vom Client wahrgenommener Hostname" ausdrücken sollen)
Andrew B

26

kce ist völlig in Ordnung, es muss absolut nicht auf demselben Computer ausgeführt werden, sondern muss über den entsprechenden privaten Schlüssel ausgeführt werden.

Der einzige Grund, warum ich eine zweite Antwort poste, ist, dass niemand gesagt hat, warum Sie so etwas tun möchten. Nahezu jeder von mir erstellte Schlüssel- / CSR-Satz wird von meinem Laptop oder Desktop aus erstellt. Anschließend wird der Schlüssel sicher auf den Server kopiert, auf dem das Zertifikat installiert wird, und der CSR wird an die Signaturagentur gesendet. Der Grund ist Entropie: SSL-Zertifikate werden im Allgemeinen zum Sichern von Servern verwendet, und Server verfügen häufig über sehr flache Entropiepools, wodurch die von ihnen erstellten Schlüsselpaare entweder geschwächt werden oder die Erstellung lange dauert. Desktops hingegen verfügen über eine nützliche Zufallsquelle, die über Tastatur- / Mauskabel verbunden ist, und weisen daher tendenziell tiefe Entropiepools auf. Sie sind daher viel bessere Plattformen für Operationen, die qualitativ hochwertige Zufallszahlen erfordern, wie beispielsweise die Erzeugung von Schlüsselpaaren.

Daher kann der Schlüssel / die CSR nicht nur außerhalb des Servers generiert werden, sondern es gibt häufig einen guten Grund, dies zu tun.


2
Ich betrachte das menschliche Risiko als größer als das Entropierisiko. Desktops haben je nach Betriebssystem und Asset-Management-Richtlinie auch eine Vielzahl eigener Risiken, unabhängig von den Praktiken der beteiligten Administratoren. (Werden die Festplattensektoren vor dem Löschen geschreddert, wenn es sich um einen unverschlüsselten privaten Schlüssel handelt? Gehen Benutzer in der Praxis jemals das Risiko ein, den Schlüssel offenzulegen?) PKI ist eines der Dinge, denen viele Menschen nicht von Anfang bis Ende vertrauen Denken Sie nicht an das menschliche Fehlerelement, deshalb bezweifle ich, dass es "häufig einen guten Grund dafür gibt". Ansonsten ein interessanter Punkt.
Andrew B

All dies sind vernünftige Fragen, insbesondere wenn sie in eine Best-Practice-Liste für die Schlüsselpaargenerierung umgewandelt wurden. Für diejenigen, die dies wirklich ernst nehmen möchten , gibt es unter serverfault.com/questions/307896/… einige hervorragende Vorschläge. Die Frage bezieht sich auf die CA-Generierung und -Handhabung. Viele dieser Ideen können jedoch auch für bewährte Verfahren in Keypair übernommen werden Generation.
MadHatter

Das ist jetzt fair, danke. Ich hatte nur das Gefühl, dass es eine Art Haftungsausschluss geben muss, da dies für einfache Administratoren gefährlich ist, die die Risiken nicht verstehen, die damit verbunden sind, um dies als Best-Practice-Statement zu interpretieren. Wenn der Schlüssel gestohlen werden kann, ist das Spiel vorbei.
Andrew B
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.