SAN-Zertifikate: bequem, bis eine Domain kippt
Während ich darauf warte das der zuständige Betreiber das Problem fixt, kann ichs mir nicht verkneifen etwas Luft abzulassen. Ausgangspunkt ist ein abgelaufenes Let’s-Encrypt-Zertifikat auf dem Server, der den Hub unserer VTC hosted. Das Zertifikat enthält mehrere SANs, nennen wir sie:
hub.firma-a.de, portal.kunde-b.de und service.partner-c.com
Note
Ein SAN-Zertifikat ist ein TLS-Zertifikat, das für mehrere DNS-Namen gültig ist. Die Namen stehen im X.509-Feld Subject Alternative Name (SAN). SANs sind nicht auf Subdomains derselben Domain beschränkt – ein Zertifikat kann auch Namen aus völlig unterschiedlichen DNS-Zonen enthalten.
Abhängigkeit
Einer dieser Namen lässt sich offenbar nicht mehr sauber validieren — und damit scheitert die automatische Erneuerung des gesamten Zertifikats.
Das ist allerdings kein spezielles Let’s-Encrypt-Problem. Technisch ist ein gemeinsames SAN-Zertifikat über mehrere Domains völlig legitim, und vor allem innerhalb von Unternehmen mit diversen Domainnamen gern genutzt. Das eigentliche Problem ist die administrative Kopplung.
Sobald service.partner-c.com umzieht (wie hier geschehen), verschwindet, falsch aufgelöst wird oder aus anderen Gründen die ACME-Challenge nicht mehr beantwortet, hängt plötzlich auch die Erneuerung für hub.firma-a.de und portal.kunde-b.de daran. Und schlägt nun fehl!
Renewal-Fehler
Wenn nun der Betreiber die vermutlich seit Wochen auflaufenden renewal errors von Let's Encrypt als "temporäres problem" ignoriert, kommt es irgendwann zur Katastrophe für alle anderen gehosteten Domains.

Aus „praktisch, wir haben nur ein Zertifikat zu verwalten“ wird dann „Warum ist denn jetzt Firma A oder Kunde B kaputt?" - die Chance, dass jemand die Domain von Partner C als Verursacher sieht, wird vermutlich noch verringert, da seine (nun ja umgezogene) Seite bestens funktioniert.
Lessons to be learned
Faustregel: SANs nur dann gemeinsam zertifizieren, wenn auch DNS, Routing und Zuständigkeit gemeinsam kontrolliert werden.
Ein Zertifikat weniger zu verwalten ist kein Gewinn, wenn man sich dafür unnötig eine gemeinsame Failure Domain baut.
Update (vom späteren Nachmittag):
Nachdem das originäre Problem nun gefixed wurde stellt sich heraus, dass der Renewal-Fehler ein lokales Problem des eingesetzten Certbots war, der - aus gutem Grund - keinen standalone Webserver für die ACME Challenge starten konnte, dies aber unbedingt wollte.
Meine Vermutung die Domain wäre kürzlich auf ein anderes Frontend umgezogen worden beruhte fälschlich darauf das diese wegen eines Claudflare routings eine andere Ziel IP hat. Die Cloudflare Settings des Eigentümers haben dann den Zertifikatsfehler des eigentlichen Frontends schlicht kaschiert.
Diese Erkenntnis ändert aber nichts an dem Risiko das SAN-Zertifikate in sich tragen, es ist eigentlich sogar ein weiterer Beleg dafür, dass hier Risiken unnötig im Verborgenen schlummern.
kosmos.ac