So funktioniert’s
Certificate Transparency (RFC 6962) verlangt, dass Zertifizierungsstellen jedes öffentlich vertrauenswürdige Zertifikat in öffentliche Logs eintragen, an die sich nur anhängen lässt. Das Log quittiert den Eintrag mit einem signierten Zeitstempel (SCT), den das Zertifikat mitbringt. Chrome und Safari akzeptieren Zertifikate ohne ausreichende SCTs nicht.
Lesen kann die Logs jeder, etwa über crt.sh oder eigene Monitore. So lässt sich für jede Domain nachvollziehen, welche CA wann welches Zertifikat für welche Hostnamen ausgestellt hat – auch für Subdomains, die nirgends verlinkt sind.
Weil die Einträge öffentlich sind, verraten sie auch interne Hostnamen wie staging.example.com oder vpn.example.com. Wer das vermeiden will, deckt solche Namen mit einem Wildcard-Zertifikat ab; ein Geheimnis sind DNS-Namen ohnehin nicht.
Warum gefährlich
Ohne Blick in die Logs fällt ein unberechtigt ausgestelltes Zertifikat niemandem auf. Genau das ist das Muster einer Domainübernahme: Ein Angreifer lenkt Nameserver oder einen DNS-Eintrag um, besteht damit die Domain-Validierung der CA und betreibt mit einem echten Zertifikat eine Phishing-Seite oder liest Mails mit.
Auch harmlose Fälle zählen: Ein neuer Aussteller heißt oft, dass ein Dienstleister, CDN oder Mailanbieter Zertifikate für die Domain bezieht, von dem die Agentur nichts weiß – und dass ein später gesetzter CAA-Record dessen nächste Verlängerung blockieren würde.
So vermeidest du es
- Die CT-Logs aller Kundendomains laufend überwachen und jeden neuen Aussteller klären.
- Mit einem CAA-Record festlegen, welche CAs ausstellen dürfen, und per iodef eine Meldeadresse hinterlegen.
- Erwartete Subdomains dokumentieren, damit ein unbekannter Hostname im Log sofort auffällt.
- Bei einem unerwarteten Zertifikat zuerst DNS-Zugang, Registrar-Konto und Nameserver prüfen, dann das Zertifikat bei der ausstellenden CA widerrufen lassen.
- Interne Hostnamen über ein Wildcard-Zertifikat abdecken, wenn ihre Namen nicht in öffentlichen Logs stehen sollen.
So erkennt DomainWarn es
Der Check „Zertifikatsausstellung“ wertet täglich die CT-Logs aus (über crt.sh und einen eigenen Beobachter, der die Logs laufend mitliest) und listet alle Zertifikate der letzten 30 Tage für die Domain und ihre Subdomains. Der erste Lauf bildet die Ausgangslage. Danach ist ein Zertifikat einer bisher unbekannten Zertifizierungsstelle eine Warnung, jedes neu ausgestellte Zertifikat ein Ereignis in der Zeitleiste; fällt es in die 24 Stunden nach einem Nameserver- oder MX-Wechsel, meldet DomainWarn es als kritisch.
Hostnamen aus Zertifikaten, die weder Domain noch www noch eine als erwartet hinterlegte Subdomain sind, erscheinen als Hinweis und als Vorschlag für einen Website-Monitor. Die gefundenen Hostnamen speisen außerdem die Checks „Subdomain-Takeover“ und „Subdomain-Inventar“, und die Aussteller der gültigen Zertifikate fließen in die Vorschläge für den CAA-Record ein.
DomainWarn prüft das für alle deine Domains regelmäßig und meldet sich, wenn etwas fehlt oder sich ändert.