Přeskočit na obsah
  1. Hauptseite
  2. Infozentrum
  3. Weitere Artikel und Anleitungen
  4. TLS-Zertifikate über das ACME Protokoll auf Linux erwerben

TLS-Zertifikate über das ACME Protokoll auf Linux erwerben

Möchten Sie, dass Ihre Zertifikate automatisch ausgestellt und nachfolgend auf Ihren Linux-Server auch automatisch installiert werden? Dies ermöglicht Ihnen das automatisierte Tool für die Anschaffung und Verwaltung der Zertifikate Certbot. Unsere Anleitung zeigt Ihnen den ganzen Vorgang. Sie ist zwar für den Webserver Apache bestimmt, aber Certbot kann auch für Nginx, Haproxy oder Plesk angewendet werden. Es handelt sich um eine offene und somit frei zugängliche Software.

Vor dem Zertifikatserwerb

Die Nutzung von ACME ist sehr einfach, erfordert jedoch eine kleine Vorbereitung. Bevor Sie es zu nutzen beginnen, lesen Sie die folgenden Abschnitte.

Zugangsdaten für die Authentifizierung erhalten

Die ACME-Implementierung von DigiCert nutzt die Authentifizierung über External Account Binding (EAB), was bedeutet, dass Sie eigene Zugangsdaten von DigiCert erhalten. Diese Zugangsdaten (ACME credentials) erhalten Sie einfach in Ihrem SSLmarket-Kundenkonto.

Die ACME credentials bestehen aus dem Key Identifier (Schlüssel-ID) und dem HMAC key, welcher Ihr Geheimnis für die Authentifizierung gegenüber dem bestehenden Konto darstellt. Diese Angaben und die URL des ACME-Endpoints benötigen Sie für den ACME-Client (Certbot).

Achtung: Für jede Kombination aus Zertifikat, dessen Gültigkeit und Organisation entsteht ein einzigartiges Set aus KID und HMAC-Schlüssel. Es liegt an Ihnen, diese sicher zu speichern.

Hinweis: Für ACME verwenden wir einen speziellen Workflow, um die Zertifikate jedes Kunden separat zu trennen. Der Vorteil ist eine höhere Sicherheit und Übersichtlichkeit (die ACME-Zertifikate sehen Sie in Ihrem Kundenkonto), der Nachteil ist die Notwendigkeit, Organisationen für die OV- und EV-Validierung neu zu erstellen und zu verifizieren.

Zusammenfassung der Zertifikatsvalidierung

Alle Zertifikate, die DigiCert ausstellt, sind validiert. Einige minimal (DV-Zertifikate), andere erfordern eine Organisationsvalidierung (OV und EV). ACME bildet keine Ausnahme und diese Validierung wird ebenfalls verwendet.

  • Domain-DV-Zertifikate erhalten Sie sofort; es reicht, ACME credentials für das DV-Produkt zu erstellen und diese zu verwenden. Die DCV-Validierung erfolgt über die HTTP-01-Methode, und das Zertifikat wird umgehend ausgestellt.
  • OV- und EV-Zertifikate erfordern eine validierte Organisation sowie die Validierung der verwendeten Domain, die zur Organisation gehört. Ist die Validierung nicht abgeschlossen, kann auch die ACME-Anfrage nicht abgeschlossen werden.
    • Domains können automatisch über HTTP-01 validiert werden oder im Voraus über DNS bzw. E-Mail (in diesem Fall kontaktieren Sie uns). Die DCV läuft genauso ab, wie Sie es gewohnt sind.
    • Die Organisation muss vor der Zertifikatsanfrage validiert sein, sonst wartet die Anfrage auf deren Abschluss (was in einem Timeout endet). Wir empfehlen, nach dem Aktivieren des ACME-Kontos die Validierung Ihrer Organisation durch DigiCert abzuwarten und den Status mit dem SSLmarket-Support abzustimmen.

Für OV und EV können Sie ACME nutzen, sobald die Organisation validiert ist (die Validierung von Domains und Firmen ist 13 Monate gültig).

Certbot

Certbot ist der beliebteste ACME-Client, der die wichtigsten Linux-Webserver unterstützt.

Certbot auf dem Server vorbereiten

Installieren Sie Certbot auf Ihren Server. Wir empfehlen Ihnen, die Module nach dem Typ des Webservers zu installieren. Die Module werden Ihnen nachfolgend die Auswahl des Zielwebs für die Einsetzung des Zertifikats sowie die Installierung selbst erleichtern, weil sie direkt mit der Serverkonfiguration zusammenarbeiten können.

Das Certbot-Paket ist üblicherweise in Linux-Distributionen installiert, dieses Standardpaket sollten Sie jedoch entfernen. Für die Nutzung des EAB ACME von DigiCert ist es notwendig, das Paket aus Snap zu verwenden; andere Varianten funktionieren möglicherweise nicht. Installieren Sie es folgendermaßen:

snap install certbot --classic

Notiz: Auf den offiziellen Seiten von Certbot können Sie direkt das Operationssystem Ihres Servers und die ihm bestimmte Anleitung aussuchen, in welcher Sie die Installierung Schritt für Schritt beschrieben finden.

Erwerb des Zertifikats und seine Installierung

Im Internet sowie in der Certbot-Dokumentation finden Sie viele Beispiele, wie Sie das Tool nutzen und ein Zertifikat erwerben können. Da jedoch das ACME von DigiCert im bereits erwähnten EAB-Modus funktioniert, muss der Befehl auch um die ACME-URL und Ihre beiden ACME credentials ergänzt werden, die Sie in Ihrer Administration erhalten haben. Andernfalls wird es nicht funktionieren.

Im Terminal beantragen Sie das Zertifikat mit dem Befehl:

sudo certbot --apache --register-unsafely-without-email --server "Ihre ACME Directory URL" -d www.nameihrerdomain.de -d nameihrerdomain.de

Wählbare Parameter des Befehls:

  • Certbot – Löst Certbot aus.
  • --apache – Wählt das Plug-in Apache Certbot aus, welches für Sie das Zertifikat installiert.
  • --register-unsafely-without-email – Ermöglicht die Erstellung des ACME-Kontos zu überspringen.
  • --server – Bestimmt, welcher ACME-Server Ihre Anforderung erfüllen sollte. Definiert also die ACME Directory URL.
  • -d – Der ganze Name der Domain, für welche Sie das Zertifikat ausstellen lassen möchten. Falls Sie diese Möglichkeit nicht ausfüllen, wird Sie Certbot aufgrund der konfigurierten Vhosts auf dem Server fragen, welche Domains Sie in die Anforderung einbeziehen möchten. Die gewünschten Domains werden Sie bestätigen müssen.

Nachdem Sie den Befehl eingeben, werden Sie befragt, ob Sie auf der gegebenen Domain auch die erzwungene Umleitung auf htttps einschalten möchten:

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Führen Sie die Auswahl durch und drücken Sie ENTER. Die von Ihnen ausgewählte Konfiguration wird eingestellt und nach dem Neustart des Webservers eingelesen. Nachfolgend erhalten Sie einen Abschlussbericht darüber, dass der Prozess erfolgreich war und wo Ihre Zertifikate gespeichert sind.

Das Certbot installiert für Sie auch das erforderliche Intermediate Zertifikat. Um die Installierung zu überprüfen, nutzen Sie unseren online Checker für die Kontrolle der Installation.

ACME.sh

Das ACME von DigiCert können Sie einfach auch mit dem Tool ACME.sh nutzen. Dieses ist im Gegensatz zu Certbot "schlanker" und es müssen nicht so viele Abhängigkeiten auf dem Server installiert werden.

Erstellung eines separaten Systembenutzers, unter dem es "läuft":

useradd -r -s /bin/bash -m -d /home/acmeuser acmeuser
mkdir -p /home/acmeuser/.acme.sh
chown -R acmeuser:acmeuser /home/acmeuser/.acme.sh
echo 'acmeuser ALL=(ALL) NOPASSWD: /usr/sbin/service nginx reload' | sudo tee /etc/sudoers.d/acmeuser

anschließend melde ich mich beim Benutzer an: sudo su - acmeuser

Installation von acme.sh

Installieren Sie nun den ACME-Client mit dem aus dem Web heruntergeladenen Paket.

wget https://get.acme.sh -O acme.sh
sh acme.sh

Die Installation führt Folgendes durch:

  • Installation des eigentlichen Skripts
  • Einrichtung eines Cron-Jobs (kann unter dem Benutzer acmeuser mit dem Befehl crontab -e überprüft werden)

Anschließend registriere ich die Zertifizierungsstelle:

acme.sh --register-account --server https://one.digicert.com/mpki/api/v1/acme/v2/directory --eab-kid xxxxxx --eab-hmac-key yyyyyy

Vor der eigentlichen Anforderung der Zertifikatsausstellung muss noch überprüft (und gegebenenfalls eingestellt) werden, dass der Benutzer acmeuser Zugriff auf den Zielordner hat, in dem die Zertifikate für nginx, apache sowie weitere Dienste auf dem Server abgelegt sind. Die Lösung besteht in der Erstellung einer neuen Gruppe ssladmins:

sudo groupadd ssladmins
sudo usermod -aG ssladmins root
sudo usermod -aG ssladmins acmeuser
sudo chown root:ssladmins /etc/nginx/ssl/
sudo chmod 770 /etc/nginx/ssl/

Es gäbe auch eine andere Lösung: mittels visudo dem Benutzer acmeuser die Berechtigung zum Kopieren von Dateien für die betreffenden Ordner ohne Passwort einzuräumen.

Anforderung der Zertifikatsausstellung

acme.sh --issue --server https://one.digicert.com/mpki/api/v1/acme/v2/directory -d dev.inmail.cz --days 365 -w /www/sites/inmail/dev/current/web/ --key-file /etc/nginx/ssl/dev.inmail.cz.key --fullchain-file /etc/nginx/ssl/dev.inmail.cz.cer --force --log --reloadcmd "sudo systemctl reload nginx"

Liste der ausgestellten und installierten Zertifikate:

acme.sh --list

Haben Sie Fragen?

Zögern Sie nicht, unseren Kundensupport zu kontaktieren, der Ihnen berät und hilft.

Rufen Sie uns an

ZONER a.s.

Friedrichstraße 114A
10117 Berlin

Registernummer: 49437381
USt-IdNr.: CZ49437381