SSL/TLS X.509-Zertifikate und DANE (TLSA-Records)

  • Meine TLS Zertifikate beziehe ich über Let's Encrypt, daraus folgt die Pflicht von einem Renew der Zertifikate alle drei Monate. Für diverse Dienste auf den unterschiedlichen Ports habe ich derzeit TLSA-Records für DANE hinterlegt. Wenn nun ein Renew des Zertifikates ansteht, muss ich z.B. das Ganze monitoren oder mir in den Kalender eintragen, o.ä.


    TLS Zertifikate lassen sich nur komplett neu ausstellen, nicht wie die Schlüssel bei OpenPGP verlängern?

    Um nicht jedesmal die TLSA-Records manuell anzupassen bleibt nur die Möglichkeit, einer Automatisierung für das direkte Anpassen der Zonefiles? Hat jemand schon Erfahrungen hierzu?

  • Du kannst auch den alten Key weiterverwenden, wie hier von gunnarh beschrieben: https://hitco.at/blog/lets-encrypt-csr/


    Dadurch musst Du die DNS-Records nicht andauernd ändern, wenn Du den Public Key pinnst. Trotzdem empfiehlt es sich natürlich, z.B. jährlich einen neuen Key zu generieren und ihn danach im DNS einzutragen, damit nicht ewig der gleiche Key verwendet wird.


    Siehe auch: https://hitco.at/blog/wp-conte…DANE-HowTo-2016-04-28.pdf

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Mittlerweile haben viele ACME "Clients" (Certbot, dehydrated,...) auch ohne, dass man selbst einen CSR baut, die Option den Key gleich zu lassen beim Zertifikat erneuern.


    Aber wie mache ich das wenn ich ein RSA und ein ECDSA Zertifikate habe? Zwei Dane Records? Momentan löse ich das durch einen 2 0 1 Dane Record mit dem Hash des Let's Encrypt Intermediate Zertifikate X3. Dadurch umgehe ich auch das Problem mit wechselnden Keys. Aber irgendwie nicht so richtig schön.

  • Aber wie mache ich das wenn ich ein RSA und ein ECDSA Zertifikate habe? Zwei Dane Records?

    Ja.

    Ich benutze mittlerweile ncdapi.sh (https://github.com/linux-insideDE/ncdapi Achtung: Unmaintained!) und überschreibe den TLSA record einfach täglich, unabhängig davon ob das Zertifikat geändert wurde (kostet ja nix?). Würde ich das neu und ordentlich machen, dann wäre das einfach ein post hook statt des cronjobs. Aber als ich das eingerichtet habe war das in meinem Setup noch nicht möglich.

    Disclaimer: Das ist Quick'nDirty und nicht für den Produktiveinsatz. Erst Denken dann Copy'n Pasting! Heutzutage als Hook implementieren!