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


Ist es erforderlich, die CSR (Certificate Signing Request) auf demselben Computer zu generieren, der meine Webanwendung und das SSL-Zertifikat hostet?

Diese Seite auf SSL Shopper sagt, aber ich bin mir nicht sicher, ob das stimmt, denn das würde bedeuten, 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 von   verschlüsselter Text, der auf dem Server generiert wird, auf dem sich das Zertifikat befindet   wird am verwendet werden.


47
2018-01-22 07:31


Ursprung


Sie verwirren verschiedene Bedeutungen des Wortes "Server". Wenn du "jedes" sagst Server in meinem Cluster ", mit" Server "meinst du eine physische Box. Wenn sie sagen" auf der Server dass das Zertifikat verwendet wird, "bedeutet eine Sache, die einen Dienst bereitstellt, ob es eine physische Box ist oder nicht. (Wenn Sie eine CSR generieren, bevor Sie sie an eine Zertifizierungsstelle senden, stellen Sie sicher, dass Sie genau wissen, wo der entsprechende private Schlüssel ist. Ohne das Zertifikat ist das Zertifikat nutzlos.) - David Schwartz


Antworten:


Nein. Es ist nicht erforderlich, die CSR auf dem Computer zu generieren, auf dem das resultierende Zertifikat gehostet werden soll. Der CSR tut Sie müssen entweder mithilfe des vorhandenen privaten Schlüssels generiert werden, mit dem das Zertifikat schließlich verknüpft wird, oder der entsprechende private Schlüssel wird als Teil des CSR-Erstellungsprozesses generiert.

Was wichtig ist, ist nicht so sehr der Ursprungshost, sondern der private Schlüssel und der resultierende öffentliche Schlüssel sind ein übereinstimmendes Paar.


52
2018-01-22 07:45



Und dass der private Schlüssel bleibt Privatgelände. Kopieren Sie es nicht einfach überall herum und schicken Sie es dann Ihrem Partner und bitten Sie ihn, das CSR für Sie zu erstellen. - Ladadadada
Der Faktor, der den Schlüssel + cert auf die Verwendung mit einer bestimmten Maschine beschränkt, ist DNS (der Hostname muss mit dem übereinstimmen cn oder ein BetreffAltName Feld), sowie Einzigartigkeit. Die Verwendung desselben privaten Schlüssels mit mehreren Servern führt nicht nur zu einem höheren Risikoprofil, sondern die Software verursacht gelegentlich auch das Erkennen mehrerer Hosts mit derselben Seriennummer. (aus gutem Grund) - Andrew B
(Auch ich stimme der Antwort zu, ich hätte das als "vom Klienten wahrgenommener Hostname" formulieren sollen) - Andrew B


kce ist absolut richtig, es muss nicht unbedingt auf demselben Rechner ausgeführt werden, aber es muss vom entsprechenden privaten Schlüssel aus geschehen.

Der einzige Grund, warum ich eine zweite Antwort schreibe, ist, dass niemand etwas gesagt hat Warum Vielleicht möchtest du so etwas tun. Fast jeder Schlüssel / CSR-Satz, den ich erstelle, wird von meinem Laptop oder Desktop aus ausgeführt, dann wird der Schlüssel sicher auf den Server kopiert, auf dem das Zertifikat installiert wird, und der CSR wird an die unterzeichnende Agentur gesendet. Der Grund ist Entropie: SSL-Zertifikate werden im Allgemeinen zur Sicherung von Servern verwendet, und Server haben oft sehr flache Entropie-Pools, die entweder die von ihnen erstellten Keypairs schwächen oder die Erstellung lange dauern lassen. Desktops hingegen haben eine nützliche Zufälligkeitsquelle, die über Tastatur- / Mauskabel verbunden ist, und neigen daher dazu, tiefe Entropiepools zu haben. Sie machen daher viel bessere Plattformen für Operationen, die qualitativ hochwertige Zufallszahlen erfordern, wobei die Schlüsselpaarerzeugung eine solche ist.

Daher kann der Schlüssel / CSR nicht nur außerhalb des Servers generiert werden, sondern ich finde, dass es häufig einen guten Grund dafür gibt.


23
2018-01-22 08:43



Ich betrachte das menschliche Risiko als größer als das Entropie-Risiko. Desktops haben auch eine Vielzahl eigener Risiken, abhängig von der Betriebssystem- und Asset-Management-Richtlinie, und vergessen dabei die Vorgehensweisen der beteiligten Administratoren. (Werden die Festplattensektoren vor dem Löschen geschreddert, wenn es sich um einen unverschlüsselten privaten Schlüssel handelt? Ist die Benutzerpraxis jemals der Gefahr ausgesetzt, den Schlüssel offenzulegen?) PKI ist eines der Dinge, denen viele Menschen nicht von Anfang bis Ende zutrauen vergesst das menschliche Fehlerelement nicht, also stelle ich die Aussage, dass es "häufig einen guten Grund dafür gibt", in Frage. Ansonsten ein interessanter Punkt. - Andrew B
Das sind alles vernünftige Fragen, besonders wenn sie in eine Best-Practice-Liste für die Generierung von Schlüsselpaaren umgewandelt werden. Für diejenigen, die das nehmen wollen Ja wirklich Ernsthaft, es gibt einige ausgezeichnete Vorschläge an serverfault.com/questions/307896/ ... - Die Frage bezieht sich auf die CA-Generierung und -Handhabung, aber viele dieser Ideen können auch für Best Practices bei der Generierung von Schlüsselpaaren übernommen werden. - MadHatter
Das ist jetzt fair, danke. Ich hatte einfach das Gefühl, dass es eine Art Haftungsausschluss geben sollte, da es für einfache Admins gefährlich ist, die die Risiken nicht verstehen, um dies als Best-Practice-Statement zu interpretieren. Wenn der Schlüssel gestohlen werden kann, ist das Spiel vorbei. - Andrew B