Let's Encrypt umožňuje ověření domény pomocí několika metod, známých jako challenge. Každý typ challenge má své specifické požadavky a je vhodný pro různé situace:
DNS-01 challenge je metoda ověření, která je obzvláště užitečná v případech, kdy server není přímo dostupný z internetu nebo je umístěn v uzavřené síti. Funguje následujícím způsobem:
Let's Encrypt poskytne specifický textový záznam (token), který je potřeba přidat do DNS jako `_acme-challenge.<doména>`.
Let's Encrypt zkontroluje DNS záznamy pro vaši doménu. Pokud záznam existuje a odpovídá očekávané hodnotě, ověření proběhne úspěšně.
Po úspěšném ověření Let's Encrypt vygeneruje certifikát pro vaši doménu.
V prostředí uzavřené sítě, kde:
DNS-01 challenge umožňuje:
Uvažujme, že vlastníte doménu `nosekpetr.cz`, která je hostována na Cloudflare, a chcete provozovat subdoménu `teslamate.nosekpetr.cz` v uzavřené lokální síti.
Tento přístup umožňuje provoz šifrovaných služeb v lokální síti bez nutnosti, aby byl server přímo dostupný z internetu.
Warning
Je důležité věnovat pozornost nastavení DNSSEC. Pokud je na doméně aktivní, je nutné jej nejprve vypnout a počkat alespoň 24 hodin, než provedete změny nameserverů a další konfigurace na Cloudflare.
Rozhodl jsem se převést správu DNS záznamů na Cloudflare, protože Cloudflare nabízí API, které umožňuje automatizovat proces ověření pomocí DNS-01 challenge. Tento přístup eliminuje nutnost manuální správy TXT záznamů při každém ověření certifikátu.
Mou doménu `nosekpetr.cz` mám registrovanou u českého registrátora, ale jednoduše jsem si nastavil, aby DNS záznamy spravoval Cloudflare.
Proces zahrnoval založení účtu na Cloudflare a využití funkce pro přidání existující domény. Cloudflare mi následně poskytl nové nameservery, které jsem nastavil v administraci u svého registrátora.
Po nastavení nameserverů jsem vyčkal 24 hodin, aby se změny plně projevily. Poté jsem mohl začít editovat DNS záznamy přímo v rozhraní Cloudflare.
Inspiroval jsem se v tomto návodu. Hezky je postup vysvětlený i na videu:
Nejprve je potřeba získat autentizační údaj, který umožní pracovat s konkrétní doménou (zónou). Cloudflare nabízí dva typy takových údajů:
Pro naše účely zvolíme tokeny, protože nabízejí vyšší úroveň bezpečnosti. Tokeny umožňují přesně definovat, k jakým datům a operacím mají přístup, čímž výrazně snižují riziko zneužití.
Oproti návodu už nebudu pracovat s Certbotem, ale certifikáty obsloužím v Traefik - reverzní proxy.