Zum Inhalt springen

Let's Encrypt: Unterschied zwischen den Versionen

Aus Foxwiki
 
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
; Automatisierte Ausstellung und Erneuerung von TLS-Zertifikaten über das ACME-Protokoll nach [[RFC/8555]]
; Automatisierte Ausstellung und Erneuerung von TLS-Zertifikaten
* Ein ACME-Client weist die Kontrolle über eine Domain nach und ruft ein Zertifikat ab
ACME-Protokoll ([[RFC/8555]])
* ACME-Client weist die Kontrolle über eine Domain nach und ruft ein Zertifikat ab
* Zertifikate besitzen eine maximale Gültigkeit von 90 Tagen, daher sollte eine automatische Erneuerung konfiguriert werden
* Zertifikate besitzen eine maximale Gültigkeit von 90 Tagen, daher sollte eine automatische Erneuerung konfiguriert werden


Zeile 13: Zeile 14:
* kostenlos
* kostenlos


== Zertifikate ==
; Bedeutung
Let’s Encrypt hat die Verbreitung von HTTPS im [[World Wide Web]] wesentlich beschleunigt und die Hürden für den Einsatz von Transportverschlüsselung deutlich gesenkt
* Das Projekt unterstützt Bestrebungen großer [[Webbrowser]]-Projekte, unverschlüsseltes [[Hypertext Transfer Protocol|HTTP]] als unsicher zu kennzeichnen
* Für den gesellschaftlichen Nutzen erhielt Let’s Encrypt mehrere Auszeichnungen, darunter den FSF Award 2019
 
=== Zertifikate ===
; Domain-Validation
; Domain-Validation
Domain-Validation-(DV)-Zertifikate
Domain-Validation-(DV)-Zertifikate
Zeile 37: Zeile 43:
* Die Betreibenden veröffentlichen regelmäßig Transparenz- und Sicherheitsberichte
* Die Betreibenden veröffentlichen regelmäßig Transparenz- und Sicherheitsberichte


== Organisation ==
=== Organisation ===
Let’s Encrypt ist ein von der Internet Security Research Group angebotener Dienst
Let’s Encrypt ist ein von der Internet Security Research Group angebotener Dienst
* Finanzierung erfolgt überwiegend durch Sponsoring großer Unternehmen aus Browser-, CDN- und Infrastrukturbereich sowie durch Spenden
* Finanzierung erfolgt überwiegend durch Sponsoring großer Unternehmen aus Browser-, CDN- und Infrastrukturbereich sowie durch Spenden
* Zu den wichtigen Unterstützenden gehören unter anderem die Electronic Frontier Foundation (EFF), die [[Mozilla|Mozilla Foundation]], Akamai, Google Chrome und [[Cisco Systems]]
* Zu den wichtigen Unterstützenden gehören unter anderem die Electronic Frontier Foundation (EFF), die [[Mozilla|Mozilla Foundation]], Akamai, Google Chrome und [[Cisco Systems]]


== Vertrauensmodell und Zertifikatskette ==
=== Vertrauensmodell und Zertifikatskette ===
Let’s Encrypt betreibt eigene Root-Zertifikate (z. B. ''ISRG Root X1'') und stellt davon abgeleitete Zwischenzertifikate bereit
Let’s Encrypt  
* betreibt eigene Root-Zertifikate
** z. B. ''ISRG Root X1''
* stellt davon abgeleitete Zwischenzertifikate bereit
 
; Kompatibilität mit älteren Clients
* Zur Sicherstellung der Kompatibilität mit älteren Clients wurden zeitweise zusätzlich von IdenTrust signierte Zwischenzertifikate eingesetzt
* Zur Sicherstellung der Kompatibilität mit älteren Clients wurden zeitweise zusätzlich von IdenTrust signierte Zwischenzertifikate eingesetzt
* Die aktuell verwendeten Root- und Intermediate-Zertifikate sowie Details zur Schlüsselinfrastruktur sind in [[Let's Encrypt/Technik]] beschrieben
* Die aktuell verwendeten Root- und Intermediate-Zertifikate sowie Details zur Schlüsselinfrastruktur sind in [[Let's Encrypt/Technik]] beschrieben


== Technik ==
=== Technik ===
Let’s Encrypt verwendet das ACME-Protokoll (Automatic Certificate Management Environment) zur automatisierten Ausstellung und Erneuerung von Zertifikaten
Let’s Encrypt verwendet das ACME-Protokoll (Automatic Certificate Management Environment) zur automatisierten Ausstellung und Erneuerung von Zertifikaten
* ACME-Clients führen die Authentifizierung der Domain und die Installation der Zertifikate auf dem Zielsystem aus
* ACME-Clients führen die Authentifizierung der Domain und die Installation der Zertifikate auf dem Zielsystem aus
Zeile 53: Zeile 64:
* Weitere technische Details zur Implementierung, zur CA-Software und zur Infrastruktur sind in [[Let's Encrypt/Technik]] zusammengefasst
* Weitere technische Details zur Implementierung, zur CA-Software und zur Infrastruktur sind in [[Let's Encrypt/Technik]] zusammengefasst


== Bedeutung ==
== ACME ==
Let’s Encrypt hat die Verbreitung von HTTPS im [[World Wide Web]] wesentlich beschleunigt und die Hürden für den Einsatz von Transportverschlüsselung deutlich gesenkt
; Automatic Certificate Management Environment
* Das Projekt unterstützt Bestrebungen großer [[Webbrowser]]-Projekte, unverschlüsseltes [[Hypertext Transfer Protocol|HTTP]] als unsicher zu kennzeichnen
Funktionsweise von ACME
* Für den gesellschaftlichen Nutzen erhielt Let’s Encrypt mehrere Auszeichnungen, darunter den FSF Award 2019
 
== Funktionsweise von ACME ==


=== Architektur ===
=== Architektur ===
Zeile 93: Zeile 101:
* Entsprechende Informationen werden über die üblichen Kanäle publiziert
* Entsprechende Informationen werden über die üblichen Kanäle publiziert


== ACME-Clients ==
=== ACME-Challenge-Typen ===
; ACME-Client-Implementierungen
Zur Nutzung von Let’s Encrypt muss eine ACME-Clientsoftware eingesetzt werden
* Es stehen zahlreiche Clients von Drittanbietern zur Verfügung
:* Keine Überprüfung oder Zertifizierung dieser Clients durch Let’s Encrypt
* Browserbasierte Clients werden nicht berücksichtigt, da sie manuelle Erneuerungen fördern
 
=== Certbot ===
Für die meisten Szenarien wird Certbot empfohlen
* Unterstützt automatisiertes Ausstellen, Installieren und Erneuern von Zertifikaten
* Bietet Auto-Konfiguration sowie Expertenmodus
* Umfangreiche Dokumentation und breite Betriebssystemunterstützung
 
=== ACMEv1 / ACMEv2 ===
Alle unterstützten ACME-Clients verwenden '''ACMEv2 (RFC 8555)'''
* ACMEv1 wurde am 1. Juni 2021 vollständig abgeschaltet
 
=== Erste Schritte ===
Zur Aktivierung von HTTPS wird ein Zertifikat benötigt, das über ACME angefordert wird
* Der Nachweis der Domainkontrolle erfolgt über einen ACME-Client oder über Integrationen beim Hosting-Provider
* Entscheidend ist, '''ob Shell-Zugang verfügbar ist'''
 
==== Mit Shell-Zugang ====
Für Shell-Umgebungen wird Certbot empfohlen
* Unterstützt automatische Abläufe ohne Ausfallzeit
* Alternativ können weitere ACME-Clients eingesetzt werden
 
Für Tests kann die Staging-Umgebung genutzt werden, um Rate Limits nicht auszulösen
 
=== Ohne Shell-Zugriff ===
Optimal ist die Nutzung integrierter Let’s-Encrypt-Unterstützung des Hosting-Providers
* Zertifikate werden automatisch angefordert und erneuert
 
Falls keine Integration vorhanden ist, kann ein Zertifikat manuell erzeugt und anschließend beim Provider hochgeladen werden
* Dieser Ansatz ist aufwendig und muss regelmäßig wiederholt werden
* Gilt als Notlösung
 
== ACME-Challenge-Typen ==
Für die Domainvalidierung stehen mehrere Verfahren zur Verfügung
Für die Domainvalidierung stehen mehrere Verfahren zur Verfügung
* Auswahl und Einsatz hängen von Infrastruktur, DNS-Zugriff und Port-Verfügbarkeit ab
* Auswahl und Einsatz hängen von Infrastruktur, DNS-Zugriff und Port-Verfügbarkeit ab
Zeile 171: Zeile 142:
|}
|}


== Rate Limits ==
=== Rate Limits ===
Let’s Encrypt setzt verschiedene Beschränkungen ein, um Missbrauch zu verhindern
Let’s Encrypt setzt v=erschiedene Beschränkungen ein, um Missbrauch zu verhindern
* Für einen stabilen Betrieb sollte die automatisierte Erneuerung auf die Staging-Umgebung getestet werden
* Für einen stabilen Betrieb sollte die automatisierte Erneuerung auf die Staging-Umgebung getestet werden


Zeile 196: Zeile 167:
* Certbot-Erneuerungstest: ''certbot renew --dry-run''
* Certbot-Erneuerungstest: ''certbot renew --dry-run''


== Beste Praxis ==
=== Beste Praxis ===
* Port 80 sollte für '''HTTP-01'''-Challenges und Weiterleitungen auf HTTPS offen bleiben
* Port 80 sollte für '''HTTP-01'''-Challenges und Weiterleitungen auf HTTPS offen bleiben
* Das Schließen von Port 80 reduziert das Sicherheitsrisiko kaum
* Das Schließen von Port 80 reduziert das Sicherheitsrisiko kaum
Zeile 203: Zeile 174:


<noinclude>
<noinclude>
== ACME-Clients ==
; ACME-Client-Implementierungen
Zur Nutzung von Let’s Encrypt muss eine ACME-Clientsoftware eingesetzt werden
* Es stehen zahlreiche Clients von Drittanbietern zur Verfügung
:* Keine Überprüfung oder Zertifizierung dieser Clients durch Let’s Encrypt
* Browserbasierte Clients werden nicht berücksichtigt, da sie manuelle Erneuerungen fördern
=== Certbot ===
Für die meisten Szenarien wird Certbot empfohlen
* Unterstützt automatisiertes Ausstellen, Installieren und Erneuern von Zertifikaten
* Bietet Auto-Konfiguration sowie Expertenmodus
* Umfangreiche Dokumentation und breite Betriebssystemunterstützung
=== ACME Versionen ===
; ACMEv1/ACMEv2
Alle unterstützten ACME-Clients verwenden '''ACMEv2 (RFC 8555)'''
* ACMEv1 wurde am 1.&nbsp;Juni 2021 vollständig abgeschaltet
=== Erste Schritte ===
Zur Aktivierung von HTTPS wird ein Zertifikat benötigt, das über ACME angefordert wird
* Der Nachweis der Domainkontrolle erfolgt über einen ACME-Client oder über Integrationen beim Hosting-Provider
* Entscheidend ist, '''ob Shell-Zugang verfügbar ist'''
==== Mit Shell-Zugang ====
Für Shell-Umgebungen wird Certbot empfohlen
* Unterstützt automatische Abläufe ohne Ausfallzeit
* Alternativ können weitere ACME-Clients eingesetzt werden
Für Tests kann die Staging-Umgebung genutzt werden, um Rate Limits nicht auszulösen
==== Ohne Shell-Zugriff ====
Optimal ist die Nutzung integrierter Let’s-Encrypt-Unterstützung des Hosting-Providers
* Zertifikate werden automatisch angefordert und erneuert
Falls keine Integration vorhanden ist, kann ein Zertifikat manuell erzeugt und anschließend beim Provider hochgeladen werden
* Dieser Ansatz ist aufwendig und muss regelmäßig wiederholt werden
* Gilt als Notlösung


== Anhang ==
== Anhang ==

Aktuelle Version vom 29. Dezember 2025, 09:59 Uhr

Let's Encrypt - Zertifizierungsstelle für X.509-basierte TLS-Zertifikate

Beschreibung

Automatisierte Ausstellung und Erneuerung von TLS-Zertifikaten

ACME-Protokoll (RFC/8555)

  • ACME-Client weist die Kontrolle über eine Domain nach und ruft ein Zertifikat ab
  • Zertifikate besitzen eine maximale Gültigkeit von 90 Tagen, daher sollte eine automatische Erneuerung konfiguriert werden
Zertifizierungsstelle für X.509-basierte TLS-Zertifikate

Internet Security Research Group (ISRG)

  • offen
  • gemeinnützig
  • automatisiert
  • kostenlos
Bedeutung

Let’s Encrypt hat die Verbreitung von HTTPS im World Wide Web wesentlich beschleunigt und die Hürden für den Einsatz von Transportverschlüsselung deutlich gesenkt

  • Das Projekt unterstützt Bestrebungen großer Webbrowser-Projekte, unverschlüsseltes HTTP als unsicher zu kennzeichnen
  • Für den gesellschaftlichen Nutzen erhielt Let’s Encrypt mehrere Auszeichnungen, darunter den FSF Award 2019

Zertifikate

Domain-Validation

Domain-Validation-(DV)-Zertifikate

  • DNS-Namen
  • Einzelnamen
  • Subject-Alternative-Name-Zertifikate
  • Wildcard-Zertifikate
OV- und EV-Zertifikate

Werden nicht angeboten

  • Antragsprozesse nicht vollständig automatisierbar
Gültigkeit

Standardgültigkeit der Zertifikate beträgt 90 Tage

  • Für den produktiven Betrieb ist eine automatisierte Erneuerung vorgesehen (z. B. über ACME-Clients
Kosten
  • Ausstellung und Nutzung der Zertifikate sind kostenfrei
  • Es wird weitgehend auf freie Software und offene Standards gesetzt
Transparenz
  • Ausgestellte Zertifikate werden in öffentlichen Logsystemen (z. B. Certificate Transparency) protokolliert
  • Die Betreibenden veröffentlichen regelmäßig Transparenz- und Sicherheitsberichte

Organisation

Let’s Encrypt ist ein von der Internet Security Research Group angebotener Dienst

  • Finanzierung erfolgt überwiegend durch Sponsoring großer Unternehmen aus Browser-, CDN- und Infrastrukturbereich sowie durch Spenden
  • Zu den wichtigen Unterstützenden gehören unter anderem die Electronic Frontier Foundation (EFF), die Mozilla Foundation, Akamai, Google Chrome und Cisco Systems

Vertrauensmodell und Zertifikatskette

Let’s Encrypt

  • betreibt eigene Root-Zertifikate
    • z. B. ISRG Root X1
  • stellt davon abgeleitete Zwischenzertifikate bereit
Kompatibilität mit älteren Clients
  • Zur Sicherstellung der Kompatibilität mit älteren Clients wurden zeitweise zusätzlich von IdenTrust signierte Zwischenzertifikate eingesetzt
  • Die aktuell verwendeten Root- und Intermediate-Zertifikate sowie Details zur Schlüsselinfrastruktur sind in Let's Encrypt/Technik beschrieben

Technik

Let’s Encrypt verwendet das ACME-Protokoll (Automatic Certificate Management Environment) zur automatisierten Ausstellung und Erneuerung von Zertifikaten

  • ACME-Clients führen die Authentifizierung der Domain und die Installation der Zertifikate auf dem Zielsystem aus
  • Unterstützte Validierungsmethoden (z. B. HTTP-01, DNS-01, TLS-ALPN-01) sowie konkrete Anwendungsbeispiele werden in Let's Encrypt/Anwendungen beschrieben
  • Weitere technische Details zur Implementierung, zur CA-Software und zur Infrastruktur sind in Let's Encrypt/Technik zusammengefasst

ACME

Automatic Certificate Management Environment

Funktionsweise von ACME

Architektur

ACME-Ablauf

Objekte und Schritte

Schritt Beschreibung
Account Key kryptografische Identität des Clients
Order Anforderung eines oder mehrerer Zertifikate
Authorization Nachweis der Kontrolle für jede Domain
Challenge konkrete Prüfaufgabe (HTTP-01, DNS-01, TLS-ALPN-01)
Finalization Übermittlung des CSR
Certificate Ausstellung des Zertifikats

Diese Struktur entspricht dem ACME-Standard (RFC/8555)

Domain-Validierung

Der Client erzeugt ein Schlüsselpaar und fordert Validierungsaufgaben an

  • Nach Bereitstellung der Challenge-Ressourcen prüft die Zertifizierungsstelle deren Erfüllung
  • Bei Erfolg gilt der Account Key als autorisiert

Zertifikatausstellung und Widerruf

Zur Ausstellung wird eine Zertifikatsanforderung (CSR) übermittelt

  • Nach erfolgreicher Prüfung wird ein Zertifikat zurückgegeben
  • Widerrufe erfolgen über signierte Widerrufsanfragen
  • Entsprechende Informationen werden über die üblichen Kanäle publiziert

ACME-Challenge-Typen

Für die Domainvalidierung stehen mehrere Verfahren zur Verfügung

  • Auswahl und Einsatz hängen von Infrastruktur, DNS-Zugriff und Port-Verfügbarkeit ab
Methode Port Vorteile Nachteile
HTTP-01 Port 80
  • Einfach einzurichten
  • Kompatibel mit den meisten Webservern
  • Automatisierbar
  • Erfordert offenen Port 80
  • Probleme hinter CDN/Reverse-Proxy möglich
  • Nicht nutzbar für Wildcard-Zertifikate
DNS-01 TXT-Record
  • Ermöglicht Ausstellung von Wildcard-Zertifikaten
  • Unabhängig von Ports oder Webserver
  • Sehr flexibel bei komplexen Infrastrukturen
  • Erfordert DNS-API oder manuellen Eingriff
  • DNS-Propagation kann Verzögerungen verursachen
TLS-ALPN-01 Port 443
  • Keine Abhängigkeit von Port 80
  • Funktioniert hinter bestimmten Proxies besser
  • Benötigt direkte Kontrolle über TLS-Konfiguration
  • Nicht überall unterstützt

Rate Limits

Let’s Encrypt setzt v=erschiedene Beschränkungen ein, um Missbrauch zu verhindern

  • Für einen stabilen Betrieb sollte die automatisierte Erneuerung auf die Staging-Umgebung getestet werden
Limits
  • Begrenzte Anzahl neuer Zertifikate pro registrierter Domain pro Woche
  • Begrenzung fehlerhafter Validierungsversuche pro Stunde
  • Begrenzte Anzahl neuer Orders pro Account innerhalb kurzer Zeiträume

Für Tests steht eine Staging-Umgebung mit deutlich höheren Limits zur Verfügung

Staging-Umgebung

Die Staging-Umgebung ist eine separate ACME-Testinfrastruktur mit hohen Limits und nicht vertrauenswürdigen Testzertifikaten

  • Sie dient zur sicheren Überprüfung von Validierung, Konfiguration und Automatisierung, ohne produktive Limits zu belasten
Aktivierung der Staging-Umgebung

Die Nutzung erfolgt über den Staging-ACME-Endpunkt oder entsprechende Client-Optionen

  • Certbot: --staging
  • ACME-Endpoint
https://acme-staging-v02.api.letsencrypt.org/directory
  • Certbot-Erneuerungstest: certbot renew --dry-run

Beste Praxis

  • Port 80 sollte für HTTP-01-Challenges und Weiterleitungen auf HTTPS offen bleiben
  • Das Schließen von Port 80 reduziert das Sicherheitsrisiko kaum
  • Falls Port 80 durch den Anbieter blockiert ist, können DNS-01 oder TLS-ALPN-01 eingesetzt werden



ACME-Clients

ACME-Client-Implementierungen

Zur Nutzung von Let’s Encrypt muss eine ACME-Clientsoftware eingesetzt werden

  • Es stehen zahlreiche Clients von Drittanbietern zur Verfügung
  • Keine Überprüfung oder Zertifizierung dieser Clients durch Let’s Encrypt
  • Browserbasierte Clients werden nicht berücksichtigt, da sie manuelle Erneuerungen fördern

Certbot

Für die meisten Szenarien wird Certbot empfohlen

  • Unterstützt automatisiertes Ausstellen, Installieren und Erneuern von Zertifikaten
  • Bietet Auto-Konfiguration sowie Expertenmodus
  • Umfangreiche Dokumentation und breite Betriebssystemunterstützung

ACME Versionen

ACMEv1/ACMEv2

Alle unterstützten ACME-Clients verwenden ACMEv2 (RFC 8555)

  • ACMEv1 wurde am 1. Juni 2021 vollständig abgeschaltet

Erste Schritte

Zur Aktivierung von HTTPS wird ein Zertifikat benötigt, das über ACME angefordert wird

  • Der Nachweis der Domainkontrolle erfolgt über einen ACME-Client oder über Integrationen beim Hosting-Provider
  • Entscheidend ist, ob Shell-Zugang verfügbar ist

Mit Shell-Zugang

Für Shell-Umgebungen wird Certbot empfohlen

  • Unterstützt automatische Abläufe ohne Ausfallzeit
  • Alternativ können weitere ACME-Clients eingesetzt werden

Für Tests kann die Staging-Umgebung genutzt werden, um Rate Limits nicht auszulösen

Ohne Shell-Zugriff

Optimal ist die Nutzung integrierter Let’s-Encrypt-Unterstützung des Hosting-Providers

  • Zertifikate werden automatisch angefordert und erneuert

Falls keine Integration vorhanden ist, kann ein Zertifikat manuell erzeugt und anschließend beim Provider hochgeladen werden

  • Dieser Ansatz ist aufwendig und muss regelmäßig wiederholt werden
  • Gilt als Notlösung


Anhang

Siehe auch



Weblinks

  1. Offizielle Website von Let’s Encrypt
  2. Technische Einführung in Let’s Encrypt