SSL-Zertifikat für eine öffentliche IP-Adresse?

10

Ich habe gerade versucht, ein Comodo Positive SSL zu kaufen, aber es wurde abgelehnt, weil keine öffentliche IP-Adresse unterstützt wurde, sondern nur ein Domainname.

Kennt jemand einen SSL-Zertifikatanbieter, der eine öffentliche IP-Adresse anstelle eines Domainnamens unterstützt?

Mein Unternehmen verfügt über einen dedizierten Server, der von einem Webhosting-Unternehmen gehostet wird und auf dem ein Bugtracker für mehrere Projekte (für mehrere Clients) ausgeführt wird. Da es nur für einen Bugtracker verwendet wird, benötigen wir keinen Domainnamen (unsere Clients greifen darauf zu, indem sie die öffentliche IP in ihren Browser eingeben).

Serienmotor
quelle
2
Ich würde einen Domainnamen einrichten, damit Sie sich die IP-Adresse nicht merken müssen, wenn Sie sich an einem Ort befinden, an dem Sie kein Lesezeichen haben. Wenn Sie IPs ändern, ist dies außerdem transparent.
Mark Wagner

Antworten:

16

Ich denke, Sie können das tun, aber nicht so, wie Sie es versuchen.

Ein SSL-Zertifikat ist eine Anweisung, die einen öffentlichen Verschlüsselungsschlüssel an eine X.500-Struktur bindet, die ein CN- oder Common Name-Element enthält. Ein signiertes Zertifikat ist ein solches Zertifikat, bei dem die Bindung nachweislich von einer Zertifizierungsstelle eines Drittanbieters unter Verwendung eines öffentlichen Schlüssels zertifiziert wird, der den Endbenutzern bereits bekannt ist (dieser Stapel von Zertifizierungsstellenzertifikaten (CA), die sich in Ihrem Browser befinden).

Wenn Sie eine SSL-gesicherte Website mit einem Browser besuchen, wird der signierte CN dem Browser bekannt gegeben. Was der Browser damit macht, hängt vom Browser ab. Die mir bekannten Browser vergleichen es mit dem angeforderten Hostnamen und geben einen Fehler aus, wenn er anders ist (oder wenn diese zertifizierte Bindung der Analyse nicht standhält, z. B. wenn das Signaturzertifikat dem Browser nicht bekannt ist oder die Bindung nicht vorhanden ist). aktuell, aber das ist ein anderes Problem). Grundsätzlich hindert Sie nichts daran, ein öffentlich signiertes Zertifikat zu erhalten, bei dem der CN eine IP-Adresse und kein FQDN (vollqualifizierter Domainname) ist [1], aber das lässt den Browser den CN nicht auf magische Weise mit der IP vergleichen Adresse, anstatt mit dem angeforderten Hostnamen .

Ich vermute, der einfachste Weg, um Ihr Problem zu lösen, besteht darin, eine eigene Zertifizierungsstelle zu starten, was einfach zu bewerkstelligen ist. Es gibt viele öffentliche Tutorials dazu. einer ist hier . Sobald Ihre Endbenutzer Ihre Zertifizierungsstelle in ihre Browser importiert haben, werden alle von Ihnen geprägten Zertifikate als maßgeblich akzeptiert.

Möglicherweise besteht dann ein zweites Problem darin, dass Sie viele NameVirtualHost-Sites unter einer einzigen IP-Adresse ausführen möchten. Dies war in der Vergangenheit unüberwindbar, da (im Gegensatz zu TLS) die SSL-Aushandlung vor allen anderen Verbindungen erfolgt. Das heißt, der in Ihr Zertifikat eingebettete CN wird dem Client bekannt gemacht und von ihm verwendet, bevor der Client sagen kann, zu welchem ​​Host er eine Verbindung herstellen möchte.

Vor kurzem wurde anscheinend eine Protokollerweiterung mit dem Namen SNI (Server Name Indication) eingeführt, mit der Client und Server angeben können, dass sie einige Hostnamen-Aufgaben ausführen möchten, bevor das SSL-Zertifikat vorgelegt wird, wodurch das richtige eines Satzes zugelassen wird von Zertifikaten, die vom Server ausgestellt werden sollen. Anscheinend erfordert dies Apache 2.2.10, eine ausreichend aktuelle Version von OpenSSL, und (vor allem ) clientseitige Unterstützung.

Wenn ich also das tun müsste, was Sie versuchen, würde ich mein eigenes CA-Zertifikat prägen, meinen Endbenutzern mitteilen, dass sie Browser verwenden müssen, die SNI unterstützen und mein CA-Stammzertifikat importieren, und schneiden und Signieren meiner eigenen SSL-Zertifikate für jede Bugtrack-Site.

[1] OK, Sie haben möglicherweise niemanden gefunden, der dies tun wird, aber das ist ein Implementierungsdetail. Was ich hier zeigen möchte, ist, dass es Ihr Problem nicht lösen würde, selbst wenn Sie es tun würden.

MadHatter
quelle
4
Warum nicht für eine bestimmte Anwendung? Wenn es vom Anwendungsanbieter geprägt wurde und Sie ihm nicht vertrauen, sind Sie in Bezug auf diese Anwendung sowieso durcheinander, da er über den privaten SSL-Schlüssel verfügt und Dinge unabhängig davon entschlüsseln kann. und wenn das sie so beunruhigt, kann er einfach selbstsignierte Zertifikate für jede seiner buqtrack-Sites schneiden und sie nach Bedarf importieren.
MadHatter
2
@Tom - Wenn Sie der Person, die Ihnen das Zertifikat im obigen Beispiel anbietet, nicht vertrauen, warum sollten Sie dann überhaupt mit ihnen Geschäfte machen? Ob das SSL-Zertifikat von / mit Unterstützung einer bekannten Zertifizierungsstelle ausgestellt wird oder nicht, ist das geringste Problem, dem WRT vertraut, wenn Sie Daten einer "Online" -App anvertrauen.
Rob Moir
2
Ich gehe davon aus, dass es keine Möglichkeit gibt, eine Zertifizierungsstelle nur für bestimmte Domänen als autorisierend zu installieren. Sobald sie meinen Zertifizierungsstellenstamm installiert haben, kann ich Online-Banking-Websites genauso einfach zertifizieren wie meine eigene Fehlerverfolgungsanwendung. Wenn ich ihren DNS-Cache vergiften kann, kann ich einen Man-in-the-Middle-Angriff auf ihr Online-Banking durchführen. Wenn dies sie wirklich beunruhigt und sie keinen benutzerdefinierten Browser für dieses Projekt verwenden möchten, könnte ich, wie oben erwähnt, für jeden einzelnen Bugtracker ein selbstsigniertes Zertifikat ausschneiden, das die Clients nach Bedarf installieren können.
MadHatter
1
Tom, ich würde diesem Grund tatsächlich zustimmen, wenn ich ein "vertrauenswürdiges" Zertifikat verwenden möchte. Tatsächlich stimme ich dem zu 100% zu. So kam Ihr ursprünglicher Kommentar jedoch nicht zustande.
Rob Moir
1
Flammender Domainname? Meine Muttersprache ist nicht Englisch. Können Sie das erklären? Außerdem bevorzugt mein Chef die Verwendung einer öffentlichen IP-Adresse. Vielleicht möchte er nicht, dass die Site von einer Suchmaschine gefunden wird (können Suchmaschinen die Site finden, obwohl sie keinen Domainnamen hat?)
Serienmaschine
10

Es gibt eine Stammzertifizierungsstelle, von der ich weiß, dass sie mit allen gängigen Browsern gefüllt ist und SSL-Zertifikate für öffentliche IP-Adressen ausstellt: Schauen Sie sich GlobalSign an . Sie lesen RIPE-Informationen vor, um Ihre Zertifikatanforderung zu validieren. Daher möchten Sie möglicherweise zuerst überprüfen, ob der RIPE-Eintrag mit dem richtigen Namen ausgegeben wird.

In Bezug auf das Feedback hat dieser Eintrag erhalten:

Ja , es ist vorzuziehen, einen Domainnamen zu kaufen und ein SSL-Zertifikat für diesen CN auszustellen. Es ist auch billiger als die oben genannte GlobalSign-Option.

Es gibt jedoch Fälle, in denen SSL-Zertifikate mit einer öffentlichen IP als CN nützlich sind. Viele Internetanbieter und Regierungen blockieren unerwünschte Websites basierend auf der DNS-Infrastruktur. Wenn Sie eine Website anbieten, die wahrscheinlich aus politischen Gründen blockiert wird, ist es eine gute Option, diese Website über ihre öffentliche IP-Adresse zugänglich zu machen. Zur gleichen Zeit, Sie werden für die Benutzer zu verschlüsseln Verkehr wollen , und Sie wollen nicht Ihr nicht-Tech - Benutzer durch lästiges Klicken durch die Sicherheits Ausnahme Warnungen ihres Browsers gehen (weil der CN des Zertifikats nicht überein der tatsächlich eingegebene). Es ist noch mühsamer und nicht realistisch, sie dazu zu bringen, Ihre eigene Stammzertifizierungsstelle zu installieren.

semanticalo
quelle
Insbesondere "ein dedizierter Server, der bei einem Webhosting-Unternehmen gehostet wird" wird kaum einen eigenen RIP-Eintrag haben, sondern das umgebende Netz wird einen RIPE-Eintrag (über das Hosting-Unternehmen) haben
Hagen von Eitzen
1

Gehen Sie voran und kaufen Sie den Domainnamen. Sie sind billig, nicht billiger als das. Du brauchst nur einen. Vielleicht richten Sie sogar einfach bugtracker.yourcompany.com ein.

Richten Sie dann für jeden Bugtracker eine Subdomain für diesen Namen ein. Holen Sie sich ein SSL-Zertifikat für jede dieser Subdomains. Da Sie besonders kostenavers erscheinen, heißt das Unternehmen, mit dem Sie Geschäfte machen möchten, StartSSL.

http://www.startssl.com/

Der Grund, warum Sie sie verwenden möchten, ist, dass ihre Zertifikate (zusätzlich zu dem Vertrauen der großen Browser) keinen Arm und kein Bein kosten. Die grundlegendste Art von Zertifikat ist wirklich, ehrlich gesagt, ohne Scheiße. Sie überprüfen Ihre Identität und lassen Sie dann so viele ausstellen, wie Sie benötigen. Wenn Sie schickere Zertifikate wünschen (die normalerweise mehrere hundert Dollar kosten), sehen Sie sich 2 Jahre lang etwa 50 US-Dollar an, um SSL für mehrere Domains auf einer einzigen IP zu unterstützen.

Sie sind super billig für das, was Sie bekommen. Sie stellen echte Zertifikate aus, denen die Browser Ihrer Kunden vertrauen, und keine 90-Tage-Testversionen wie an anderen Orten.

Paul McMillan
quelle
1
Ich glaube auch nicht, dass ich das verstehe. Ein ordnungsgemäß ausgestelltes SSL-Zertifikat ist ein identifizierendes Token für sich. Die Zertifizierungsstelle erbringt nach dem Problem keinen Service mehr. Meine Site ist mit einem RapidSSL-Zertifikat gesichert, aber wenn sie morgen pleite gehen würde, wäre mein Zertifikat genauso effektiv wie jetzt.
MadHatter
2
Wie viele Ihrer Kunden werden eine vollständige Hintergrundprüfung Ihres SSL-Anbieters durchführen? Sie mussten wirklich graben, bevor sie merkten, dass sie mit einer Firma Geschäfte machten, die mit einer israelischen Firma Geschäfte machte. Wie MadHatter sagte, hat politische Instabilität sehr wenig damit zu tun, ob Ihr Zertifikat gültig ist oder nicht. Sobald es ausgestellt ist, ist es gültig, bis es abläuft, Punkt. Aber es ist cool, wenn Sie einem anderen Registrar lächerliches Geld für etwas bezahlen möchten, das technisch nicht kompliziert ist. SSL-Zertifikate sind einer der lächerlichsten Betrügereien aller Zeiten.
Paul McMillan
2
Hey, alles was es braucht ist nur ein Kunde, um es abzublasen. Entschuldigung, da ich von Anfang an nicht ganz klar bin. Mein Land erlaubt seinen Leuten nicht, Geschäfte mit Israel zu machen. Das ist alles.
Serienmotor
1
Ja, das wäre nützlicher gewesen. SSL-Zertifikate sind unnötig teuer, aber im Geschäftsumfang sind die Kosten fast gleich Null.
Paul McMillan
2
"Sobald es ausgestellt ist, ist es gültig, bis es abläuft, Punkt". Sofern es keine Widerrufsinformationen enthält, wird es widerrufen und der Client erzwingt die Widerrufsprüfung. Und eine CA, die untergeht, wäre wahrscheinlich gezwungen, alle ihre Zertifikate zu widerrufen. Sagen Sie einfach
Ryan Bolger