Automatisieren mit ACME können Sie auch auf Windows!

24.02.2022 | Jindřich Zechmeister

ACME ist ein modernes Tool für Automatisierung, welches vor allem auf den Linux Servern ausgenutzt wird, wohingegen es auf Windows nur wenig verbreitet ist. Würden Sie die Zertifikate auf Ihrem Windows Server gerne automatisieren, aber Sie wissen nicht, wie? Wir zeigen Ihnen, wie einfach Sie ACME auf dem Windows Server nutzen können – samt der Zertifikatseinstellung und der automatischen Verlängerung.

Wozu ACME dient

Wozu das ACME-Protokoll dient und welchen entscheidenden Vorteil bietet es? Auf Wikipedia heißt es, dass es der vereinfachten Ausstellung von digitalen Zertifikaten für TLS-Verschlüsselung dient. Ziel der Umgebung ist es, die Zertifikate automatisiert und sehr kostengünstig auszustellen.

Mit ACME können Sie also ein TLS-Zertifikat bei einer vertrauenswürdigen CA einfach beantragen und auch erwerben. Alles erledigt ein ACME-Bot, welcher das neue Zertifikat auf den Webserver meistens auch einsetzen (installieren) kann. In der Umgebung der Linux-Server ist die Nutzung von ACME sehr verbreitet, in der Umgebung von Windows ist jedoch vielen Administratoren ein solcher ACME-Bot, welcher das Zertifikat auch installieren könnte, noch immer nicht bekannt.

Voraussetzungen für ein ACME-Zertifikat

Um das Zertifikat über das ACME-Protokoll automatisch erwerben und installieren zu können, müssen Sie zuerst ein paar Voraussetzungen erfüllen.

Nach der Beantragung des Zertifikats über das ACME-Protokoll wird das Zertifikat automatisch ausgestellt und deshalb muss der Antragsteller noch vor der Beantragung des Zertifikats verifiziert werden. Dazu kommen auch die im Voraus verifizierten Domains.

Sie brauchen uns nur Bescheid zu geben, dass Sie an ACME interessiert sind. Unser Kundensupport wird bei DigiCert die Verifizierung Ihres Unternehmens veranlassen - samt den Domains, die Sie absichern möchten. Der letzte Schritt besteht in der Generierung der Zugänge zu ACME, die für jedes Produkt unikal sind. Falls Sie zum Beispiel ein Thawte OV und ein Thawte EV Zertifikat ausstellen werden möchten, werden Sie für jedes von ihnen einen unikalen ACME-Schlüssel erhalten, mit welchem Sie in dem Client exakt definieren werden, welches Zertifikat für die gegebene Domain ausgestellt werden soll.

Mit der Kundenbetreuung von SSLmarket werden Sie dann die Zahlungsart abmachen – die einfachste ist eine Kreditzahlung. Für eine bestimmte Anzahl von Zertifikaten ist auch eine einmalige Rechnung möglich.

Auswahl des richtigen Clients und seine Einstellung

Von ACME-Clients gibt es eine Unmenge und am häufigsten wird Certbot eingesetzt. Die Mehrheit der erreichbaren Clients ist jedoch für die Linux-Server oder ähnliche Plattformen bestimmt, die meistens mit GUI nicht ausgestattet sind. Deshalb werden die ACME-Clients typischerweise über command line interface (CLI) gesteuert, was auch der Fall von Certbot ist.

Und wenn wir schon wir auf einen für Windows und den Windows Server bestimmten Client stoßen, dann kann er den Prozess der Zertifikatserwerbung und Installierung meistens nicht zu Ende führen. Das brennendste Problem bei den ACME-Clients für Windows ist es jedoch, dass sie das neue Zertifikat in ISS nicht einsetzen (binden) können. Einige Clients bieten auch die grafische Benutzeroberfläche (GUI) an, aber es ist nicht klar, ob sie 100% richtig funktionieren werden und vor allem ob sie mit der ACME-Implementierung von DigiCert zusammenarbeiten werden können.

Deshalb haben wir uns entschieden, eine konkrete, 100% funktionsfähige Lösung zu finden, einen Client, welcher das Zertifikat von DigiCert sowohl erwerben, als auch installieren werden kann. Unsere Suche hat den Client win-acme ergeben, welchen Sie aus dem offiziellen Web herunterladen können.

Wie win-acme einzustellen ist?

Wie wir schon oben erklärt haben, benötigt der Client für die Authentifizierung gegenüber DigiCert einen ACME-Schlüssel, den wir Ihnen liefern und Sie stellen ihn in win-acme ein.

Laden Sie den Client aus dem offiziellen Web herunter und entpacken Sie ihn. Das Programm führen Sie vorerst aber nicht aus und zuerst öffnen Sie die Konfigurationsdatei setting.json. In dieser Textdatei können Sie in dem Abschnitt „Acme“ drei ACME-URL sehen, alle ändern Sie auf "https://acme.digicert.com/v2/acme/directory/". Sonst wird das Programm nicht wissen, dass es mit dem ACME-Protokoll von DigiCert kommunizieren soll.

Erst jetzt können Sie die Datei wacs.exe öffnen. Sie werden eine Warnung des Smartscreen Filters sehen, denn die Anwendung ist überraschungsweise digital nicht signiert. Diese Versündigung müssen Sie umgehen – klicken Sie "Weitere Informationen" und dann "Trotzdem ausführen" an.

ausgeführte App win-acme
ausgeführte App win-acme

Nachdem Sie die App ausführen, stellen Sie zuerst die ACME-credentials ein, das Zertifikat stellen Sie also vorerst nicht aus. Zuerst wählen Sie die Option O (More options) aus und dann A (Acme details). Das Programm wird Sie zur Eingabe "Key Identifier" und "Key" im Format Base 64 auffordern – beide Angaben erhalten Sie von uns als "KID" und "HMAC key" benannt. Zuerst geben Sie die kürzere und dann die längere Angabe ein und danach kehren Sie ins Hauptmenü zurück.

Erst jetzt können Sie zu der Zertifikatsausstellung fortschreiten. Aus dem Hauptmenü wählen Sie die Option N aus und weiter lassen Sie sich von dem Assistenten durchführen. Dieser wird beim Erwerb des neuen Zertifikats Angaben über Sites in IIS auslesen und Ihnen diese zur Auswahl anbieten. Sie bestimmen nur, welche Domain Sie als CN des Zertifikats nutzen möchten.

Der Assistent wird Sie nach der Website fragen, die er scannen soll, und dann wird er aus IIS den Hostname erwerben. Die Dialoge werden mit der Antwort y(es) oder n(o) bestätigt und die Defaultoption wird immer farbig gekennzeichnet. In dem nächsten Dialog wird Ihnen der win-acme Bot Sitebindungen anzeigen, die er bei dem gegebenen Hostname gefunden hat. Es handelt sich also um eine Liste von Domains und zu ihnen gebundenen Zertifikaten. Sie können wieder die richtige Option auswählen, oder die Defaultoption bestätigen (typischerweise falls Sie in IIS nur ein Web haben).

Nachfolgend wird sich win-acme mit DigiCert über das ACME-Protokoll verbinden und das neue TLS-Zertifikat erwerben. Welches Zertifikat es sein wird und für wen es ausgestellt wird werden die ACME-Schlüssel bestimmen, die Sie von uns erhalten haben.

Nach der Ausstellung des Zertifikats, die typischerweise nur ein paar Sekunden dauert, wird sich das neue Zertifikat zu der bereits ausgewählten Domain in IIS einstellen. Sie brauchen das Zertifikat also nicht mühsam zu importieren und die Sitebindungen anzupassen. Auf dem Screenshot unten sehen Sie eine Bestätigung darüber, dass das Zertifikat erfolgreich ausgestellt und zu der ausgewählten Domain zugeordnet worden ist. In diesem Moment ist alles aktiviert und fertig.

Bestätigung der erfoglreichen Ausstellung und Einbindung des Zertifikats
Bestätigung der erfoglreichen Ausstellung und Einbindung des Zertifikats

Um die Verlängerung des Zertifikats brauchen Sie sich keine Sorgen zu machen. Der win-acme Client wird auf dem gegebenen Gerät (Station) ein Ereignis erstellen, welches jeden Tag wiederholt wird. Das Ereignis wird sich also jeden Tag auslösen und die eventuell ablaufenden Zertifikate verlängern.

Fazit

Das ACME-Protokoll ist ein mächtiger Helfer, welcher Ihnen die Automatisierung des Lebenszyklus der Zertifikate ermöglichen wird. Zögern Sie mit seiner Einsetzung nicht. Er wird Ihnen jedes Jahr hunderte Stunden ersparen, die Sie früher für die manuelle Verwaltung der TLS-Zertifikate aufwenden mussten. Um den ACME-Schlüssel zu erwerben, kontaktieren Sie unseren Kundensupport.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
Certifikovaný Symantec Sales Expert Plus 
e-mail: jindrich.zechmeister(at)zoner.cz