Kostenlose SSL-Zertifikate mit Let’s Encrypt

Let’s Encrypt  – eine neue Certificate Authority (CA) – ist am 3. Dezember 2015 in die offene Phase des Betriebs gestartet. Das Besondere an diese CA ist, dass kostenlose SSL-Zertifikate zur Verfügung gestellt werden.

Wofür werden SSL-Zertifikate benötigt?

Bereits seit einiger Zeit hat die Verwendung von Zertifikaten deutlich an Bedeutung gewonnen. Waren früher nur Webseiten großer Firmen mit Zertifikat gesichert, gehört dies inzwischen schon zum „guten Ton“ und wird von Kunden spätestens beim eCommerce als Standard vorausgesetzt.

Internetnutzer tun gut daran auf dieses Sicherheitsmerkmal zu achten. Schließlich wird so eine verschlüsselte Verbindung genutzt und damit das Abfangen übermittelter Daten deutlich erschwert. Einer Seite mit Zertifikat kann man demzufolge zurecht mehr Vertrauen schenken.

Inzwischen sind SSL-Zertifikate sogar ein Rankingkriterium für die Googlesuche, d.h. ungesicherte Seiten werden zugunsten abgesicherter Seiten (leicht) abgewertet.

Google geht mit dem Browser Chrome sogar noch einen Schritt weiter und kennzeichnet solche Seiten künftig deutlich als unsicher, bei denen kein Zertifikat vorhanden ist. Das ist in soweit ein Paradigmenwechsel als bisher sichere Seiten (in der Regel durch ein grünes Schloss) positiv herausgehoben wurden. Vermutlich werden andere Browser diesem Beispiel in den nächsten Monaten folgen.

Zusammenfassend lässt sich sagen, dass die Absicherung einer Website mit einem SSL-Zertifikat in Kürze zum Standard gehören wird.

Let’s Encrypt im Detail

Hinter Let’s Encrypt steht eine gemeinnützige Organisation, die von vielen namhaften Firmen z.B. Chrome, Cisco und Facebook um nur einige der bekannteren zu nennen, in ihrer Mission unterstützt wird. Mission? Ja, das Ziel von LE ist, vereinfacht gesagt, das Internet ein Stück sicherer zu machen. Mussten, bis auf wenige Ausnahmen (z.B. StartSSL) bisher SSL-Zertifikate erworben werden, können diese nun kostenlos generiert werden, sofern gegenüber LE der Nachweis des Domainbesitzes erbracht wird. Eine weitergehende Legitimation ist nicht notwendig. Neben völlig neuen technischen Abläufen ist die wohl wichtigste Neuerung, für das WWW, dass die Zertifikate einer kostenlosen CA (Certificate Authority, also eines Zertifikatsausstellers) von allen großen Browsern ohne zusätzlichen Aufwand als gültig anerkannt werden. Wäre dies nicht der Fall, würde den Nutzern nicht das inzwischen allseits bekannte Grüne Schloss (siehe nachstehendes Bild), welches eine gesicherte Verbndung belegt, angezeigt.

goThreeCO SSL-Schloss

Die zweite Neuerung, die durch LE eingeführt wurde, kommt ebenfalls einem Paradigmenwechsel gleich: die ausgestellten Zertifikate besitzen lediglich eine Gültigkeit von 90 Tagen. Nach dieser Zeit werden sie im Browser als ungültig erkannt. Ob diese Neuerung positiv ist, ist durchaus streitbar. Der größte Vorteil liegt allerdings unumstritten darin, dass durch die kurze Gültigkeit sehr häufig ein erneuter Nachweis des Domainbesitzes erbracht werden muss. Folglich gibt es eine hohe Wahrscheinlichkeit, dass die Zertifikate – zumindest aus dieser Perspektive – nicht zum Missbrauch verwendet werden. Gerade durch die Möglichkeit Zertifikate schnell und kostenlos zu generieren wächst andererseits aber die Gefahr der missbräuchlichen Verwendung deutlich. Die kommenden Monate werden Zeigen ob sich ein signifikanter Anstieg der missbräuchlichen Verwendung verzeichnen lässt.

Durch den für Linux zur Verfügung gestellten offiziellen Client, der das eigens für diesen Zweck kreierte ACME-Protokoll umsetzt, lässt sich Problemlos ein Zertifikat beantragen, erneuern und sogar direkt in der Konfiguration des Webservers Apache hinterlegen. Details hierzu im folgenden Kapitel.

Größtes Manko des Angebots ist aus heutiger Sicht die fehlende Möglichkeit Wildcard-Zertifikate, also z.B. ein Zertifikat, welches für alle Subdomains auf einmal gilt, zu erstellen. Da die Zertifikate jedoch kostenlos sind ist dieser Umstand verschmerzbar.

[nextpage page-title=“Zertifikate automatisiert erstellen“ page-title-prefix=“Let’s Encrypt Teil 3″ page-description=“INDIVIDUELLE SEITENBESCHREIBUNG ALS TEST“]

Let’s Encrypt unterstützt automatisiertes Erstellen der Zertifikate

Durch das von LE bereitgestellte linuxbasierte Tool lassen sich die gewünschten Zertifikate nahezu ohne Aufwand erstellen. Das Tool muss zwingend auf dem Server der betreffenden Domain(s) laufen, da es zum Nachweis des Domainbesitzes eine Datei in dem Root-Verzeichnis der Domain unter ‚.well-known/acme-challenge/‘ anlegt und deren Anzeige mittels eines eingebauten Webservers überprüft. Details und auch Fehlerbehebungen zu diesem Verfahren sind bereits zu Genüge auf der offiziellen Seite von LE aber auch andernorts verfügbar.

Essentiell ist in diesem Zusammenhang der Umstand, dass der offizielle Client root-Rechte zur Ausführung benötigt. Besitzen Sie die Rechte auf dem Server Ihrer Domain nicht, hilft Ihnen vielleicht ein anderer Client oder das nächste Kapitel dieses Beitrags weiter. Die Community rund um LE hält inzwischen einige Portierungen auf andere Plattformen und Betriebssysteme bereit. Ein nativer Windowsclient zur komfortablen Zertifikatserstellung findet sich meinem Tests zufolge bisher leider nicht darunter. Sollte sich diesbezüglich eine neue Möglichkeit auftun, werde ich auf dieser Seite darüber berichten.

Zertifikate können mit Hilfe von LE auch manuell erstellt werden

Falls Sie für Ihre Website nur ein Hostingpaket ohne root-Zugang gewählt haben, können Sie auf den ersten Blick nicht von dem kostenlosen Angebot profitieren. Mit ein bisschen Glück haben Sie vielleicht eine andere Option solch ein kostenloses Zertifikat zu verwenden. Der Weg zum Ziel ist hier von manuellen Arbeiten geprägt, die ich nachfolgend näher beschreibe.

Schritt 1 – Können individuell erstellte  Zertifikate verwendet werden?

Bevor Sie sich die Arbeit machen ist der wichtigste Schritt zu klären. Nämlich, ob Sie überhaupt ein individuelles SSL-Zertifikat für Ihre Domain(s) verwenden können. Ist das nicht der Fall, können Sie meiner Erfahrung zufolge nur auf die kostenpflichtigen Angebote Ihres Hostingproviders zurückgreifen, die dieser sicherlich hat. In jedem Fall ist die Nutzung eines SSL-Zertifikats vorteilhaft!

Ich nutze derzeit gerne die Angebote von WebGo und HostNet, da dort das für diesen Artikel relevante Einspielen individueller Zertifikate möglich ist (WebGo) bzw. sogar Skripte zum automatischen Einspielen existieren (HostNet). Auch darüber hinaus erstaunt mich die Flexibilität des Angebotes regelmäßig.

Schritt 2 – Haben Sie ein Betriebssystem, zur Erstellung der Zertifikate?

Wie bereits geschildert, können Zertifikate im Wesentlichen nur in einem Linux-Betriebssystem erstellt werden, da per OpenSSL ein Schlüssel und mittels anderer Linux eigener Befehle die Authentifizierung gemäß des ACME-Protokolls abläuft. Falls Ihnen kein lauffähiges Linux mit ausreichenden Rechten oder notwendigen installierten Hilfsprogrammen (Perl, openSSL, …) zur Verfügung steht, bleibt Ihnen noch eine weitere Option. Sie können auf dem vorhandenen Laptop oder PC mittels VirtualBox und einer Linux-Distribution eine eigene passende Linuxumgebung zur manuellen Zertifikatserstellung kreieren. Die Installation der Programme geht verhältnismäßig leicht. Zudem belegt VirtualBox bei richtiger Konfiguration für diesen Zweck kaum Ressourcen.

Schritt 3 – Installation der notwendigen Programme innerhalb Ihres Linux

Um den aktuellen LE-Client von git-hub  zu installieren, benötigen Sie das Programm git, welches die einfache Installation des aktuellsten Clients vornehmen kann.

Je nach eingesetztem Linux geht dies über die Kommandozeile durch Eingeben der folgenden Befehle

sudo apt-get install git

oder

 

Den eigentlichen Client installieren Sie, wie folgt


git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

./letsencrypt-auto --help

Neben anderen Komponenten

 

Schritt 4 – Erstellen eines Schlüssels zum Signieren des Zertifikats

[folgt bald]

 

Schritt 5 – Manuelle Zertifikatserstellung für Ihre Domain(s)

[folgt bald]