In meinem vorigen Artikel "So erstellen Sie ein Let’s Encrypt Wildcard Zertifikat" habe ich es versprochen und hier kommt sie, die Anleitung wie man Let's Encrypt Wildcard Zertifikate automatisiert erneuern kann.
Inhaltsverzeichnis
Das Kommando für den Renew unseres Wildcardzertifikats
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges=dns --agree-tos --manual-public-ip-logging-ok --manual-auth-hook /usr/local/bin/dns-srv-update-hook.sh -d *.srv.sixhop.net
Die Parameter des Kommandos im Detail
- server: Gibt den acme challenge Server an, der auch Wildcardzertifikate ausstellen kann.
- manual: Wird benötigt, um die nötigen Angaben für die Aktualisierung des Wildcardzertifikats benötigt.
- preferred-challenge: Gibt an, dass wir die Domain über DNS-01 authentifizieren möchten.
- agree-tos: Nimmt automatisiert die Let's Encrypt Terms of Service an.
- manual-public-ip-logging-ok: Stimmt dem Logging für die IP zu von der aus das Zertifikat beantragt wurde.
- manual-auth-hook: Ein Script, das dafür sorgt, dass der acme challenge Server den richtigen Token von unserem Nameserver abfragen kann. Das Skript finden Sie weiter unten hier im Artikel.
- d: Gibt die Domain an für die wir das Wildcardzertifikat beantragen wollen.
DNS über nsupdate aktualisieren
#!/bin/bash DOMAIN=$CERTBOT_DOMAIN VALIDATION=$CERTBOT_VALIDATION NSUPDATE_FILE=mktemp /tmp/nsupdate.XXXXXX NSUPDATE_KEY="/root/Ksrv.sixhop.net.+157+04720.private" NAMESERVER="ns.sixhop.net" # remove the asterisk at the beginning of the wildcard domain BASE_DOMAIN=echo $DOMAIN | sed -r 's/^\*\.//' # prepare nsupdate script cat << EOF > $NSUPDATE_FILE server $NAMESERVER update delete _acme-challenge.$BASE_DOMAIN txt update add _acme-challenge.$BASE_DOMAIN 86400 txt $VALIDATION send quit EOF # execute nsupdate script via tcp nsupdate -k $NSUPDATE_KEY -v $NSUPDATE_FILE sleep 3
Das Skript nutzt nsupdate und den Key unserer Subdomain, um den Token für die acme challenge in die entsprechende Zone unseres Nameservers einzupflegen.
Wir selbst haben keinen Artikel, der erklärt wie man einen dynamischen DNS mit nsupdate aufsetzt, aber dafür sollte es Anleitungen im Netz geben. Falls Sie bis hierher gekommen sind und jetzt an diesem Schritt nicht weiterkommen dürfen Sie uns gerne eine E-Mail mit Ihrer Frage schicken. Wir können sowas selbstverständlich!
Holen Sie sich einen starken Partner an Ihre Seite: ziehen Sie jetzt mit Ihrer Homepage zu sixhop.net um!
Machen Sie unsere Expertise zu Ihrem Vorteil!
Der Wechsel zu uns ist super einfach, denn wir betreuen Sie persönlich beim Umzug Ihrer Webseite, Ihrer Datenbanken und E-Mail Konten.
Fazit
Ich bin erstaunt wie einfach es am Ende doch ist ein Wildcard Zertifikat über Let's Encrypt zu bekommen. Die Magie steckt im manual-auth-hook Script. Das kann natürlich auch für andere Möglichkeiten des Nameserver-Updates angepasst werden, z.B. über eine HTTP Schnittstellen über die man dann per curl die neuen Informationen in den DNS-Server reicht.
Ganz im Sinne des Slogans von Let's Encrypt "Encrypt the entire web" bieten wir jetzt auch in allen Webhosting Tarifen SSL Zertifikate, natürlich von Let's Encrypt, inklusive mit an.
War der Artikel hilfreich?
Wenn Ihnen der Artikel geholfen hat, freuen wir uns über ein Danke in den Kommentaren.
Wenn der Artikel nicht weiterhelfen konnte, würden wir gerne per Kommentar oder E-Mail erfahren, wo es Probleme gibt und was in diesem Artikel noch fehlt, um auch für Sie die richtige Lösung zu bieten.
Hallo zusammen,
wie würde den ein automatischer renew für eine bei 1und1 gehostete Domäne ablaufen?
Wird immer ein Script benötigt um automatisiert die TXT Einträge anzupassen?
Gruß,
Heggeg
Hallo,
irgendwie muss Let’s Encrypt ja sicherstellen können, dass Ihnen die vollständige Domain gehört. Das funktioniert nicht, wenn adresse-im-netz.de oder http://www.adresse-im-netz.de auf einen Webserver zeigt, d.h. für ein Wildcardzertifikat würde ich keine HTTP-01 Challenge annehmen. Deshalb wird das über die DNS-01 Challenge gemacht, denn wenn sie DNS-Einträge für die entsprechende Domain anpassen können, dann ist die Wahrscheinlichkeit, dass Ihnen die Domain auch gehört deutlich größer.
Das Script so wie wir es nutzen triggert ein nsupdate. Es ist aber auch durchaus möglich mit Hilfe von curl eine URL zu triggern, die dann den entsprechenden DNS Eintrag hinter einem DynDNS Service zu erstellen. Unser DynDNS Service funktioniert zumindest mit einer einfachen Fritz!Box. Das müsste ich nochmal nachschauen ob wir auch TXT records per URL setzen könnten.
Das bedeutet für Sie, dass Sie irgendeine Möglichkeit benötigen, um zeitnah DNS TXT Records für Ihre Domain mit Hilfe eines Scripts, setzen können.
Support für andere Hoster können wir nicht leisten.
Viele Grüße
Andreas Nitsche