Difference between revisions of "Let's Encrypt Wildcardzertifikate"

From VGKB
Jump to navigation Jump to search
(Einzelnachweise)
m (Typo)
 
Line 1: Line 1:
 
[[File:Let's Encrypt Certificate Firefox example.png|thumb|Let's Encrypt ermöglicht seit März 2018<ref>vgl. [https://blog.v-gar.de/2018/03/lets-encrypt-wildcard-zertifikate-verfuegbar/ Blogartikel auf vNotes] sowie [https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579 Originalquelle]</ref> die Ausstellung von Wildcardzertifikaten]]
 
[[File:Let's Encrypt Certificate Firefox example.png|thumb|Let's Encrypt ermöglicht seit März 2018<ref>vgl. [https://blog.v-gar.de/2018/03/lets-encrypt-wildcard-zertifikate-verfuegbar/ Blogartikel auf vNotes] sowie [https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579 Originalquelle]</ref> die Ausstellung von Wildcardzertifikaten]]
Mit '''Wildcardzertifikaten''' es im Gegensatz zu "normalen" Zertifiakten möglich, die Gültigkeit eines Zertifikats auf eine unbestimmte Anzahl an DNS-Namen (i.d.R. Subdomains) zu erweitern. Während ein Zertifikat im Regelfall für eine fest definierte Domain gültig ist (z.B. <code>vgapps.de</code>), wird mit einem Platzhalter, auch ''Wildcard'' genannt, der Geltungsbereich entsprechend erweitert. Ein Zertifikat für <code>*.vgapps.de</code> würde somit für <code>www.vgapps.de</code>, <code>subdomain1.vgapps.de</code> oder <code>my-test.vgapps.de</code>, nicht aber für <code>vgapps.de</code> oder <code>www.test.vgapps.de</code> gültig sein, da zwangsläufig das Domainlevel übereinstimmen muss.
+
Mit '''Wildcardzertifikaten''' es im Gegensatz zu "normalen" Zertifikaten möglich, die Gültigkeit eines Zertifikats auf eine unbestimmte Anzahl an DNS-Namen (i.d.R. Subdomains) zu erweitern. Während ein Zertifikat im Regelfall für eine fest definierte Domain gültig ist (z.B. <code>vgapps.de</code>), wird mit einem Platzhalter, auch ''Wildcard'' genannt, der Geltungsbereich entsprechend erweitert. Ein Zertifikat für <code>*.vgapps.de</code> würde somit für <code>www.vgapps.de</code>, <code>subdomain1.vgapps.de</code> oder <code>my-test.vgapps.de</code>, nicht aber für <code>vgapps.de</code> oder <code>www.test.vgapps.de</code> gültig sein, da zwangsläufig das Domainlevel übereinstimmen muss.
  
 
== Vorteile und Nachteile ==
 
== Vorteile und Nachteile ==

Latest revision as of 20:00, 13 December 2019

Let's Encrypt ermöglicht seit März 2018[1] die Ausstellung von Wildcardzertifikaten

Mit Wildcardzertifikaten es im Gegensatz zu "normalen" Zertifikaten möglich, die Gültigkeit eines Zertifikats auf eine unbestimmte Anzahl an DNS-Namen (i.d.R. Subdomains) zu erweitern. Während ein Zertifikat im Regelfall für eine fest definierte Domain gültig ist (z.B. vgapps.de), wird mit einem Platzhalter, auch Wildcard genannt, der Geltungsbereich entsprechend erweitert. Ein Zertifikat für *.vgapps.de würde somit für www.vgapps.de, subdomain1.vgapps.de oder my-test.vgapps.de, nicht aber für vgapps.de oder www.test.vgapps.de gültig sein, da zwangsläufig das Domainlevel übereinstimmen muss.

Vorteile und Nachteile

Vorteil im Gegensatz zu fest definierten Zertifikaten ist:

  • die höhere Flexibilität (ein Zertifikat für alles)
  • Wartungsfreundlichkeit (es muss ebenfalls nur ein Zertifikat erneuert werden)

Nachteile ergeben sich aus

  • dem höheren Aufwand bei der Verifikation (bisher nur DNS challenge) und
  • dem Missbrauchspotential (ein entwendetes, nicht gesperrtes Zertifikat kann auf weitere hierfür gültige Domains angewandt werden)

Wildcard-Zertifikat einrichten

mit certbot

Internet-news-reader.svg Dieser Artikel wurde bereits in einem Blogartikel von vNotes behandelt.

Voraussetzungen:

  • Installation des ACME-Client certbot
  • Möglichkeit, TXT-Records in der DNS-Zone zu erstellen
certbot -d vgapps.de -d *.vgapps.de --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns certonly
Kommandoausschnitt Bedeutung
certbot Executable (evtl. ist alternativ ./certbot-auto benötigt, insb. bei Git-Version)
-d vgapps.de Zertifikat soll für die eigentliche Domain gültig sein...
-d *.vgapps.de ...sowie per Wildcard für alle Subdomains ersten Levels
--server https://acme-v02.api.letsencrypt.org/directory API-Endpunkt spezifizieren (nur v2 unterstützt Wildcard)
--manual manuelle challenge (nicht automatisierbar, insb. für renew wichtig)
--preferred-challenges dns DNS challenge anwählen
certonly nur Zertifikat holen, nicht weitere Dienste (Apache, ...) hierfür konfigurieren

Mitunter muss neues Konto angelegt werden, weshalb die E-Mail-Adresse und eine Bestätigung der Nutzungsbedingungen (erneut) abgefragt werden.

Hiernach (und dem OK, dass Let's Encrypt die IP der anfragenden Instanz öffentlich loggt) wird folgender Text (ähnlich und natürlich bezogen auf die konkreten Domaindaten) angezeigt:

Please deploy a DNS TXT record under the name
_acme-challenge.vgapps.de with the following value:

3AAfr7vk6_Ik0yg8SA_i-aiRagt11E34AdfXM3PuhFU

Der Key muss nun als TXT-Record in der jeweiligen Zone angelegt werden. Danach Enter drücken.

Hiernach wird, wenn die Optionen wie oben eingesetzt werden, noch ein weiterer Key angezeigt, den ihr auch in die Zone eintragen müsst, weil jede angefragte Domain eine eigene Challenge/Validierung benötigt. Und ja, es ist im DNS möglich, dass es zu einer Domäne mehrere Ressource Records gibt. Das Ganze kann dann z.B. in der Zone so aussehen:

_acme-challenge.vgapps.de. 300 IN TXT "3AAfr7vk6_Ik0yg8SA_i-aiRagt11E34AdfXM3PuhFU"
_acme-challenge.vgapps.de. 300 IN TXT "4BAfr7vk6_Ik0yg8SA_i-aiRagt11E34AdfXM3PuhAB"

Ist die Zone geupdatet und ihr habt euch über das Zone-Update vergewissert, kann dann nochmals mit Enter bestätigt werden, sodass die Domains validiert werden. Nach Erledigung sind die Certs wie immer unter /etc/letsencrypt/live/ verfügbar. Die TXT-Records werden bis zur renewal nicht mehr benötigt.

Hinweis zur renewal: die Renewal kann aufgrund der Option --manual nicht wie üblich mit certbot renew durchgeführt werden, sondern erfordert, dass das gleiche oben angegebene Kommando nochmals ausgeführt wird. Hierbei wird glücklicherweise kein -0001-Unterordner erstellt.

Einzelnachweise