Let’s Encrypt manual certonly DNS Authentifizierung

Im letzten Let’s Encrypt Artikel wurde erklärt wie man ein Zertifikat mit Zuhilfenahme eines Webservers beantragt, unter der die Domain mit einem speziellen „Webseiten Pfad Eintrag“ authentifiziert wird. Mittlerweile lassen sich die Zertifikate auch über einen Text DNS Eintrag authentifizieren. Nach wie vor läuft bzw. ist der Let’s Encrypt Client, der mittlerweile Certbot heißt, auf einer VirtualBox VM installiert.

Aufruf des Let’s Encrypt Client

:~# ./certbot-auto --rsa-key-size 4096 -d bandy.localhorst.org --manual --preferred-challenges dns certonly

Antwort des Client.

Please deploy a DNS TXT record under the name
_acme-challenge.bandy.localhorst.org with the following value:

CtfX6Xn7wz1HbCFn89UNN_uOYh_MsQpXiE2aMsgE17g

Before continuing, verify the record is deployed.
---------------------------------------------------------------
Press Enter to Continue

Bedeutet: Es muss ein Text DNS Eintrag unter dem Domainnamen angelegt werden. Je nach Domain Provider sieht die Eingabemaske unterschiedlich aus und das Folgende soll nur zur Orientierung dienen. Mit einer auf 300 Sekunden festgelegten TTL wird bei einem Fehler vermieden, dass viel zu lange gewartet werden muss bis sich die DNS-Caches leeren.

_acme-challenge.bandy.localhorst.org. 	300 	IN 	TXT 	VrHuZznsQ7iv6aS0SOIm3DarHjfSmLCxPp--lzxJpHQ

Nachdem der Eintrag im DNS eingefügt wurde, dauert es mitunter eine Weile bis sich dieser auf der VirtualBox VM auflösen lässt. Solange muss man sich gedulden, da dieser Eintrag nun für den Let’s Encrypt Client zur Authentifizierung dient. Ein erster Test mit Google Namservern per dig auf einer zweiten Konsole zeigt recht schnell, ob die Namensauflösung funktioniert.

:~$ dig @8.8.8.8 TXT _acme-challenge.bandy.localhorst.org.

;; ANSWER SECTION:
_acme-challenge.bandy.localhorst.org. 284 IN TXT "CtfX6Xn7wz1HbCFn89UNN_uOYh_MsQpXiE2aMsgE17g"

Temporär könnte man sich in seine resolv.conf die Google Namserver eintragen oder man hat noch ein wenig weiter Geduld und wartet bis die Abfrage auch mit seinen lokal eingetragen Namservern klappt.

:~$ dig TXT _acme-challenge.bandy.localhorst.org.

;; ANSWER SECTION:
_acme-challenge.bandy.localhorst.org. 284 IN TXT "CtfX6Xn7wz1HbCFn89UNN_uOYh_MsQpXiE2aMsgE17g"

Wird der DNS Eintrag auf der VirtualBox nach einer Weile richtig aufgelöst, kann man dem oberen Hinweis „Press Enter to Continue“ folgen und anschließend sollten sich nach weiteren „Congratulations“ Meldungen die Zertifikats und Schlüssel Dateien an gewohnter Stelle befinden.

:~# cd /etc/letsencrypt/archive/<domainname>
-rw-r--r-- 1 root root 2155 Aug 12 18:04 cert1.pem
-rw-r--r-- 1 root root 1647 Aug 12 18:04 chain1.pem
-rw-r--r-- 1 root root 3802 Aug 12 18:04 fullchain1.pem
-rw-r--r-- 1 root root 3268 Aug 12 18:04 privkey1.pem

Diese werden auf den entsprechenden Server kopiert um sie z.B. in die Postfix-Konfiguration einzubinden.

smtpd_tls_cert_file=/usr/local/etc/ssl/fullchain1.pem
smtpd_tls_key_file=/usr/local/etc/ssl/privkey1.pem

Der DNS Eintrag kann nach erfolgreicher Zertifikationserstellung wieder gelöscht werden.