kostenlose SSL Webserver Zertifikate: Let's Encrypt

Vor nicht allzu langer Zeit musste für ein SSL-Webserver Zertifikate noch etwas bezahlt werden, inzwischen gibt es Anbieter, die Zertifikate gratis und automatisiert zur Verfügung stellen. Ich war überrascht, wie einfach das geht ...  

Anfangs um das Admin-Portal meiner Webseite etwas sicherer zu gestalten, später um für alle Webseiten https zu verwenden, habe ich diese auf SSL umgestellt. Für die Admin-Oberfläche wollte ich ursprünglich, aus Kostengründen, ein selbstsigniertes Zertifikat (Self-Signed-Certificate) verwenden. Auch eine eigene Zertifizierungsstelle war eine mögliche Option. Damit der Browser bei dessen Verwendung keine Zertifikatswarnung ausgibt, hätte ich das Zertifikat auf allen Endgeräten einspielen müssen. Speziell bei Android ist das, wie ich lernen musste, keine leichte Aufgabe. Auf der Suche nach einem öffentlichen Zertifikat bin ich auf "StartSSL Free" gestoßen, was auch einige Jahre funktioniert hat, der Betrieb von StarSSL wurde aber am 1. Jänner 2018 eingestellt,  heute ist Letsencrypt für kostenlose Zertifikate das Maß aller Dinge.

Let's Encrypt 

Die vollautomatisierte Zertifizierungsstelle Let's Encrypt wurde durch zahlreiche namhafte Sponsoren, darunter Mozilla, Cisco, Facebook, HP und einige mehr, ermöglicht. Das besondere an Let's Encrypt ist, dass der Webserver mittels installierter API das Zertifikat selbst beantragt, installiert und regelmäßig erneuert. Der Webseitenbetreiber benötigt dazu keinerlei Hintergrundwissen. Ich beobachte das Projekt bereits seit Anfang 2015. Ende 2015 wollte ich Let's Encrypt auf meinem Webserver testen. Zu dieser Zeit war noch etwas Handarbeit für die Konfiguration notwendig und bei mir hat das Skript auf Anhieb noch nicht funktioniert.

Den nächsten Versuch habe ich im Mai 2016 gestartet: Siehe da, jetzt gibt es sogar eine Plesk-Erweiterung.

Update 2020: Alternativ kann Lets Encrypt auch mit Docker und nginx eingesetzt werden, siehe: nginx-LetsEncrypt Reverse Proxy in der Praxis.

September 2021 - ISRG Root X1

Ich habe schon mehrfach darüber gelesen und aktuell von Let's Encrypt auch noch ein Email mit der Information bekommen und diese hier zusammengefasst: 

Update 2021: Ab September muss Letsencrypt sein eigenes Root-Zertifikat ISRG Root X1 verwenden, alte Geräte bekommen dadurch eine Zertifikatswarnung, siehe: letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/

Ursprünglich hat Let's Encrypt für einen schnelleren Start ein bestehendes Root-Zertifikat verwendet, welches in allen Geräten verfügbar ist: DST Root CA X3. Das Zertifikat hat als Ablaufdatum den 30.9.2021. Das Datum kann in den Details aller verwendeten Zertifkate begutachtet werden:

Als Auswirkung bekommen alte Geräte, die jahrelang nicht mehr mit Updates versorgt wurden und somit das neue Letsencrypt Root Zertifikat ISRG Root X1 noch nicht bekommen haben, eine Zertifikatswarnung. Betroffen sind laut der Let's Encrypt-Seite folgende bekannte Geräte:

  • Blackberry < v10.3.3
  • Android < v2.3.6
  • Nintendo 3DS
  • Windows XP prior to SP3
  • cannot handle SHA-2 signed certificates
  • Java 7 < 7u111
  • Java 8 < 8u101
  • Windows Live Mail (2012 mail client, not webmail)
  • cannot handle certificates without a CRL
  • PS3 game console
  • PS4 game console with firmware < 5.00

Seit Mai 2021 hat auch diese Seite bereits ein Zertifikat auf Basis der neuen ISRG Root X1 CA erhalten:

Quelle: letsencrypt.org/docs/certificate-compatibility/

Plesk

Für die Verwendung von Let's Encrypt mit Hilfe von Plesk musste ich Plesk auf die neueste Version upgedated, nach einem Wechsel zu den Erweiterungen konnte ich Let's Encrypt auswählen und installieren:

 

In der installierten Erweiterung werden sämtliche, auf dem Webserver installierte, Domänen aufgelistet. Beim Klick auf eine Domäne kann das Zertifikat installiert werden, automatisch und ohne einen Gedanken an die Konfiguration zu verschwenden:

 

Einzig die Schreibrechte in den Ordner ".well-known" im Root-Ordner der jeweiligen Webseite, machte bei der ein oder anderen Domäne Probleme. Die Lösung ist denkbar einfach: 

Error: Let's Encrypt SSL certificate installation failed

Failed letsencrypt execution: filemng: Error occurred druing /bin/mkdir command. filemng: Error occured during /bin/rm command.

Command '['/usr/local/psa/admin/bin/filemng',u'user',mkdir','-p',u'/var/www/vhosts/domain/.well-known/acme-challenge']' returned non-zero exit status 1

Nachdem ich mit dem Dateimanager den Ordner ".well-known" angelegt und entsprechende Schreibrechte vergeben habe, hat die Installation dann geklappt:

Zertifikat erneuern

Ein Blick in Crontab zeigt einen Task, welcher das Zertifikat monatlich automatisch erneuert. Die Gültigkeit des Zertifikates beträgt 3 Monate. Also von Seiten des Webmasters nichts mehr zu machen. Anbieterdetails, siehe https://letsencrypt.org/ 

Fazit

HTTPS-Sicherheit muss nichts kosten. Gerade kleinere Unternehmen oder private Webseiten profitieren von den kostenlosen Zertifikaten. Durch die einfache Integration von Let's Encrypt kann ein kostenloses Zertifikat sogar einfacher, schneller und unkompizierter installiert werden als ein kostenpflichtiges. Eine universelle und einfache Lösung dazu bietet Docker, siehe auch: nginx-LetsEncrypt Reverse Proxy in der Praxis.

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 03.06.2016 von Bernhard
geändert am 13.05.2021 von Bernhard



Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
erstellt am 17.07.2016 10:07
User: Tobi 
Danke für den Tipp mit dem Ordner  ".well-known"! Das  war bei mir die Lösung! :-D

Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.