Zum Inhalt springen

Let's Encrypt

Aus Foxwiki

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

Beschreibung

Automatisierte Ausstellung und Erneuerung von TLS-Zertifikaten über das ACME-Protokoll nach RFC/8555
  • Ein 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

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) und stellt davon abgeleitete Zwischenzertifikate bereit

  • 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

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

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 verschiedene 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



Anhang

Siehe auch



Weblinks

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