crt.watch — bevor das Zertifikat abläuft
Überwacht die Laufzeit deiner TLS-Zertifikate und meldet sich rechtzeitig. Kostenlos, ohne Konto, ohne Datensammlung.
Es ist immer Freitag. Ich weiß auch nicht, warum.
Ein Anruf: Die Webseite zeigt eine rote Warnseite. „Angreifer könnten versuchen, Ihre Daten zu stehlen.“ Da klickt kein Mensch weiter.
Das Zertifikat ist vor zwei Stunden abgelaufen. Die automatische Erneuerung lief seit sechs Wochen ins Leere — bemerkt hat es niemand, weil nichts weh tat, bis es plötzlich sehr weh tat.
Automatisch heißt: Es sieht niemand hin.
Warum automatische Erneuerung allein nicht reicht
Zertifikate von Let’s Encrypt laufen 90 Tage. Die Erneuerung passiert automatisch, meist per acme.sh oder Certbot, und genau deshalb denkt niemand mehr darüber nach. Das ist das Problem: Ein Vorgang, an den niemand denkt, fällt auch niemandem auf, wenn er aufhört zu funktionieren.
Die Gründe, aus denen die Erneuerung stillschweigend scheitert, sind erstaunlich immer dieselben. Die DNS-Zone wurde umgezogen, und die Prüfung findet ihren Eintrag nicht mehr. Der Webserver wurde umgestellt, und der Pfad /.well-known/acme-challenge/ ist nicht mehr erreichbar, weil eine Weiterleitung davorliegt. Ein Cron-Job wurde beim Serverumzug nicht mitgenommen. Oder das Rate-Limit der Zertifizierungsstelle ist erreicht, weil ein Skript in einer Schleife hing.
In allen diesen Fällen läuft das alte Zertifikat einfach weiter — bis zum Ablauftag. Danach sieht jeder Besucher eine Warnseite, Suchmaschinen stufen die Seite ab, Formulare brechen ab, und Schnittstellen zu Kassensystemen oder Warenwirtschaft verweigern die Verbindung. Der Schaden entsteht nicht schleichend, sondern auf einen Schlag, und meistens außerhalb der Bürozeiten.
crt.watch prüft deshalb nicht die Erneuerung, sondern das Ergebnis: Wie lange läuft das Zertifikat, das gerade tatsächlich ausgeliefert wird? Diese Frage lässt sich von außen beantworten, ohne Zugriff auf den Server — und es ist die einzige Frage, auf die es ankommt.
Zwischen Tag 60 und Tag 90 sieht alles normal aus. Genau in diesem Fenster entscheidet sich, ob am Ablauftag jemand Bescheid weiß.
Was das Werkzeug ansieht
- Restlaufzeit des ausgelieferten Zertifikats, mit Vorwarnung statt Todesmeldung
- Vollständigkeit der Zertifikatskette — unvollständige Ketten brechen auf Android und in Java, im Browser aber nicht
- Ob alle Namen der Domain abgedeckt sind, Unterdomains eingeschlossen
- Wechsel des Ausstellers, die auf eine ungewollte Umstellung hindeuten
Kostenlos heißt hier wirklich kostenlos: kein Lockangebot, keine Stufe, die man später kaufen muss, keine Weitergabe von Daten. Das Werkzeug ist aus dem eigenen Betrieb entstanden — ich brauchte es für meine Server, also habe ich es gebaut. Es für andere mitlaufen zu lassen, kostet mich kaum etwas.
Fragen zu crt.watch
Braucht ihr Zugriff auf meinen Server?
Nein. Geprüft wird von außen, so wie ein Besucher die Seite aufruft. Es genügt der Domainname — deshalb funktioniert es auch, wenn jemand anderes den Server betreut.
Funktioniert das auch für Mailserver?
Ja. Auch IMAP, SMTP und andere Dienste liefern Zertifikate aus, und die laufen genauso ab. Dort fällt es sogar noch später auf, weil keine Warnseite erscheint — der Mailclient sagt nur, dass er keine Verbindung bekommt.
Wie früh kommt die Warnung?
Früh genug, um in Ruhe nachzusehen, statt am Ablauftag zu hetzen. Die Vorlaufzeit lässt sich einstellen.
Und wenn ich gar keine Zertifikate verwalte?
Dann macht das jemand für dich, und die eigentliche Frage ist, ob dieser Jemand es rechtzeitig merkt. Wenn du bei mir hostest, läuft die Überwachung ohnehin mit.