Ich habe für ein SSL-Zertifikat von Namecheap bezahlt. Ich glaube, es wurde von ComodoSSL zertifiziert. Es kostete mich 7 $, die Aktivierung dauerte eine Woche und ich musste es selbst aus SSH heraus tun, während ich die Konfigurationsdateien meiner Site bearbeitete.
Dann machte mich ein Freund auf Let's Encrypt aufmerksam, der nicht nur kostenlose SSL-Zertifikate austeilt, sondern diese auch mit einem einzigen Befehl installiert.
Ich bin mir sicher, dass ich hier etwas vermisse, aber warum sollte ich für ein SSL-Zertifikat bezahlen, wenn ich eines einfach und kostenlos installieren und automatisch erneuern lassen kann?
Antworten:
Warum soll ich für ein SSL-Zertifikat bezahlen?
Für die meisten Verwendungszwecke gibt es keinen guten Grund, dafür zu bezahlen.
Eine Zusammenfassung der Ausnahmen finden Sie ganz unten.
Lassen Sie uns einen Schritt zurücktreten und erklären, was Zertifikate tun und in etwa wie.
Was gemeinhin als "Zertifikate" bezeichnet wird, besteht aus zwei miteinander verbundenen Teilen:
Wenn Sie ein Zertifikat für möchten
yourdomain.com
, Sie:yourdomain.com
Ihren öffentlichen Schlüssel zu erstellen .yourdomain.com
.Wenn Alice dann besucht
yourdomain.com
, erhält ihr Browser das Zertifikat von Ihrem Webserver zusammen mit einer Nachricht, die von Ihrem privaten Schlüssel signiert ist. Dann überprüft ihr Browser drei Dinge:yourdomain.com
sollte nur vorhanden sein).yourdomain.com
).Die Kombination dieser drei Dinge garantiert Alice, dass sie tatsächlich spricht
yourdomain.com
und nicht mit einem Betrüger ... Vorausgesetzt, Alice vertraut CrediCorp .(Es folgt auch ein Crypto-Voodoo-Tanz , um diese Authentizität in Vertraulichkeit umzuwandeln.)
Wie hat Alice vertrauen Credicorp?
Das ist der eigentliche Knackpunkt hier. Kurz gesagt, irgendwann sagte CrediCorp "Hey, wir werden Zertifikate machen". Nachdem sie sich sehr bemüht hatten, viele Regeln einzuhalten , gelang es ihnen, einige Leute davon zu überzeugen, dass CrediCorp tatsächlich vertrauenswürdig ist, und sie werden nur die richtigen Zertifikate ausstellen.
Insbesondere gelang es ihnen, die Macher von beispielsweise Firefox zu überzeugen. Infolgedessen wird CrediCorp in die A-Liste von Firefox aufgenommen, und deren Zertifikate werden von Firefox standardmäßig als vertrauenswürdig eingestuft. Also wirklich, Alice vertraut Firefox, Firefox vertraut CrediCorp und CrediCorp hat Ihnen vertraut (nachdem Sie sich verifiziert haben), als Sie behaupteten, dass Sie die Kontrolle hatten
yourdomain.com
. Es ist fast wie eine Kette .Firefox vertraut jedoch nicht nur darauf
yourdomain.com
, dass CrediCorp Zertifikate ausstellt , sondern auch auf CrediCorp-Zertifikate für jede Domain. Und Firefox auch vertraut ShabbyCorp, für jede Domain.Das hat Konsequenzen. Wenn es jemandem gelingt, ShabbyCorp von seiner Kontrolle zu überzeugen
yourdomain.com
(weil ShabbyCorp nicht sehr gründlich ist), kann er ein ShabbyCorp-Zertifikatyourdomain.com
mit dem entsprechenden privaten Schlüssel erhalten. Und mit diesem Zertifikat könnten sie sich als Ihr Webserver ausgeben. Immerhin haben sie ein Zertifikat (Plus-Schlüssel) dafüryourdomain.com
, dem Firefox vertraut!CrediCorp und ShabbyCorp sind so genannte Certificate Authorities , kurz CAs. In der Praxis sind ComodoSSL und Let's Encrypt Beispiele für Zertifizierungsstellen. Aber es gibt noch viel mehr davon; als dies geschrieben wurde , vertraut Firefox 154 CAs .
Whoa. Aber wie beantwortet das meine Frage?
Ich komme dazu ...
Hier ist das Ding. Die Mechanik, die ich oben beschrieben habe, gilt für alle Zertifikate. Wenn Sie ein korrektes, vertrauenswürdiges Zertifikat für Ihre Website haben, funktioniert es. Marken-A-Zertifikate haben nichts Besonderes als Marken-B-Zertifikate. Sie unterliegen alle den gleichen CA-Anforderungen und der gleichen Kryptomathematik.
Und selbst wenn Sie CrediCorp besser mögen - weil Sie wissen, dass es einfach so viel vertrauenswürdiger klingt -, wird es Ihnen nicht wirklich helfen, es zu verwenden. Wenn ein Angreifer ShabbyCorp dazu verleiten kann, ihm ein Zertifikat für Ihre Site zu erteilen, kann der Angreifer dieses Zertifikat verwenden, um sich als Ihre Site auszugeben, unabhängig davon, wo Sie Ihre haben.
Solange Firefox ShabbyCorp vertraut, werden die Besucher den Unterschied nicht bemerken. (Ja, Besucher könnten das Zertifikat aufrufen und dort nachsehen, wer es ausgestellt hat. Aber wer macht das?) Was das Fälschen von Zertifikaten betrifft, macht dies das gesamte System so schwach wie die schwächste von über 150 Zertifizierungsstellen. Warum ja, das ist beängstigend und wahrscheinlich die größte Kritik, die die Leute an diesem ganzen Schema haben. Trotzdem ist es das, woran wir festhalten.
Der Punkt ist, wenn Sie einer Zertifizierungsstelle nicht vertrauen, dass sie "gute" Zertifikate herausgibt, hilft es Ihnen nicht viel, Ihre Zertifikate an einen anderen Ort zu bringen.
Alles ist gleichermaßen zum Scheitern verurteilt. Keine Vorbehalte?
Weeeelllll ...
Beginnen wir damit, den Punkt zu töten, den ich im letzten Abschnitt angesprochen habe. Heutzutage ist es möglich, Ihre Domain mithilfe von DNS-CAA auf nur noch CAs Ihrer Wahl zu beschränken . Angenommen, Sie vertrauen Comodo und anderen Zertifizierungsstellen nicht. Es ist möglich, alle Zertifizierungsstellen außer Comodo aufzufordern, keine Zertifikate für Ihre Domain auszustellen. In der Theorie. (Da DNS-CAA nicht von Browsern überprüft wird, sondern nur durch das Ausstellen von Zertifizierungsstellen. Eine gefährdete Zertifizierungsstelle kann diese Sicherheitsmaßnahme ignorieren.)
Wenn Sie bereit sind, diese Probleme zu lösen, stellt sich die Frage: Ist Let's Encrypt tatsächlich weniger vertrauenswürdig? Oder weniger sicher? Vertrauenswürdigkeit ist eine schwierige Frage, wie quantifizieren Sie das? Alles, was ich sagen kann, ist, dass Let's Encrypt meiner Meinung nach nicht weniger vertrauenswürdig ist als andere Zertifizierungsstellen. In Bezug auf die Sicherheit ihrer Validierungen ähneln sie der Vorgehensweise kommerzieller Zertifizierungsstellen (für DV-Zertifikate ohnehin). Siehe auch diese Frage .
Das StackExchange-Netzwerk, zu dem diese Site gehört, verwendet derzeit Let's Encrypt-Zertifikate. Die meisten Leute würden das nie bemerken, und wenn, bezweifle ich aufrichtig, ob es ihnen viel bedeuten würde.
Damit ein Zertifikat aussagekräftig ist, muss die ausstellende Zertifizierungsstelle von Softwareanbietern als vertrauenswürdig eingestuft werden. Andernfalls ist das Zertifikat unbrauchbar. Ich habe Firefox als Beispiel verwendet, aber Sie möchten wirklich, dass die Zertifizierungsstelle von mindestens aktuellen und etwas älteren Versionen von Firefox, Chrome, Windows, Mac OS X, iOS und Android als vertrauenswürdig eingestuft wird. Und die Dutzende kleinerer Spieler. CAs, die es zu berücksichtigen gilt (einschließlich ComodoSSL und Let's Encrypt), werden von all diesen Entitäten als vertrauenswürdig eingestuft.
Wenn sich eine Zertifizierungsstelle schlecht verhält oder als nicht vertrauenswürdig eingestuft wird, wird sie schnell genug aus den verschiedenen Vertrauensspeichern entfernt , um den Tag der Zertifikatsinhaber zu ruinieren. Zwei bemerkenswerte Beispiele, die ich kenne, sind DigiNotar und StartCom / WoSign ( siehe Artikel, sie bieten interessante Einblicke in die Vertrauensdynamik!). Wenn Sie also glauben, dass Let's Encrypt einen Fehler macht oder aus einem anderen Grund gelöscht wird, können Sie sich nicht an diesem Fall beteiligen, wenn Sie sie nicht verwenden.
Zertifikate verwenden etwas Krypto-Mathematik-Magie . die frage ist welche krypto mathe magie ? Was ist, wenn es schwache Magie ist? Dies ist in der Tat ein echtes Problem, und die zuständigen Behörden haben gezeigt, dass sie sich auch bei der Aktualisierung dieses Problems in die Quere kommen. Zum Glück haben die Browser-Anbieter die Lücke geschlossen, indem sie hier Mindestanforderungen für die Annahme von Zertifikaten festgelegt haben. Beispielsweise werden Zertifikate, die RSA-1024 oder SHA-1 verwenden, von den meisten Browsern abgelehnt, sodass in der Praxis verwendete Zertifikate diese veralteten Krypto-Primitive nicht verwenden. Das Fazit ist, dass es für jede Zertifizierungsstelle (einschließlich Let's Encrypt) ziemlich schwierig ist, diesen Teil mehr zu enttäuschen .
Früher habe ich mehr oder weniger gesagt, dass alle Zertifikate gleich erstellt werden. Ich habe gelogen, das sind sie nicht. Was ich bisher besprochen habe, sind insbesondere " Domain Validated (DV) -Zertifikate", die von der überwiegenden Mehrheit der Websites verwendet werden. Sie bieten ein gewisses Maß an Sicherheit, dass Ihr Browser tatsächlich mit der Domain spricht, die in der URL-Leiste angezeigt wird. Es gibt auch "Organization Validated (OV)" - und " Extended Validation (EV)" - Zertifikate, die von Zertifizierungsstellen weitaus umfangreichere Überprüfungen erfordern. Insbesondere sollten Sie nur in der Lage sein , ein EV - Zertifikat zu erhalten , für die
somebank.com
/ SomeBank Inc., wenn Sie tatsächlich beweisen können Sie sind SomeBank, Inc.Die Beschaffung von EV-Zertifikaten ist sehr viel kostenintensiver (Baseballstadion: Hunderte von EUR / USD pro Jahr) und sie können mit einer grünen URL-Leiste oder einem Vorhängeschloss im Browser belohnt werden, das möglicherweise "SomeBank, Inc." anzeigt. auch. Im Gegensatz zu DV-Zertifikaten bieten sie auch eine Vorstellung davon, wem die Website tatsächlich gehört. Der Vorteil ist, dass sie möglicherweise legitimer aussehen. Die Enttäuschung ist, dass Benutzer selten auf sie achten und ihre Effektivität daher eingeschränkt ist.
Ein Angreifer mit einem gefälschten DV-Zertifikat kann sich immer noch als Site ausgeben, nur ohne den zusätzlichen visuellen Hinweis, den ein EV-Zertifikat bieten kann, und Benutzer bemerken den Unterschied im Allgemeinen nicht. Umgekehrt ist es möglich , ein irreführendes EV-Zertifikat zu erhalten, um Phishing zu vereinfachen. Infolgedessen werden sowohl Chrome als auch Firefox ihre visuellen Nicks auf EV-Zertifikate setzen, und einige Leute glauben, dass sie ganz verschwinden werden.
Wenn Sie eine Bank sind, möchten Sie wahrscheinlich noch ein EV-Zertifikat. Ansonsten nicht so sehr. Wenn Sie jedoch EV benötigen, ist Let's Encrypt nichts für Sie, da sie einfach keine EV-Zertifikate anbieten.
Zertifikate sind nur für eine begrenzte Zeit gültig . Zertifikate von einer typischen kommerziellen Zertifizierungsstelle sind in der Regel ein Jahr lang gültig, aber ich habe zwischen drei Monaten und drei Jahren nichts gesehen. Let's Encrypt-Zertifikate haben eine Gültigkeit von 90 Tagen. Dies liegt im unteren Bereich. Daher müssen Sie sie häufig erneuern. Für Let's Encrypt-Benutzer erfolgt dies normalerweise automatisch, sodass Zertifikate alle 60 Tage ersetzt werden.
Die Möglichkeit, die Erneuerung mit allgemein verfügbarer Software zu automatisieren, ist tatsächlich angenehmer als das jährliche Oh shit my certificate expired? Wie ist mein Login bei der CA? Wie funktioniert das nochmal? Ritual, mit dem die meisten kleinen Websites bei kommerziellen Zertifizierungsstellen zu enden scheinen.
Früher habe ich es als beängstigend bezeichnet, dass es so viele Zertifizierungsstellen gibt, denen wir alle vertrauen müssen. Es ist jedoch auch von Vorteil, viele Zertifizierungsstellen zu haben, da das Entfernen einer einzigen Zertifizierungsstelle aus unseren Trust Stores nur begrenzte Auswirkungen auf die Benutzer hat. Insbesondere wirkt sich der Ausschluss einer einzelnen Zertifizierungsstelle nur auf die von dieser einen Zertifizierungsstelle ausgestellten Zertifikate aus. Wenn alle Benutzer eine einzige Zertifizierungsstelle verwenden (von der einige befürchten, dass sie mit Let's Encrypt auftreten könnte ), konzentrieren wir dort unser gesamtes Vertrauen und verlieren die Vorteile dieser Fragmentierung.
Und schließlich gibt es noch andere Vorteile, die eine bezahlte Zertifizierungsstelle bieten könnte, wie z. B. kommerziellen Support oder eine Millionen-Dollar-SSL-Garantie . Ich habe wenig Vertrauen in diese beiden Aspekte, aber es sind Dinge, die Let's Encrypt nicht bietet.
Mein Kopf tut weh ... Ich hatte eine Frage, denke ich?
Verwenden Sie, womit Sie sich wohl fühlen! Bei DV-Zertifikaten unterscheidet wenig die verschiedenen Zertifizierungsstellen. Ich benutze Let's Encrypt sowohl beruflich als auch privat und bin damit zufrieden.
Es gibt wirklich nur vier mögliche Gründe, die ich sehe, um Let's Encrypt zu vermeiden:
Wenn keine dieser Bedingungen für Sie zutrifft, können Sie Ihre Zertifikate auch nicht bezahlen.
quelle
Let's Encrypt ist in vielerlei Hinsicht überlegen, einschließlich derjenigen, die Sie erwähnt haben, wie zum Beispiel:
Es gibt jedoch ein paar Nachteile.
quelle
LetsEncrypt-Zertifikate sind großartig. Ich benutze sie selbst, anstatt Zertifikate zu kaufen. Es gibt einige Nachteile:
In der Vergangenheit haben Sicherheitszertifikate immer etwas gekostet. Andere Unternehmen, die kostenlose Zertifikate angeboten haben, sind gekommen und gegangen. Früher habe ich StartSSL verwendet, das ein einzelnes domänenfreies Zertifikat anbot, bis einige zwielichtige Dinge erledigt wurden und die Browser ihren Zertifikaten nicht mehr vertrauten. LetsEncrypt hat weniger Beschränkungen als frühere Anbieter von kostenlosen Zertifikaten und ist weitaus automatisierter. Es hat auch einige große Unterstützer wie die EFF, Mozilla, Chrome und Cisco. Siehe https://letsencrypt.org/sponsors/. Es scheint gut genug gelaufen zu sein, dass ich davon ausgehe, dass es noch Jahre dauern wird.
quelle
Nicht in allen Fällen kann die automatische Verlängerung verwendet werden
CertBot vereinfacht die Verwendung für Websites ... aber was ist, wenn Sie Zertifikate für andere Dinge verwenden?
Wir haben einen LDAP-Server, mit dem sich unsere Website authentifiziert. Es läuft über einen sicheren Port, benötigt jedoch ein signiertes Zertifikat. Ich könnte ein kostenloses Platzhalterzertifikat verwenden ... aber das bedeutet, dass das Zertifikat alle 3 Monate auf PKCS12 konvertiert wird (Webserver verwenden PEM) und dann das neue Zertifikat importiert wird. Oh, und unsere Netzwerk-Firewall verwendet auch PKCS12. Das ist eine Menge Ärger umsonst.
quelle
certbot
.acmetool
// Wenn Sie das Zertifikat erneuern möchten, können Sie einen hinzufügen,openssl
der die Konvertierung aufruft .Die einfache Antwort darauf ist, dass viele Webmaster diese Dinge einfach nicht tun möchten, die unnötig ihre kostbare Zeit verbrauchen. Im Falle von letsencrypt ist es einfach zu benutzen und kostenlos, aber Sie müssen sich daran erinnern und das Zertifikat alle 3 Monate neu installieren. Wenn Sie dies nicht tun oder einfach vergessen, wird auf Ihrer Website Ihren Besuchern und Suchmaschinen der Fehler 404 angezeigt.
quelle
acme.sh
die Installation der Let's Encrypt-Zertifikate wird auch die Erneuerung installiert. Es ist mehr Arbeit, es nicht zu tun.