Der Countdown läuft für die Keyfactor Tech Days | Sichern Sie sich noch heute Ihren Platz!

ACME zur Automatisierung von Zertifikaten verwenden: Eine Schritt-für-Schritt-Anleitung

Zertifikat-Management

Sie suchen nach einer einfachen Antwort auf die Frage: "Was ist ACME?"

Wir können dabei helfen! Die Automatisierte Zertifikatsverwaltungsumgebung (ACME) ist ein durch den IETF RFC 8555 definiertes Protokoll, das die Ausstellung, Erneuerung und den Widerruf von Zertifikaten automatisiert, indem es die Interaktion zwischen Ihrem Webserver und den Zertifizierungsstellen (CAs) rationalisiert.

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.

Dieser Artikel führt Sie durch die Verwendung von ACME für eine effiziente Automatisierung von Zertifikatenund wie Sie Ihre Systeme mit minimalem manuellem Aufwand sicher, konform und aktuell halten. Tauchen wir ein!

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

Registrieren Sie Ihren Client beim ACME-Server. Generieren Sie von dort aus einen privaten Schlüssel und eine Zertifikatssignierungsanforderung (CSR). Erzeugen Sie in der CSR einen weiteren Schlüssel, den Sie an den ACME-Server und die Zertifizierungsstelle übermitteln.

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 

Nach der Überprüfung der Signatur stellt die CA ein digitales X.509-Zertifikataus, das in Base 64 kodiert ist. Das X.509-Zertifikat enthält in der Regel:

  • 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.  

Wenn Sie mit Keyfactor Commandverwenden, kann sie für Sie öffentliche Vertrauenszertifikate mit ACME ausstellen. Wenn Ihr Anwendungsfall privates Vertrauen ist, ist EJBCA eine ausgezeichnete CA, um private Zertifikate mit dem ACME-Protokoll auszustellen.

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 ist eine flexible und skalierbare PKI-Plattform, die die Ausstellung und Verwaltung von digitalen Zertifikaten für Geräte, Benutzer und Workloads optimiert. Sie ist eine Multiprotokoll-PKI-Plattform und kann als Server fungieren, um Zertifikate über ACME-, SCEP- und REST-APIs auszustellen. Sie fungiert auch als CA und ermöglicht es Unternehmen, veraltete und unsichere CA-Systeme durch eine moderne, einfach zu implementierende PKI-Lösung zu ersetzen, sei es in der Cloud, vor Ort oder als Service.

Keyfactor Command bietet Echtzeiteinblicke in Zertifikate von privaten, öffentlichen und Cloud-basierten CAs. Es ermöglicht Unternehmen, Zertifikate mit Metadaten zu kennzeichnen und zu organisieren, proaktive Warnmeldungen einzustellen und die Zertifikatsverwaltung mit automatisierten Erneuerungsprozessen zu vereinfachen. Keyfactor Command vereinfacht außerdem Audits mit detaillierten Protokollen von Zertifikatsänderungen und bietet rollenbasierte Zugriffskontrollen für eine sichere Verwaltung.

Möchten Sie mehr wissen? Sie können eine Demo anfordern anfordern, um gemeinsam mit unserem Team herauszufinden, welche Lösung am besten zu den Anforderungen Ihres Unternehmens passt.