Let’s Encrypt Wild­card Teil 2: Renew

In mei­nem vori­gen Arti­kel „So erstel­len Sie ein Let’s Encrypt Wild­card Zer­ti­fi­kat“ habe ich es ver­spro­chen und hier kommt sie, die Anlei­tung wie man Let’s Encrypt Wild­card Zer­ti­fi­ka­te auto­ma­ti­siert erneu­ern kann.

4.8/5 – (92 votes) 

Das Kom­man­do für den Renew unse­res 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 Para­me­ter des Kom­man­dos im Detail

  • ser­ver: Gibt den acme chall­enge Ser­ver an, der auch Wild­card­zer­ti­fi­ka­te aus­stel­len kann.
  • manu­al: Wird benö­tigt, um die nöti­gen Anga­ben für die Aktua­li­sie­rung des Wild­card­zer­ti­fi­kats benötigt.
  • pre­fer­red-chall­enge: Gibt an, dass wir die Domain über DNS-01 authen­ti­fi­zie­ren möchten.
  • agree-tos: Nimmt auto­ma­ti­siert die Let’s Encrypt Terms of Service an.
  • manu­al-public-ip-log­ging-ok: Stimmt dem Log­ging für die IP zu von der aus das Zer­ti­fi­kat bean­tragt wurde.
  • manu­al-auth-hook: Ein Script, das dafür sorgt, dass der acme chall­enge Ser­ver den rich­ti­gen Token von unse­rem Name­ser­ver abfra­gen kann. Das Skript fin­den Sie wei­ter unten hier im Artikel.
  • d: Gibt die Domain an für die wir das Wild­card­zer­ti­fi­kat bean­tra­gen wollen.

DNS über nsup­date aktualisieren

#!/bin/bash

DOMAIN=$CERTBOT_DOMAIN
VALIDATION=$CERTBOT_VALIDATION
NSUPDATE_FILE=mktemp /tmp/nsupdate.XXXXXX
NSUPDATE_KEY="https://cdn.sixhop.net/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 nsup­date und den Key unse­rer Sub­do­main, um den Token für die acme chall­enge in die ent­spre­chen­de Zone unse­res Name­ser­vers einzupflegen.

Wir selbst haben kei­nen Arti­kel, der erklärt wie man einen dyna­mi­schen DNS mit nsup­date auf­setzt, aber dafür soll­te es Anlei­tun­gen im Netz geben. Falls Sie bis hier­her gekom­men sind und jetzt an die­sem Schritt nicht wei­ter­kom­men dür­fen Sie uns ger­ne eine E‑Mail mit Ihrer Fra­ge schi­cken. Wir kön­nen sowas selbstverständlich!

Holen Sie sich einen star­ken Part­ner an Ihre Sei­te: zie­hen Sie jetzt mit Ihrer Home­page zu sixhop.net um!

Machen Sie unse­re Exper­ti­se zu Ihrem Vorteil!

Der Wech­sel zu uns ist super ein­fach, denn wir betreu­en Sie per­sön­lich beim Umzug Ihrer Web­seite, Ihrer Daten­ban­ken und E‑Mail Konten.

Fazit

Ich bin erstaunt wie ein­fach es am Ende doch ist ein Wild­card Zer­ti­fi­kat über Let’s Encrypt zu bekom­men. Die Magie steckt im manu­al-auth-hook Script. Das kann natür­lich auch für ande­re Mög­lich­kei­ten des Name­ser­ver-Updates ange­passt wer­den, z.B. über eine HTTP Schnitt­stel­len über die man dann per curl die neu­en Infor­ma­tio­nen in den DNS-Ser­ver reicht.

Ganz im Sin­ne des Slo­gans von Let’s Encrypt „Encrypt the enti­re web“ bie­ten wir jetzt auch in allen Web­hos­ting Tari­fen SSL Zer­ti­fi­ka­te, natür­lich von Let’s Encrypt, inklusive mit an.

War der Arti­kel hilfreich?

Wenn Ihnen der Arti­kel gehol­fen hat, freu­en wir uns über ein Dan­ke in den Kommentaren.

Wenn der Arti­kel nicht wei­ter­hel­fen konn­te, wür­den wir ger­ne per Kom­men­tar oder E‑Mail erfah­ren, wo es Pro­ble­me gibt und was in die­sem Arti­kel noch fehlt, um auch für Sie die rich­ti­ge Lösung zu bieten.

2 Gedanken zu „Let’s Encrypt Wild­card Teil 2: Renew“

  1. Hal­lo zusammen,

    wie wür­de den ein auto­ma­ti­scher renew für eine bei 1und1 gehos­te­te Domä­ne ablaufen?
    Wird immer ein Script benö­tigt um auto­ma­ti­siert die TXT Ein­trä­ge anzupassen? 

    Gruß,
    Heggeg

    Antworten
    • Hal­lo,

      irgend­wie muss Let’s Encrypt ja sicher­stel­len kön­nen, dass Ihnen die voll­stän­di­ge Domain gehört. Das funk­tio­niert nicht, wenn adresse-im-netz.de oder http://www.adresse-im-netz.de auf einen Web­ser­ver zeigt, d.h. für ein Wild­card­zer­ti­fi­kat wür­de ich kei­ne HTTP-01 Chall­enge anneh­men. Des­halb wird das über die DNS-01 Chall­enge gemacht, denn wenn sie DNS-Ein­trä­ge für die ent­spre­chen­de Domain anpas­sen kön­nen, dann ist die Wahr­schein­lich­keit, dass Ihnen die Domain auch gehört deut­lich größer.

      Das Script so wie wir es nut­zen trig­gert ein nsup­date. Es ist aber auch durch­aus mög­lich mit Hil­fe von curl eine URL zu trig­gern, die dann den ent­spre­chen­den DNS Ein­trag hin­ter einem DynDNS Service zu erstel­len. Unser DynDNS Service funk­tio­niert zumin­dest mit einer ein­fa­chen Fritz!Box. Das müss­te ich noch­mal nach­schau­en ob wir auch TXT records per URL set­zen könnten.

      Das bedeu­tet für Sie, dass Sie irgend­ei­ne Mög­lich­keit benö­ti­gen, um zeit­nah DNS TXT Records für Ihre Domain mit Hil­fe eines Scripts, set­zen können.

      Sup­port für ande­re Hos­ter kön­nen wir nicht leisten.

      Vie­le Grüße
      Andreas Nitsche

      Antworten

Schreibe einen Kommentar