ACME zur Automatisierung von Zertifikaten verwenden: Eine Schritt-für-Schritt-Anleitung
Sie suchen nach einer einfachen Antwort auf die Frage: "Was ist ACME?"
We can help with that! The Automated Certificate Management Environment (ACME) is a protocol defined by the IETF RFC 8555 that automates the issuance, renewal, and revocation of certificates by streamlining interactions between your web server and Certificate Authorities (CAs).
Ursprünglich wurde es für Let's Encrypt entwickelt; ACME wird jedoch inzwischen von verschiedenen Zertifizierungsstellen, PKI-Anbietern (Public Key Infrastructure) und Browsern unterstützt.
This article will walk you through using ACME for efficient certificate automation, keeping your systems secure, compliant, and up-to-date with minimal manual effort. Let’s dive in!
Automatisieren von Zertifikaten mit der automatisierten Zertifikatsverwaltungsumgebung
Zertifikatsbedingte Ausfälle und Missmanagement können den Betrieb stören, den Ruf schädigen und Sicherheitsrisiken schaffen. Durch Automatisierung kann sich Ihr Unternehmen auf Wachstum und Innovation konzentrieren und gleichzeitig geschützt bleiben, was letztlich das Vertrauen der Kunden stärkt und einen reibungslosen, sicheren Betrieb gewährleistet.
Hier sind die wichtigsten Schritte zur Automatisierung von Zertifikaten mit ACME:
Schritt 1: Wählen und konfigurieren Sie Ihren ACME-Client
Ihr ACME-Client verwaltet den gesamten Lebenszyklus Ihrer Zertifikate, von der Erstellung bis zur Sperrung und Erneuerung.
Achten Sie bei der Auswahl eines ACME-Clients darauf, dass er mit Ihrer Serverumgebung kompatibel ist und keine Sicherheitslücken aufweist, die ausgenutzt werden könnten. Außerdem sollten Sie einen Client wählen, der die für die Einrichtung Ihrer Domain erforderlichen Zertifikatstypen unterstützt. Idealerweise sollten Sie sich für einen Client entscheiden, der mehrere Zertifikatsanforderungstypen unterstützt, wie HTTP-01 oder DNS-01.
Darüber hinaus können Sie einen ACME-Client auf der Grundlage seiner Programmiersprache (Bash, Python usw.) oder der Umgebung, in der er läuft (Docker, Kubernetes usw.), auswählen.
Sobald Sie den Client ausgewählt haben, weisen Sie ihm die spezifischen Domänen zu, die er verwalten soll.
Schritt 2: Wählen Sie eine Zertifizierungsstelle
Die Aufgabe der Zertifizierungsstelle besteht darin, zu überprüfen, ob Ihr Kunde die Kontrolle über die Domäne hat, für die Sie ein Zertifikat beantragen. Berücksichtigen Sie bei der Auswahl einer Zertifizierungsstelle (CA) die von ihr angebotenen Zertifikatstypen, ihre Preise und den angebotenen Support. Vergewissern Sie sich, dass die CA mit dem ACME-Client kompatibel ist, den Sie zuvor ausgewählt haben. Open-source CAs wie Let's Encrypt sind weitgehend kompatibel, aber einige kommerzielle CAs haben möglicherweise andere Integrationsanforderungen.
Bevor Sie fortfahren, sollten Sie einen Verbindungstest durchführen, um sicherzustellen, dass Ihr Client erfolgreich mit der Zertifizierungsstelle kommunizieren kann. Dieser Test kann so einfach sein wie ein command oder ein API-Aufruf, der den Prozess der Zertifikatsanforderung einleitet.
Schritt 3: Schlüssel-Autorisierungspaar generieren
Register your client with the ACME server. From there, generate a private key and a certificate signing request (CSR). Generate another key in the CSR to submit to the ACME server and CA.
ACME kann eine externe Kontobindung erfordern. Dies ist eine zusätzliche Authentifizierungs- und Sicherheitsebene, die einschränkt, wer Zertifikate anfordern kann. In diesem Fall stellt die CA einen eindeutigen Kontobindungsschlüssel aus, wenn Sie Ihr Konto auf der CA-Plattform erstellen. Der ACME-Client signiert den Bindungsschlüssel, wenn er sich bei der CA registriert, und sendet die Bindung dann an den ACME-Server der CA. Nach der Verifizierung sind Sie startklar.
Schritt 4: CSR generieren und an CA senden
Als nächstes sendet Ihr ACME-Client eine CSR an die CA, um Ihr digitales Zertifikat offiziell anzufordern. Die CA stellt dann Domänenkontrollanfragen aus, um Ihren Besitz zu überprüfen. In der Regel erhalten Sie entweder eine DNS oder eine HTTP-Herausforderung. Bei DNS gibt die CA ein Token an, das Ihr ACME-Client als DNS TXT-Eintrag hinzufügen muss, den die CA dann abfragt, um die Inhaberschaft zu bestätigen. Bei HTTP erstellt Ihr Client eine Datei mit dem Token unter einer bestimmten URL auf Ihrem Server. Die Zertifizierungsstelle greift auf diese URL zu, um das Token abzurufen, und sobald es verifiziert ist, wird Ihre Domäne bestätigt.
Schritt 5: Ausstellen des Zertifikats
After verifying the signature, the CA proceeds to issue an X.509 digital certificate, which is encoded in base 64. The X.509 certificate usually includes:
- Der öffentliche Schlüssel des Kunden (aus der CSR)
- Identifizierende Informationen über die Domäne
- Die Signatur der Zertifizierungsstelle, die den öffentlichen Schlüssel mit der Domain-Identität verbindet und es jedem, der dem Stammzertifikat der Zertifizierungsstelle vertraut, ermöglicht, zu überprüfen, ob das Zertifikat authentisch ist und nicht verfälscht wurde
- den Gültigkeitszeitraum, einschließlich des Anfangs- und des Ablaufdatums
- Gewünschter alternativer Name des Betreffs
Schritt 6: Installieren Sie das Zertifikat
The agent installs the certificate by placing it in the designated directory on the server’s filesystem, typically in a secure location such as /etc/ssl/certs/ or /etc/letsencrypt/live/<domain>/ for Let’s Encrypt certificates.
Anschließend müssen Sie die richtigen Dateiberechtigungen für die Zertifikats- und die private Schlüsseldatei einrichten, um unbefugten Zugriff zu verhindern.
Schritt 7: Zertifikatserneuerung automatisieren
Sie sollten Ihren ACME-Client so konfigurieren, dass er Zertifikatserneuerungen vor Ablauf automatisch vornimmt. Denken Sie daran, einen automatischen Auftrag einzurichten, wenn Ihr ACME-Client das Zertifikat nicht automatisch erneuert.
If you’re using Keyfactor Command, it can issue public trust certificates for you using ACME. Or if your use case is for private trust, EJBCA is an excellent CA to issue private certificates using the ACME protocol.
So erneuern Sie alle Ihre Zertifikate manuell:
REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt certbot renew
You can specify a particular certificate for renewal by adding the parameter –cert-name <domain-identifer> to the above command. If the certificates are not yet due for renewal, you can force a renewal by adding the –force-renewal.
Hinweis: Die Standardschwelle für die Erneuerung in Certbot liegt bei 30 Tagen vor dem Ablauf der Gültigkeit.
Ihre nächsten Schritte: Ein Blick auf Keyfactor + ACME
Keyfactor bietet zwei leistungsstarke ACME-Lösungen: Keyfactor EJBCA und Keyfactor Command .
Keyfactor EJBCA is a flexible and scalable PKI platform that streamlines the issuance and management of digital certificates for devices, users, and workloads. It is a multi-protocol PKI platform and can act as a server to issue certificates using ACME, SCEP, and REST APIs. It also functions as a CA allowing organizations to replace outdated and insecure CA systems with a modern, easy-to-deploy PKI solution, whether in the cloud, on-premise, or as a service.
Keyfactor Command provides real-time visibility into certificates across private, public, and cloud-based CAs. It enables organizations to tag and organize certificates with metadata, set proactive alerts, and simplify certificate management with automated renewal processes. Keyfactor Command also simplifies audits with detailed logs of certificate changes and offers role-based access controls for secure administration.
Curious to know more? You can request a demo to brainstorm with our team and discover which solution best fits your organization’s needs.
Die Quelle abonnieren
Stay secure with Keyfactor's monthly newsletter, packed with expert insights and practical steps for quantum-readiness.
Lesen Sie weiter
Digitales Vertrauen: Schützen Sie Ihr Unternehmen mit Certificate Lifecycle Automation
Mehr lesen
Keyfactor Trends und Prognosen
Mehr lesen