SSL-Zertifikate mit Let's Encrypt
Published on Tuesday, September 20, 2016 4:00:00 AM UTC in Security & Tools
Schon seit einiger Zeit beobachte ich die Entwicklung, die sich im Bereich der SSL-Zertifikate ergeben hat. Was früher eine kostspielige und aufwändige, nicht selten auch hakelige Sache war, ist inzwischen großflächig kostenlos und sehr bequem zu haben. Dies ist natürlich in weiten Teilen der Initiative "Let's Encrypt" zu verdanken, die die Verbreitung von kostenlosen SSL-Zertifikaten entscheidend mit vorangetrieben hat. Nach dem Umzug auf einen eigenen Server war die Erstellung eines zugehörigen Zertifikats einer der ersten Schritte. Und obwohl ich mich im Vorfeld schon schlau gemacht hatte, war ich doch noch darüber erstaunt, wie einfach und schnell das Ganze dann wirklich von statten ging.
Es gibt inzwischen diverse Tools, die den Umgang mit Let's Encrypt vereinfachen, darunter auch grafische Clients. Letztendlich entschied ich mich aber auf Grund von diversen Artikeln und dem persönlichen Eindruck doch für einen Aufsatz auf Kommandozeilen-Basis: letsencrypt-win-simple. Die Handhabung ist sehr simpel und gut auf der Wiki-Seite des Projekts beschrieben. Das Tool führt per Frage- und Antwortspiel durch die nötigen Schritte, um das Zertifikat erstellen zu lassen und richtet abschließend auch einen Eintrag im Windows Task Planer ein, der für eine automatische Verlängerung sorgen soll - die Zertifikate von Let's Encrypt sind nur 3 Monate gültig. Ich bin gespannt, ob auch das klappen wird.
Das Tool selbst muss auf dem Server ausgeführt werden, für den das Zertifikat erstellt werden soll. Das einzige, was man bei einer ASP.NET Core-Webseite beachten muss, ist: die standardmäßig mit ausgelieferte web.config, die vom Tool verwendet wird, spielt nicht mit MVC-Anwendungen zusammen. Im Wiki des Projekts gibt es aber eine Variante, mit der das problemlos klappt; diese muss man einmalig von Hand im Programmverzeichnis austauschen.
Der ganze Prozess bis zum ersten Aufruf per https dauerte kaum fünf Minuten. Danach präsentiert sich die Seite in unterschiedlichen Browsern etwa folgendermaßen:
Wie man sieht, ist der Auftritt im Internet Explorer (und auch in Edge) sehr unspektakulär - man erhält nirgendwo auch nur einen Ansatz von grüner Farbe, lediglich ein monochromes Schloss-Symbol. Wer sich ein wenig auskennt, weiß aber auch, dass das grüne Schloss etwa in Chrome nicht wirklich das Ende der Fahnenstange ist. Die volle Ausbaustufe sieht dort etwa so aus:
Der Grund für die abgespeckte Variante ist, dass Let's Encrypt lediglich ein Zertifikat der Holzklasse "Domain Validation"-Kategorie ausstellen kann, wofür die Kontrolle über eine Domäne ausreicht. Es gibt darüber hinaus auch noch die "Extended Validation", die eine Identitätsprüfung vornimmt. Nur mit einer solchen erhält man obige optische Signalisierung, oder etwa im Internet Explorer die vollständig grün hinterlegte Adresszeile. Für solche Zertifikate muss weiterhin auf kommerzielle Anbieter bzw. kostenpflichtige Angebote zurückgegriffen werden.
Update (2016-09-23): Let's Encrpyt hat einen sehr interessanten Blog-Eintrag veröffentlicht, der offenlegt, was der Betrieb des Projekts in 2017 an Kosten verschlingen wird. Beeindruckend.