Datahorses

Záznamy Certificate Transparency: co prozrazují o vašich doménách

Autor: · · 4 min čtení

Certificate Transparency (CT) je systém logů, do kterých lze pouze přidávat a které zaznamenávají TLS certifikáty v okamžiku, kdy je certifikační autorita vydá. Tyto logy si může přečíst kdokoli. Pro vaši firmu to znamená 2 věci: kdokoli z nich zjistí, pro které názvy hostitelů máte certifikáty, a vy si díky nim můžete všimnout certifikátu pro vaši doménu, o který nikdo z vaší firmy nežádal.

Protokol poprvé popsalo RFC 6962 (červen 2013) a verzi 2.0 přineslo RFC 9162 (prosinec 2021). Obě RFC patří do kategorie Experimental, prohlížeče však na CT v praxi stojí: Chrome vyžaduje, aby obecně důvěryhodné TLS certifikáty splňovaly CT, a Apple má pro své platformy vlastní politiku CT.

Pokud tedy prohlížeč důvěřuje certifikátu pro yourcompany.com, téměř jistě k němu existuje záznam v logu.

Co logy prozrazují o vaší firmě

Záznam v CT obsahuje názvy, které certifikát pokrývá, vydávající autoritu a dobu platnosti. Všechny záznamy pro vaši doménu dohromady ukazují:

  • Vaše subdomény. vpn.yourcompany.com, jira.yourcompany.com, staging-api.yourcompany.com: každý název, který kdy měl vlastní certifikát.
  • Vaše dodavatele. Vydavatelé a způsob pojmenování často napovídají, jaké hostingové, poštovní nebo SaaS platformy používáte.
  • Vaši historii. Staré záznamy v logu zůstávají, takže jsou stále vidět i názvy z projektů ukončených před lety.
  • Nové certifikáty hned, jak se objeví. Nový záznam pro název, který neznáte, nebo od autority, kterou nepoužíváte, stojí za to prověřit.

Nic z toho není chyba CT. Smyslem systému je, aby chybně vydané certifikáty nemohly zůstat skryté. Váš seznam názvů hostitelů proto není soukromý a je lepší, když si ho přečtete dřív než kdokoli jiný.

Jak logy prohledat sami

Nejjednodušší je použít crt.sh, vyhledávací rozhraní nad logy CT. Zadejte svou doménu nebo použijte % jako zástupný znak pro všechny subdomény:

https://crt.sh/?q=%25.yourcompany.com

Pokud chcete seznam dále zpracovat, přidejte &output=json:

curl -s 'https://crt.sh/?q=%25.yourcompany.com&output=json' \
  | jq -r '.[].name_value' | sort -u

Ve výsledcích hledejte:

  • Názvy, které nikdo nezná. Každý by měl patřit k systému, o který se konkrétně někdo stará.
  • Testovací a staging názvy jako dev, test, old, beta. Často vedou na zapomenuté staging servery.
  • Názvy, které se už nepřekládají nebo ukazují na platformu, kterou jste přestali používat. Prověřte, zda nejde o visící DNS záznamy, které umožní převzetí subdomény.
  • Nečekané vydavatele. Certifikát od autority, kterou jste nikdy nepoužili, si zaslouží ověření u týmu, který spravuje vaše DNS a hosting.
  • Nedávná data, která neumíte vysvětlit. Nejnaléhavější je čerstvý certifikát pro vaši hlavní přihlašovací adresu, o který nikdo nežádal.

Mějte na paměti, že wildcard certifikáty (*.yourcompany.com) jednotlivé subdomény nevypisují. Logy vám tedy ukážou hodně, ale ne všechno.

Omezte, kdo smí vydávat: záznam CAA

Záznamem CAA, který definuje RFC 8659, certifikačním autoritám sdělíte, které z nich smějí pro vaši doménu vydávat certifikáty. Autority ho před vydáním kontrolují. Typické nastavení:

yourcompany.com.  CAA 0 issue "letsencrypt.org"
yourcompany.com.  CAA 0 issuewild ";"
yourcompany.com.  CAA 0 iodef "mailto:security@yourcompany.com"

Toto nastavení povoluje jedinou certifikační autoritu, zakazuje wildcard certifikáty a uvádí adresu pro hlášení. CAA nenahrazuje CT: omezuje, co lze vydat, kdežto CT ukazuje, co se skutečně vydalo.

Certifikáty se zkracují, logy se plní rychleji

Podle hlasování CA/Browser Forum SC-081, které je dnes součástí Baseline Requirements, je maximální platnost veřejných TLS certifikátů 200 dní pro certifikáty vydané od 15. března 2026, 100 dní od 15. března 2027 a od 15. března 2029 už jen 47. Obnovy budou častější a většinou automatické, takže pro vaše domény přibude v CT víc záznamů. Ručně je procházet bude méně praktické a o to cennější bude jasný přehled „očekávaných“ certifikátů. Jak tuto změnu zvládnout při obnovách, popisujeme v článku proč expirace certifikátu stále shazuje weby.

Co dělat, když najdete něco nečekaného

  1. Zjistěte, komu certifikát patří. Zeptejte se IT, marketingu a vašich agentur, zda o něj žádali.
  2. Pokud nikdo, kontaktujte autoritu, která ho vydala. Každá zveřejňuje postup, jak nahlásit chybně vydaný certifikát a požádat o jeho zneplatnění.
  3. Zkontrolujte DNS a registrátora. Nečekaný certifikát může být důsledkem změny DNS, projděte proto body z našeho článku o změnách jmenných serverů a registrátora.
  4. Přidejte nebo zpřísněte CAA, aby tatáž autorita nemohla bez vašeho souhlasu vydat další.

Krátký kontrolní seznam

  • Vyhledejte na crt.sh %.yourcompany.com a uložte si seznam názvů.
  • Ke každému názvu přiřaďte systém a odpovědnou osobu.
  • Odstraňte nebo opravte názvy, které nikam nevedou.
  • Zveřejněte záznam CAA s autoritami, které používáte.
  • Nové záznamy kontrolujte pravidelně, ne jednou za rok.

Kam zapadá Datahorses

Datahorses hlídá vaši firmu zvenčí každý den a logy Certificate Transparency čte za vás: nové certifikáty vydané pro vaše domény, nové subdomény a záznamy CAA, které by je měly omezovat. Do vašich systémů nevstupujeme a žádné přístupy nepotřebujeme. Když něco nevypadá dobře, dostanete zjištění s jasným postupem, jak popisujeme v části co se stane, když něco najdeme. Úplný přehled toho, co hlídáme, najdete na úvodní stránce.

Další články

Všechny články