Jak vygenerovat certifikáty Let’s Encrypt s pomocí ACMESharp (3): Odlišnosti a praktické zkušenosti s Let’s Encrypt
V tomto seriálu se budu věnovat nasazení certifikátů certifikační autority Let’s Encrypt, které jsou k dispozici zdarma. Specialitou tohoto návodu bude generování certifikátů pro prostředí, které je offline, tedy bez přístupu k internetu.
Odlišnosti a praktické zkušenosti s Let’s Encrypt
V tomto díle se dozvíte s jakými odlišnostmi se můžete setkat u certifikační autority Let’s Encrypt. Pokud jste již pořizovali certifikáty od nějaké externí certifikační autority, jistě máte nějaké zkušenosti, co vše se smí, či nesmí.
Tím, že proces ověření probíhá automaticky a ověřuje se jen kontrola nad doménou, je vše značně jednodušší.
Krátké poznámky
Důležité připomenutí: Certifikační autorita Let’s Encrypt vystavuje certifikáty platné pouze po dobu 90 dní (3 měsíce). Doporučeno je obnovovat certifikáty každé dva měsíce.
Již od počátku existence CA Let’s Encrypt, je avizováno, že délka platnosti certifikátů bude v budoucnu zkracována, nicméně nebylo zatím upřesněno kdy.
Platnost žádosti o validaci DNS záznamu je 24 hodin.
Počet požadavků na jeden DNS záznam je omezen na 20 za den.
Celý proces žádosti o certifikát je zjednodušen, není třeba generovat žádost o klíč včetně soukromého klíče, celý proces proběhne jednorázově v rámci žádosti.
Možnost uvést nějaké informace k certifikátu jsou v podstatě omezeny, u certifikátu je uvedeno pro jaký DNS záznam je certifikát vystaven, případně je doplněn SAN.
Vystavené certifikáty se neprodlužují, po expiraci certifikátu se žádá opět o nový certifikát.
Žádosti o certifikáty k danému DNS záznamu se neověřují. Neověřuje se, zda certifikát již existuje, ani není následně starý certifikát odvolán. Toto je pouze teorie, nicméně v praxi jsem si nevšiml, že by mi byl nějaký certifikát odvolán.
Občas se může stát, že celý proces žádosti selže i když vše máte správně. Nebojte se a proveďte novou žádost s novými unikátními informacemi (viz níže odstavec Aliasy), žádost obvykle na druhý pokus projde.
Jak funguje ověřování DNS záznamů v režimu DNS Challenge?
Pro ověření vlastnictví domény potřebujete subdoménu obsahující verifikační řetězec.
Pokud máme například adresy zobec.cz a www.zobec.cz, pro které chceme vytvořit SSL certifikát, budeme mít tedy následující záznamy:
- TXT, _acme-challenge.zobec.cz,
- TXT, _acme-challenge.www.zobec.cz,
Validační řetězec má platnost 24h, pak žádost o ověření vyprší, takže času na vyřízení celého požadavku i čistě ruční cestou (neautomatizovaně) zvládneme bez problémů.
Aliasy používané v rámci požadavku skrze ACMESharp
Při práci s ACMESharp a tvorbě požadavků je třeba používat pro značení domén a dalších objektů aliasy. Tyto aliasy musí být v rámci jedné sady požadavku unikátní. ACMESharp si je totiž uloží a pamatuje si je a při pozdějším pokusu se starým aliasem vám budou vznikat různé komplikace, které sníží přehlednost o co žádáte a proč to nefunuje apod.
Na základě této praktické zkušenosti proto doporučuji používat nějaký systém pojmenování. V průběhu procesu se může stát, že žádost o certifikát s nějaké příčiny selže, může se proto stát, že budete žádost opakovat. Za těch několik let se mi stalo celkem dvakrát, že z neznámých příčin žádost selhala a bylo nutné celý proces žádosti o certifikát opakovat.
Z výše uvedených důvodů jsem zavedl následující pravidla pro pojmenování alias:
- [název objektu] – unikátní označení objektu, například domény, či žádosti pro SAN certifikát. Například: exd1 pro EXchange Domain 1.
- [datum] – datum vzniku aliasu ve formátu dYYMMDD. Například: d191230.
- [pořadí] – číslo pořadí objektu ve formátu RR. Například: r1.
Uvedený příklad je jen pro představu a upozornění na možné potíže v budoucnu a jak jim předcházet 😉
Na tento systém aliasů budu odkazovat v následujícím článku, kde budou uvedeny příkazy, které se na zde uvedené aliasy odvolávat.
Příklad pojmenování z praxe
Máme následující domény:
- intra.zobec.cz
- autodiscover.zobec.cz
a je datum 30.12.2019 a jedná se o první pokus o žádost o certifikáty.
Záznam intra.zobec.cz bude mít alias exd1d191230r1.
Záznam autodiscover.zobec.cz bude mít alias exd2d191230r1.
Záznam pro SAN certifikát bude mít alias exsand191230r1.
Seriál Jak vygenerovat certifikáty Let’s Encrypt s pomocí ACMESharp
- (1) Úvod [předchozí díl]
- (2) Instalace a počáteční konfigurace [předchozí díl]
- (3) Odlišnosti a praktické zkušenosti s Let’s Encrypt [tento článek]
- (4) Žádost o SAN certifikát [následující díl]
Pingback: Jak vygenerovat certifikáty Let's Encrypt s pomocí ACMESharp (1): Úvod | Michal Zobec: Blog // ZOBEC Consulting
Pingback: Jak vygenerovat certifikáty Let's Encrypt s pomocí ACMESharp (2): Instalace a počáteční konfigurace | Michal Zobec: Blog // ZOBEC Consulting