Dies ist eine alte Version des Dokuments!
ACME für Sectigo Zertifikate
Sinnvollerweise sollte die Nutzung von Zertifikaten für den Serverbetrieb automatisiert werden. Das RZ empfiehlt dies für alle Systeme, die länger als nur temporär betrieben werden. Hierzu kommt das “Automated Certificate Management Environment (ACME)” zum Einsatz.
Vorgehen:
Es wird ein Admin definiert, der für eine oder mehrere Subdomain(s), z.B. physik.uni-freiburg.de zuständig ist. Dieser wendet sich an unsere PKI Stelle (pki@rz.uni-freiburg.de) und lässt sich einen ACME-Account einrichten.
Der zu benennende Admin sollte auf jeden Fall einen regulären Mitarbeiter*in Status der Universität Freiburg besitzen und optimalerweise dem Rechenzentrum bekannt sein (in der Vergangenheit wurden von der Person bereits über das DFN Serverzertifikate beantragt).
Unter Umständen muss die Host-Domäne noch im Sectigo-Portal unter “Domain” der Domäne “uni-freiburg.de” hinzugefügt werden. Dies ist zum Beispiel dann der Fall, wenn der ACME-Account weiter eingeschränkt werden soll, bspw. auf: “omero.uni-freiburg.de”. Sodass dieser Account keine Zertfikate für “uni-freiburg.de” erstellen kann. Es gibt eine ganze Reihe von Tools, die mit dem ACME-Server kommunizieren können und dabei für viele Standarddienste bereits Module enthalten, um diese zu konfigurieren (z.B. Apache, Nginx, …) Eine Übersicht über diverse ACME Clients findet sich unter http://acmeclients.com. Ein guter Einstiegspunkt hierfür ist zudem https://certbot.eff.org oder auch https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-20-04 Der Client ist für viele Betriebssysteme verfügbar, zudem können auf der Website Konfigurationsdateien erstellt werden.
Für Windows-Systeme kann dieser ACME Client jedoch für Apache / Nginx Server die Zertifikate nur beziehen, diese jedoch nicht automatisiert installieren. Ein ACME-Client mit GUI für Windows findet sich hier: https://www.win-acme.com - eine Anleitung für diesen Client wird momentan erstellt.
Diese Tools können einerseits direkt auf dem Server laufen, der mit dem Zertifikat arbeitet. Zudem können sie für eine ganze Serverlandschaft mit unterschiedlichen Administratoren auf einer dedizierten Maschine installiert werden, um die Zertifikate auf diese Weise dann automatisch zu verteilen.
Auf dem System wird dann das jeweilige ACME-Tool konfiguriert, wofür die folgenden Informationen benötigt werden (Username, Passwort, ACME-Server)
Beispiel für certbot (Linux):
/etc/letsencrypt/cli.ini
max-log-backups = 0
email = <userid>@rz.uni-freiburg.de
agree-tos = true
https://acme.sectigo.com/v2/GEANTOV
eab-kid = <eab-kid>
eab-hmac-key = <hmac>
/etc/systemd/system/certbot-renewal.timer
[Unit]
Description=Timer for Certbot Renewal
[Timer]
OnBootSec=300
OnUnitActiveSec=1d
[Install]
WantedBy=multi-user.target
/etc/systemd/system/certbot-renewal.service
[Unit]
Description=Certbot Renewal
[Service]
ExecStart=/usr/bin/certbot renew –post-hook „systemctl restart nginx“