Let's Encrypt

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Let's Encrypt ist eine Zertifizierungsstelle (CA), die kostenlose, domain validated X.509 Zertifikate ausstellt. Solche Zertifikate sind die Grundlage zur verschlüsselten Kommunikation im Internet über das Protokoll HTTPS. Let's Encrypt hat es sich zur Aufgabe gemacht, Betreibern von Webseiten das Zertifikatsmanagement zu vereinfachen. Dazu setzt die CA auf einen hohen Grad an Automatisierung, um allen Inhabern einer Domäne kostenlos und unkompliziert Zertifikate auszustellen. Die Research Group von Let's Encrypt besteht u.a. aus Mitgliedern von Mozilla, Cisco und CoreOS.[1] Darüber hinaus gibt es mehr als 100 Sponsoren, die das Projekt unterstützen.

Begriffe

Begriff Bedeutung
Digitales Zertifikat (Format X.509) Ein Identitätsnachweis, der Webseiten (Server und Domäne) eindeutig identifiziert. Ein Benutzer kann dadurch nachvollziehen, dass er tatsächlich mit dem gewünschten Server kommuniziert.
Zertifizierungsstelle (CA) Die Herausgeber von digitalen Zertifikaten. Zusätzlich beglaubigt die CA mit Ihrer Unterschrift das Zertifikat, Benutzer können durch diese Beglaubigung dem Zertifikat eines Server trauen (Chain of Trust) - Voraussetzung ist, dass die CA vertrauenswürdig ist!
Cross-Signatures Das dem Benutzer nächste Glied in der Chain of Trust sind die Web-Browser. Ein Browser muss, um eine HTTPS Verbindung vertrauenswürdig aufbauen zu können, der Unterschrift der CA am DV Zertifikat vertrauen. Let's Encrypt hat über eine Cross-Signature von IdenTrust gewährleistet, dass aktuelle Browser den Signaturen von Let's Encrypt vertrauen.[2]
Domain Validation (DV) Möchte der Besitzer der Domäne example.com ein digitales Zertifikat für seine Domäne, muss er der CA beweisen, dass er der legitime Besitzer von example.com ist. Dies wird z.B. über einen Bestätigungslink an eine Mail-Adresse der Domäne oder jene Mechanismen, die Let's Encrypt einsetzt, umgesetzt. Let's Encrypt stellt aktuell nur DV Zertifikate aus.
Extended Validation (EV) Die EV erweitert die DV um eine genauere Identitätsprüfung des Zertifikats-Antragstellers.
Public und Private Key Öffentliche (Public Key) und geheime (Private Key) Schlüssel werden zum Prüfen und Erstellen von Zertifikats-Signaturen verwendet. Der wichtigste kryptographische Algorithmus ist in diesem Zusammenhang RSA, das können Sie direkt in einem X.509 Zertifikat überprüfen - Public Key Algorithm: rsaEncryption.[3] Der Private Key wird beim Antrag von Zertifikaten am Server des Domänen-Inhabers erstellt und in keinster Form an die CA weitergegeben oder übertragen. Die Sicherheit des Private Keys ist ausschlaggebend für eine sichere Kommunikation über HTTPS.

FAQs

Die FAQs beantworten den Nutzern häufig gestellte Fragen:

Warum die Laufzeit bei Let's Encrypt Zertifikaten auf 90 Tage limitiert ist, erklärt der folgende Blog Post:

Automatisierte Domain Validation

Let's Encrypt stellt Zertifikate automatisiert aus - auch auf Seiten der CA. Grundlage für die Kommunikation zwischen Domänen Inhaber und CA ist das ACME Protokoll:[4]

Automated Certificate Management Environment (ACME) is a protocol for automating the management of domain-validation certificates, based on a simple JSON-over-HTTPS interface.

Ablaufdiagramm

  • Der Webserver fordert ein signiertes Zertifikat an. Daraufhin stellt ihm Let's Encrypt eine Aufgabe, die er lösen muss. Mögliche Aufgaben sind z.B. einen DNS Record oder eine Ressource unter der gegebenen Domäne einrichten.

Letsencrypt-challenge.png

  • Zusätzlich zur Aufgabe bekommt der Webserver eine Nonce (Initialisierungsvektor), die mit dem Private Key des Webservers (jener Key, mit dem der Antrag gestellt wurde) signiert wird.

Letsencrypt-authorization.png

  • Werden Punkt 1 und 2 erfolgreich ausgeführt stellt die CA ein signiertes Zertifikat aus.

Let's Encrypt Client

Der Let's Encrypt Client ist ein in Python geschriebenes Kommandozeilen-Werkzeug.[5] Der Client übernimmt die Kommunikation mit Let's Encrypt, um:

  • Zertifikate anzufragen
  • Webserver für Zertifikate zu konfigurieren
  • Zertifikate zu erneuern
  • Zertifikate zu widerrufen

Kritik

Am Let's Encrypt Client wird durchaus auch Kritik geübt, da er viel mit root Rechten (über sudo) hantiert und zur Zeit nur Apache und Nginx automatisch konfiguriert.[6] Da das ACME Protokolle frei verfügbar ist, gibt es auch alternative Clients:

Einzelnachweise

Weitere Informationen

Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Das könnte Sie auch interessieren

Nextcloud Dateien - Überblick
Open Source Release Termine 2024
RAID 10 mit Broadcom LSA Storage Manager einrichten