ACME-DNS

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen

Für die Zertifikatsverwaltung über ACME.sh in einem Kontext ohne öffentlich erreichbaren Webserver kann DNS verwendet werden.


Achtung

Dieses Script ist von einem Kunden bereitgestellt worden. Es basiert darauf, unser Webinterface über ein Script zu bedienen. Es kann durch Änderungen am Webinterface jederzeit zu Funktionsstörungen kommen, wir übernehmen dafür keine Gewähr.


DNS-Admin anlegen

Da die Zugangsdaten in der Konfiguration von acme.sh hinterlegt bleiben, sollte der verwendete Zugang möglichst wenig Rechte haben.

Im Webinterface unter "Benutzer" -> "Zusätzliche Admins" können Sie einen neuen Benutzer anlegen. Gewähren Sie diesem nur die Rechte "An- und Abmeldung an diesem Webinterface" und "DNS-Records verwalten".

acme.sh instalieren

Installieren Sie acme.sh als root über

curl https://get.acme.sh | sh -s email=meine@email.de
acme.sh --set-default-ca --server letsencrypt


Plugin installieren

Laden Sie das Script dns_schokokeks.sh (nur diese eine Datei) herunter und legen Sie dieses in .acme.sh/dnsapi ab.

Zertifikat beantragen

Nur beim ersten Aufruf müssen die Zugangsdaten als Umgebungsvariable gesetzt werden, acme.sh merkt sich die Umgebung für die späteren Erneuerungen.

Beim Aufruf müssen die Umgebungsvariablen SCHOKOKEKS_USERNAME und SCHOKOKEKS_PASSWORD passend gesetzt werden. Optional wird auch SCHOKOKEKS_TTL ausgewertet um eine eigene TTL festzulegen.

Da die schokokeks.org-DNS-Server nicht live aktualisiert werden, kann es bis zu einer Minute dauern, bis die Änderungen abrufbar sind. Zur Sicherheit sollte daher acme.sh 70 Sekunden warten nach dem Setzen des Records.

Der Aufruf könnte dann etwa so aussehen:

SCHOKOKEKS_USERNAME="testuser_dns"
SCHOKOKEKS_PASSWORD="k3kskrümel123"
acme.sh --issue -d example.com --dns dns_schokokeks --dnssleep 70