Let's Encrypt und ACME-Protokollautomatisierung
Automatisieren Sie die Ausstellung und Erneuerung von Zertifikaten mithilfe des ACME-Protokolls mit Certbot und anderen Clients.
Let's Encrypt und ACME-Protokollautomatisierung ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Einführung in Let's Encrypt
Let's Encrypt ist eine kostenlose, automatisierte und offene Zertifizierungsstelle (CA) der Internet Security Research Group (ISRG), die im Dezember 2015 als öffentliche Betaversion gestartet wurde. Sie hat mehr als 3 Milliarden Zertifikate ausgestellt und die Verbreitung von HTTPS im gesamten Web erheblich gesteigert, indem sie die Kosten und die Komplexität bei der Beschaffung öffentlich vertrauenswürdiger TLS-Zertifikate beseitigt hat.
Überblick über das ACME-Protokoll
Das Protokoll Automated Certificate Management Environment (ACME), das 2019 als RFC 8555 standardisiert wurde, definiert, wie Clients automatisch den Besitz einer Domain nachweisen und Zertifikate von CAs erhalten. ACME ersetzt manuelle Verfahren zur Domainvalidierung durch einen kryptografisch verifizierten automatisierten Austausch und ermöglicht dadurch ein vollständig automatisiertes Zertifikatslebenszyklusmanagement.
HTTP-01-Challenge
Die HTTP-01-Challenge validiert den Besitz einer Domain, indem der ACME-Client eine bestimmte Token-Datei unter "http://DOMAIN/.well-known/acme-challenge/TOKEN" ablegen muss. Die CA ruft diese URL ab, um das Token zu überprüfen. HTTP-01 lässt sich einfach implementieren, erfordert jedoch, dass Port 80 erreichbar ist, und kann nicht für Wildcard-Zertifikate verwendet werden.
DNS-01-Challenge
Die DNS-01-Challenge validiert den Besitz einer Domain, indem der ACME-Client einen DNS-TXT-Eintrag unter "_acme-challenge.DOMAIN" mit einem bestimmten Wert anlegen muss. Die CA fragt DNS ab, um den Eintrag zu überprüfen. DNS-01 ist der einzige Challenge-Typ, der die Ausstellung von Wildcard-Zertifikaten ("*.example.com") unterstützt, und funktioniert auch dann, wenn sich Webserver hinter Firewalls befinden.
TLS-ALPN-01-Challenge
Die TLS-ALPN-01-Challenge validiert den Besitz einer Domain auf der TLS-Ebene mithilfe eines benutzerdefinierten ALPN-Protokollbezeichners "acme-tls/1". Der ACME-Client stellt vorübergehend ein selbstsigniertes Zertifikat mit dem Challenge-Token in einer speziellen Erweiterung auf Port 443 bereit. Diese Challenge funktioniert ohne laufenden Webserver und unterstützt Umgebungen mit Load-Balancing.
Referenzclient Certbot
Certbot ist der Referenz-ACME-Client der Electronic Frontier Foundation für Let's Encrypt. Er automatisiert den gesamten Zertifikatslebenszyklus: Domainvalidierung, Zertifikatsausstellung und automatische Erneuerung. Certbot enthält Plugins für Apache und nginx, die TLS-Einstellungen automatisch konfigurieren. Installieren Sie Certbot auf modernen Linux-Distributionen mit "snap install --classic certbot".
Alternative ACME-Clients
Neben Certbot gibt es viele ACME-Clients für unterschiedliche Anwendungsfälle. acme.sh ist ein reines Shell-Skript und wird häufig in ressourcenarmen Umgebungen eingesetzt. Der Webserver Caddy verfügt über integriertes ACME und erneuert Zertifikate automatisch. Traefik, das in Containerumgebungen eingesetzt wird, übernimmt ACME mithilfe seiner certificatesResolvers-Konfiguration für containerisierte Workloads.
Automatisierung der Zertifikatserneuerung
Let's-Encrypt-Zertifikate haben absichtlich eine Gültigkeitsdauer von 90 Tagen. Das fördert die Automatisierung und verkleinert den Zeitraum, in dem kompromittierte private Schlüssel ausgenutzt werden können. Certbot installiert einen systemd-Timer oder einen Cronjob, der zweimal täglich "certbot renew" ausführt und jedes Zertifikat erneuert, dessen Ablauf innerhalb der nächsten 30 Tage liegt. Eine manuelle Erneuerung ist ein Anti-Pattern, das zu Ausfällen führt.
Ratenbegrenzungen von Let's Encrypt
Let's Encrypt setzt Ratenbegrenzungen durch, um Missbrauch zu verhindern. Die wichtigsten Limits sind 50 Zertifikate pro registrierter Domain und Woche sowie 5 identische Zertifikate pro Woche. Auch fehlgeschlagene Validierungsversuche werden begrenzt: 5 pro Hostname und Stunde. Während der Entwicklung bietet die Staging-Umgebung von Let's Encrypt eine unbegrenzte Zertifikatsausstellung über eine Test-CA, der öffentlich nicht vertraut wird.
Multi-Domain- und Wildcard-Zertifikate
Ein einzelnes ACME-Zertifikat kann mehrere Domains abdecken (Subject Alternative Names). Mit "certbot --domains example.com,www.example.com,api.example.com" wird ein Zertifikat mit drei SANs ausgestellt. Wildcard-Zertifikate ("*.example.com") erfordern eine DNS-01-Validierung und decken alle Subdomains der ersten Ebene ab. Wildcards decken die Apex-Domain (example.com) selbst nicht ab, weshalb ein zusätzliches SAN erforderlich ist.
ACME für interne PKI
Das ACME-Protokoll ist nicht auf Let's Encrypt beschränkt. Interne CAs wie Step-CA (smallstep), EJBCA und HashiCorp Vault können ACME-Endpunkte für die interne Zertifikatsautomatisierung bereitstellen. Dadurch lässt sich dasselbe automatisierte Zertifikatslebenszyklusmanagement, das für öffentlich erreichbare Dienste verwendet wird, auch auf interne mTLS-Infrastrukturen und private Dienste anwenden.
ACME-Challenges: Wissenscheck
Welcher ACME-Challenge-Typ ist erforderlich, um ein Wildcard-Zertifikat wie "*.example.com" auszustellen?
Lektionszusammenfassung: Let's Encrypt und ACME
Let's Encrypt stellt über das ACME-Protokoll (RFC 8555) kostenlose Zertifikate bereit. HTTP-01-Challenges funktionieren für Nicht-Wildcard-Zertifikate auf Port 80. DNS-01 ermöglicht Wildcard-Zertifikate, indem die Kontrolle über die DNS-Zone nachgewiesen wird. TLS-ALPN-01 funktioniert ohne Webserver. Certbot und acme.sh automatisieren den gesamten Lebenszyklus. Zertifikate mit einer Gültigkeit von 90 Tagen erfordern Automatisierung. Aufgrund der Ratenbegrenzungen muss während des Testens die Staging-Umgebung verwendet werden.
Lerne Cryptology Academy mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 67
- Lektionen
- 261
Häufig gestellte Fragen
Ist die Lektion „Let's Encrypt und ACME-Protokollautomatisierung“ kostenlos?
Ja — der vollständige Text von „Let's Encrypt und ACME-Protokollautomatisierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Let's Encrypt und ACME-Protokollautomatisierung“?
Automatisieren Sie die Ausstellung und Erneuerung von Zertifikaten mithilfe des ACME-Protokolls mit Certbot und anderen Clients. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cryptology Academy zu starten?
Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Let's Encrypt und ACME-Protokollautomatisierung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen der OpenSSL-Kommandozeile
- Zertifikatsketten erstellen und verwalten
- OCSP-Stapling und Certificate Transparency
- Let's Encrypt und ACME-Protokollautomatisierung