DANE einrichten mit Let's Encrypt

  • Hallo


    Da ich mich nach wie vor mit DANE beschäftige ist mir ein kleineres Problem aufgefallen und frage mich wie ihr das löst. Vielleicht überlege ich gerade auch nur falsch.

    Als Anleitung habe ich dies verwendet: https://forum.netcup.de/sonsti…ane-tlsa-mit-letsencrypt/


    Im zusammenhang mit dieser Anleitung aber auch mit dem Test von https://dane.sys4.de ergeben sich für mich einfach noch Fragen wo ich nicht weiter komme.


    Ich habe dies mal Testweise für ein Wildcard SSL Zertifikat gemacht, und habe den TLSA Eintrag auf _443._tcp.www. gesetzt. Beim Test von https://en.internet.nl ist es dann trotzdem nicht korrekt.Der Fehler ist "Your website domain does not contain a TLSA record for DANE.". Vielleicht muss ich auch einfach 24-48 Stunden warten bis die Einträge dort erkannt werden. Aber das ist ein anderes Thema :)


    Was ich noch nicht ganz verstehe:

    • Weshalb muss ich die TLSA Einträge für mein cert.pem von Let's Encrypt und auf das Let’s Encrypt Authority X3 (IdenTrust cross-signed)? Das erste ist mir ja noch logisch. Das zweite irgendwie nicht.
    • Beim Test von sys4.de wird immer SMTP nicht erkannt. Ich gehe mal davon aus, weil mein SMTP Server nicht auf Port 25 lauscht? Falls dies so ist: Klappt DANE für den Webserver nur mit Port 25, oder ist dies einfach nur bei diesem Test von sys4 so?
    • Reicht es für den Webserver den TLSA Eintrag nur auf _443._tcp und _443._tcp.JedeSubdomain zu legen, und für den Mailserver auf _993._tcp.mx und _587._tcp.mx? Oder habe ich damit etwas vergessen?


    Ich hoffe die Fragen sind nicht ganz dämlich wie ich mir gerade vorkomme. Irgendwie sehe ich glaube ich einfach grad den Wald vor lauter Bäumen nicht.


    Gruss


    Oliver

  • Entschuldigt bitte den zweiten Beitrag. Eine Frage habe ich vergessen. Ich könnte immer wenn ein Zertifikat erneuert wird automatisch die TLSA DNS Einträge per API updaten. Wäre das Problematisch da die DNS Einträge ja in einem Cache sind und teils 24-48 Stunden benötigen bis jeder die neuen Werte hat?

    Wenn ja müsste ich wohl wie hier beschrieben vorgehen damit diese nicht jedesmal ändern :)

    https://legacy.thomas-leister.…ncrypt-mit-hpkp-und-dane/

  • Zu 2.: Du musst für den SMTP Dane natürlich auch einen Record a la _25._tcp.mail.example.de angelegt haben.

    Wieso lauscht dein SMTP nicht auf 25? Dann ist ein Mail Empfang nicht möglich.

    Zu 3.: Du kannst für jede Subdomain einen Record anlegen ja, bei einem Wildcard Cert bietet sich aber auch ein Wildcard Record an.

  • Zu 2: genau das ist es. Sass zu lange dran. 25 wird einfach nicht genutzt aber ist natürlich da. Ich denke mein Problem könnte das Abwarten sein da es noch keine 48 Stunden seit dwm DNS Eintrag her ist


    Leider ist es so, das dort wo ich die DNS Verwaltung habe aktuell keine Wildcard Einträge für TLSA verwenden kann

  • Wildcard Einträge f. TLSA sind auch nur bedingt möglich;


    Beispiel: DU hast ein Wildcard Zertifikat f. *.example.com

    dann kannst Du nur solche TLSA Eintäge haben:


    _25._tcp.mail.example.com

    *._tcp.mail.example.com

    sprich der Wildcard im TLSA bezieht sich auf den Port und nicht auf den Host;

    Grüße / Greetings

    Walter H.


    RS 1000 [SAS G8 xRAM/SSD G8], VPS [200 G8 Akt./1000 G8 Plus], Webhost. 1000 m. 75%

    RS [2000 G7SE/1000 G7SE/500 G8] jew. SAS; VPS 100 G7

  • Ich könnte immer wenn ein Zertifikat erneuert wird automatisch die TLSA DNS Einträge per API updaten. Wäre das Problematisch da die DNS Einträge ja in einem Cache sind und teils 24-48 Stunden benötigen bis jeder die neuen Werte hat?

    Nur zur Klarstellung bzgl. des o.g. Worts "erneuert": Durch entsprechende Wahl der TLSA-Einträge (d.h. in diesem Fall bezogen auf Zertifikatsfelder, welche sich im Folgenden nicht ändern) sind Änderungen im DNS nur erforderlich, wenn es sich um neue/geänderte Zertifikate, nicht aber um einen Ersatz von bestehenden Zertifikaten zwecks alleiniger Verlängerung ihrer Gültigkeit handelt (vgl. "Please avoid “3 0 1” and “3 0 2” DANE TLSA records with LE certificates").

    Im ersteren Fall (neue/geänderte Zertifikate) ist ein mehrstufiges Vorgehen (Beantragung/Erhalt der Zertifikate, TLSA-Einträge dafür erstellen, auf "weltweite Bekanntmachung" warten, Nutzung der neuen Zertifikate (apache/nginx/postfix/...), Löschung der TLSA-Einträge nicht mehr genutzter Zertifikate) allerdings unvermeidlich, wenn man es sauber handhaben will.

  • Nur zur Klarstellung bzgl. des o.g. Worts "erneuert": Durch entsprechende Wahl der TLSA-Einträge (d.h. in diesem Fall bezogen auf Zertifikatsfelder, welche sich im Folgenden nicht ändern) sind Änderungen im DNS nur erforderlich, wenn es sich um neue/geänderte Zertifikate, nicht aber um einen Ersatz von bestehenden Zertifikaten zwecks alleiniger Verlängerung ihrer Gültigkeit handelt (vgl. "Please avoid “3 0 1” and “3 0 2” DANE TLSA records with LE certificates").

    Im ersteren Fall (neue/geänderte Zertifikate) ist ein mehrstufiges Vorgehen (Beantragung/Erhalt der Zertifikate, TLSA-Einträge dafür erstellen, auf "weltweite Bekanntmachung" warten, Nutzung der neuen Zertifikate (apache/nginx/postfix/...), Löschung der TLSA-Einträge nicht mehr genutzter Zertifikate) allerdings unvermeidlich, wenn man es sauber handhaben wi

    Danke dir für deinen Input. Eigentlich war ich der Meinung gelesen zu haben, dass Let's Encrypt die Zertifikate erneuert und nicht verlängert und somit der Wert für den DNS Eintrag angepasst werden müsste. Ich muss dies mal prüfen wie es wirklich ist mit Let's Encrypt


    Zur besseren Übersicht möchte ich euch hier nochmals die Fragen auflisten

    • Weshalb muss ich die TLSA Einträge für mein cert.pem von Let's Encrypt und auf das Let’s Encrypt Authority X3 (IdenTrust cross-signed)? Das erste ist mir ja noch logisch. Das zweite irgendwie nicht.
    • Ich könnte immer wenn ein Zertifikat erneuert wird automatisch die
      TLSA DNS Einträge per API updaten. Wäre das Problematisch da die DNS Einträge ja in einem Cache sind und teils 24-48 Stunden benötigen bis jeder die neuen Werte hat? Wenn ja müsste ich wohl wie hier beschrieben vorgehen damit diese nicht jedesmal ändern
  • zu Deinen Fragen,

    1) man sendet üblicherweise nicht nur das eigene sondern auch das Zwischenzertifikat mit; und der Client hat dann das Stammzert. als Anker; und genau das bildest Du mittels TLSA ab, Dein Zertifikat und das Zwischenzertifikat;

    2) das ist so nicht üblich, korrekterweise werden die DNS-Einträge um die des neuen Zertifikates ergänzt;

    und wenn dies überall propagiert ist (diese berühmten 24-48 Stunden), kann man den TLSA-Eintrag vom alten Zertifikat entfernen;

    Grüße / Greetings

    Walter H.


    RS 1000 [SAS G8 xRAM/SSD G8], VPS [200 G8 Akt./1000 G8 Plus], Webhost. 1000 m. 75%

    RS [2000 G7SE/1000 G7SE/500 G8] jew. SAS; VPS 100 G7

  • mainziman ok danke dir. Dann müsste man bei Let's Encrypt entweder jedesmal die DNS Einträge ergänzen und alte entfernen, oder man geht nach dem hier vor https://legacy.thomas-leister.…ncrypt-mit-hpkp-und-dane/


    Zusätzlich ist es etwas Aufwendig da ich keine Wildcard Einträge im DNS erstellen kann. Da frage ich mich ob der DANE Nutzen wirklich gross genug ist um diesen Aufwand zu machen.

  • Mal kurz ne kleine Frage da ich ggf einfach zu ungeduldig bin :)

    Ich habe mir mal einen PowerDNS aufgesetzt und ein Wildcard TLSA Eintrag *.domain.tld erstellt. Für subdomains _443._tcp.test.domain.tld erhalte ich die Ausgabe mittels dig das Einträge vorhanden sind, wenn ich aber die Abfrage auf _443._tcp.www.domain.tld werden keine gefunden. Liegt dies einfach daran das www ein DNS Eintrag besitzt und die DNS Aktualisierung leider noch keine 24/48 Stunden her ist, oder hat dies ggf andere technische Aspekte?

  • oder es gilt hier, daß der * nur f. eine Zone gilt, aber nicht f. Subzone der Subzone der Subzone der Zone?


    löst *.example.com auch hugo.boss.example.com auf?

    Wildcard Zertifikate greifen z.B. nur f. eine Ebene ...

    Grüße / Greetings

    Walter H.


    RS 1000 [SAS G8 xRAM/SSD G8], VPS [200 G8 Akt./1000 G8 Plus], Webhost. 1000 m. 75%

    RS [2000 G7SE/1000 G7SE/500 G8] jew. SAS; VPS 100 G7

  • oder es gilt hier, daß der * nur f. eine Zone gilt, aber nicht f. Subzone der Subzone der Subzone der Zone?

    Nein das nicht. Ich denke wenn es soetwas ist, dann gilt der Wildcard * nur für Zonen welche nicht hinterlegt sind. Ich denke aber im moment das gäbe kein Sinn. Daher muss ich wohl oder übel mal abwarten. Dachte jemand weiss es per Zufall :)


    löst *.example.com auch hugo.boss.example.com auf?

    Interessante Frage welche ich natürlich gleich testen musste :)

    Code
    1. dig _22._tcp.hugo.boss.neu.domain.tld IN TLSA +short

    wird ebenfalls gefunden. Wird also nicht gleich gehandhabt wie mit den SSL Zertifikaten ^^

  • oder es gilt hier, daß der * nur f. eine Zone gilt, aber nicht f. Subzone der Subzone der Subzone der Zone?


    löst *.example.com auch hugo.boss.example.com auf?

    Wildcard Zertifikate greifen z.B. nur f. eine Ebene ...

    Die Gültigkeit der Zertifikate hat doch nichts mit den DNS-Einträgen zu tun. DNS-Wildcard-Einträge funktionieren über mehrere Ebenen.

    RS 2000 Plus SAS G8 | VPS 2000 G8 Plus | VPS Ibiza/16 Years | 3x VPS 200 G8 | EiWoMiSau

    www.jeff24.de - www.serioese-alternative.de - www.jeff-media.de

  • Die Gültigkeit der Zertifikate hat doch nichts mit den DNS-Einträgen zu tun..

    na ja, die SANs in den Zertifikaten sind DNS-Einträge, und es wäre logisch wenn f. diese das selbe gelten würde

    wie eben f. das DNS selbst;)

    tut es aber anscheinend nicht:D

    Grüße / Greetings

    Walter H.


    RS 1000 [SAS G8 xRAM/SSD G8], VPS [200 G8 Akt./1000 G8 Plus], Webhost. 1000 m. 75%

    RS [2000 G7SE/1000 G7SE/500 G8] jew. SAS; VPS 100 G7

  • tut es aber anscheinend nicht

    Scheint so ^^

    Na ich bin mal gespannt ob morgen alles besser aussieht und dann auch die Abfrage _443._tcp.www.domain.tld funktioniert. Für mich gäbe es kein Sinn wenn der Wildcard Eintrag nicht greift weil die Subdomain www im DNS bekannt ist.


    EDIT: Ok ich glaube ich mache mich hier grad etwas verrückt weil ich im Moment zu ungeduldig bin. Aber das musste ich testen :D


    Code
    1. dig _22._tcp.aaa.domain.tld IN TLSA +short

    Hier habe ich meine zwei TLSA Einträge angezeigt bekommen.

    Nun habe ich den A sowie AAA Recort für aaa erstellt, nun erhalte ich keine TLSA Einträge mehr angezeigt.

    Mit der Abfrage

    Code
    1. dig aaa.domain.tld IN AAAA +short

    erhalte ich nun aber die entsprechenden Einträge angezeigt. Also für mein Verständnis gibt es gerade gar kein Sinn :P Mal sehen wie es in 24 Stunden aussieht

  • Wie sieht es jetzt aus?


    bzw., da Du einen Wildcard TLSA Eintrag definiert hast *.example.tld, gehe ich davon aus, daß Du auch ein Wildcard-Zert. in Verwendung hast;

    Grüße / Greetings

    Walter H.


    RS 1000 [SAS G8 xRAM/SSD G8], VPS [200 G8 Akt./1000 G8 Plus], Webhost. 1000 m. 75%

    RS [2000 G7SE/1000 G7SE/500 G8] jew. SAS; VPS 100 G7

  • Wie sieht es jetzt aus?

    Immer noch das selbe. Sobald ich einen DNS A/AAAA Record für eine Subdomain erstelle, so wird der Wildcard DNS Eintrag für TLSA nicht mehr berücksichtigt. Ich habe nun gehört das es wohl normal sei und für jede Subdomain ebenfalls ein Wildcard TLSA Eintrag erstellt werden muss. Kann das jemand bestätigen?


    bzw., da Du einen Wildcard TLSA Eintrag definiert hast *.example.tld, gehe ich davon aus, daß Du auch ein Wildcard-Zert. in Verwendung hast;

    Im moment nicht da es nur ein Test für die Einträge ist. Aber normalerweise natürlich schon :)