Přeskočit na obsah
Tech-Blog Chatujme.cz Chatujme.cz
Internet a sítě

V dohledu nad CT logy přestal Cloudflare upozorňovat na certifikáty, které vydal sám

Služba, která majiteli domény hlásí každý nový certifikát nalezený ve veřejných logech, posílala hlavně zprávy o rutinním obnovování. Cloudflare je teď odfiltruje podle otisku veřejného klíče a nechá projít jen certifikáty, které nevydal. Dohled tím po letech opouští veřejnou betu.

· aktualizováno 1. 9. 2026 · 195 zhlédnutí

Stěna s policemi plnými barevných lávových lamp ve vstupní hale, pod nimi nápis Cloudflare
Vstupní hala Cloudflare se stěnou lávových lamp. Foto: HaeB, Wikimedia Commons (CC BY-SA 4.0)

Certifikát pro cizí doménu se dá vydat omylem i naschvál a majitel webu se o tom nemá jak dozvědět z vlastního serveru. Proto existují veřejné seznamy vydaných certifikátů a nad nimi služby, které majiteli pošlou e-mail, jakmile se v seznamu objeví jeho jméno. Jednu takovou provozuje Cloudflare a 13. srpna 2026 oznámil, že ji přestal zahlcovat vlastní prací.

Co jsou logy Certificate Transparency

Certificate Transparency je evidence, do které certifikační autorita zapisuje každý certifikát, který vydala. Popsalo ji RFC 6962 z roku 2013, novější verzi 2.0 pak RFC 9162 z prosince 2021. Smysl je podle abstraktu obou dokumentů ten, aby kdokoli mohl kontrolovat, co autority dělají, a všiml si podezřelého vydání.

Zápis do logu není dobrovolný v tom smyslu, v jakém bývá dobrovolná dokumentace. Politika Chromu říká, že certifikát bez potvrzení z logů v Chromu neprojde ověřením. Kolik potvrzení je potřeba, závisí na délce platnosti: u potvrzení vložených přímo do certifikátu stačí do 180 dnů dvě z různých logů, nad 180 dnů jsou tři. Potvrzení se jmenuje SCT, tedy signed certificate timestamp, a autorita ho dostane od logu výměnou za zápis.

Zápis přitom probíhá dvakrát. Autorita nejdřív pošle do logu takzvaný předběžný certifikát, dostane za něj SCT, ta vloží dovnitř konečného certifikátu a ten zapíše znovu. Kdo logy čte, vidí u jedné objednávky dva záznamy.

Hlášení chodila hlavně o rutině

Cloudflare svou hlídací službu spustil ve veřejné betě v roce 2019 a dnes ji má podle vlastních čísel zapnutou přes 650 000 zákaznických domén. Jenže certifikáty pro ty domény z velké části vydává sám: Universal SSL, Advanced Certificate Manager, Total TLS, záložní certifikáty. Všechny putují do veřejných logů, jak mají, a všechny majiteli spouštěly upozornění.

K tomu se přidává frekvence. Jediný certifikát Universal SSL se podle Cloudflare obnovuje klidně po 60 dnech, tedy zhruba šestkrát do roka. A ta čísla půjdou nahoru: sdružení CA/Browser Forum schválilo hlasováním SC-081v3 rozvrh, podle kterého maximální platnost certifikátu klesla od 15. března 2026 na 200 dnů, od 15. března 2027 spadne na 100 dnů a od 15. března 2029 na 47 dnů. Pro hlasování bylo 25 z 30 autorit a všichni čtyři výrobci prohlížečů; proti nikdo.

Výsledek se dal čekat. Cloudflare cituje zákazníka z vlastního komunitního fóra, který funkci vypnul na všech webech, protože byl (v překladu) „unavený z toho, jak mě pravidelně spamují spousty úplně normálních obnovení certifikátů“, a dodal, že „ke konci už jsem je vlastně ani nečetl“. Mezi stovkami takových zpráv by se opravdu podezřelý certifikát ztratil.

Proč se to nedalo odfiltrovat dřív

Uvnitř Cloudflare běží dvě oddělené soustavy: jedna objednává a vydává certifikáty, druhá čte veřejné logy a rozesílá e-maily. Když druhá z nich narazí v logu na nový záznam, má k dispozici jen to, co v logu stojí. Nikdo jí neřekne, že o pár vteřin dřív si týž certifikát objednala ta první.

Nabízelo se použít otisk, který už služba měla. Aby neposílala dva e-maily za jednu objednávku, počítá si hodnotu stripped_fingerprint – otisk podepisované části certifikátu (TBSCertificate) v kódování DER, který vyjde stejně u předběžného i u konečného certifikátu. Jenže objednávková soustava předběžný certifikát nikdy nevidí, takže tuhle hodnotu umí spočítat až na konci. V okně mezi oběma zápisy by se hledalo něco, co ještě neexistuje, a e-mail by odešel.

Klíčem je otisk veřejného klíče

Cloudflare proto sáhl po jiném údaji: po veřejném klíči. Ten sedí ve struktuře SubjectPublicKeyInfo a je stejný v žádosti o certifikát, v předběžném certifikátu i v konečném. Firma si z něj počítá otisk SHA-256 a zapisuje ho už při generování klíčového páru, tedy dřív, než se cokoli dostane do logu.

Hlídací služba pak u každého nalezeného záznamu tentýž otisk dopočítá z certifikátu a podívá se, jestli ho objednávková soustava zná. Když ano, certifikát je jejich a e-mail se neposílá. Když ne, upozornění odejde jako dřív. Pro každé vydání se přitom generuje nový klíčový pár, takže shoda otisku znamená shodu objednávky.

Co se změnilo a co ne

  • Certifikáty z produktů Cloudflare procházejí tiše, včetně obnovení.
  • Tiše procházejí i opuštěné předběžné certifikáty, u kterých vydání nikdy nedoběhlo. Dřív vypadaly jako záhadné cizí zápisy.
  • Certifikát, který si zákazník nahraje sám, upozornění pořád vyvolá – Cloudflare k němu klíč negeneroval, takže nemá co porovnávat.
  • E-maily nově uvádějí dotčené jméno serveru v předmětu a odkazují na certifikát v ovládacím panelu.

Služba je dostupná ve všech tarifech bez příplatku a kdo ji má zapnutou, nemusí dělat nic. Dál chce Cloudflare hlášení propojit se svým systémem oznámení, aby se dala posílat na webhooky nebo do PagerDuty místo dnešního e-mailu.

Filtr ví, kdo certifikát vydal, ne kdo si ho přál

Stojí za to si všimnout, na čem je rozhodování postavené: filtr odpovídá na otázku „vydali jsme ho my?“, ne na otázku „chtěl to majitel domény?“. Certifikát objednaný přes cizí přístup do účtu u Cloudflare je z pohledu filtru certifikát Cloudflare, a e-mail tedy nepřijde. Podle nás je to rozumný kompromis – upozornění, které nikdo nečte, nechrání nikoho –, ale je dobré vědět, kde má hranici.

Ze samotných logů nezmizelo nic. Zůstávají veřejné a číst je může kdokoli, což je celý smysl Certificate Transparency; Cloudflare jen přestal o části z nich psát e-maily.

Internet a sítě

TLS certifikáty Cloudflare Certificate Transparency

← zpět na výpis