Výběr SSL certifikátu v době Let’s Encrypt
Chcete přejít na HTTPS, ale nevyznáte se v SSL certifikátech?
Pokud jste se konečně rozhodli, že váš webový projekt potřebuje HTTPS, může vás hned na začátku zarazit výběr SSL certifikátu. Provedu vás tím, co to SSL certifikáty vlastně jsou, nad čím se budete rozhodovat a jak si nějaký bez obav pořídit.
Co je to SSL certifikát
Pro naše potřeby se dá říci, že SSL certifikát je něco jako občanka pro web. Certifikační autority, představte si je třeba jako místní magistráty, od vás dostanou žádost o vystavení certifikátu pro určitou doménu. Ověří si, že ten kdo s doménou může nakládat s certifikátem souhlasí, a vystaví ho. Náš prohlížeč pak při návštěvě dané domény zkontroluje, „jestli občanku vydal ten správný magistrát“ a nejedná se o padělek.
Certifikační autority a proč na nich záleží
Certifikačních autorit (dále jako CA) je velké množství. Zásadní pro naše rozhodování není cena, za kterou certifikáty prodávají, ale důvěryhodnost dané CA. Vaši občanku vydanou místním magistrátem akceptují v celé Evropské unii. Funguje to ale jen díky vzájemné důvěře členských států, že každý magistrát zodpovědně dodrží domluvené postupy. U SSL certifikátů je to velmi podobné.
Namísto EU zde máme Internet (prostor) a CA/Browser fórum (formality), namísto států webové prohlížeče. A právě na tom, jestli prohlížeče věří vaší vybrané CA vše stojí a padá.
Když vše trošku zjednodušíme, tak dnes jsou zásadní podmínky, na kterých se vzájemně CA a výrobci prohlížečů dohodli v rámci CA/Browser fóra. Aktuální seznam členů pak napovídá, které autority to berou vážně.
Naprostou většinu SSL certifikátů dlouho vydávaly komerční autority (jednoduše společnosti, které se živí vystavováním a prodejem certifikátů). V roce 2016 se ale objevila nová otevřená certifikační autorita Let’s Encrypt, která vystavuje certifikáty automatizovaně a zdarma.
Jak můj prohlížeč pozná, která autorita je správná?
Prohlížeče si udržují seznam všech CA, které jsou v aktuální době oprávněné certifikáty vystavovat.
Nejznámější je asi projekt Mozilla CA Certificate Program, v rámci kterého Mozilla spravuje aktuální seznam důvěryhodných CA. Ten pak používá Firefox, ale i spousty dalších projektů nejen od Mozilly.
V naprosté většině případů platí, že pokud je CA v tomto seznamu, bude fungovat ve všech rozumných prohlížečích.
Ověřování certifikátu a jeho typy
Certifikační autority si musí při vystavení certifikátu ověřit, že jste to opravdu vy. Nejde jim až tak o to, kdo jste osobně, ale že máte oprávnění o certifikát pro požadovanou doménu žádat.
Rozlišujeme 3 typy ověření (validace) dle toho, jak je při něm CA důkladná:
1. Doménová validace (DV)
CA si jednoduše ověří, že máte přístup k doméně, pro kterou vystavuje certifikát. Ověření probíhá většinou jednou ze tří metod:
- potvrzením na jednom z administrativních e-mailů domény
- umístěním specifického souboru na web
- nastavením specifického DNS záznamu
Druhé dva způsoby můžete znát např. z ověřování při přidávání domény do Google Webmaster Tools, Facebooku a dalších služeb.
2. Validace dle organizace (OV)
CA manuálně ověří, že vystavuje certifikát pro doménu, na kterou má organizace práva (vlastní ji nebo má smlouvu s vlastníkem), o vystavení ví a souhlasí s ním.
V některých prohlížečích se vedle adresního řádku zobrazí název organizace.
3. Rozšířená validace (EV)
Jednoduše přidává další kontroly, kterými se musí projít, než se certifikát vystaví.
V některých prohlížečích se vedle adresního řádku zobrazí název organizace a celý řádek se zeleně podbarví, což bylo hlavním tahákem EV certifikátů.
Proč už na typu validace nezáleží?
Hlavním tahákem OV a EV certifikátů bylo zobrazení názvu organizace v prohlížeči a zelený adresní řádek. Prohlížeče ale přestávají OV a EV certifikáty jakkoliv odlišovat, navíc to vedlo k mnoha nešťastným situacím.
V mobilních prohlížečích (Chrome, Safari) už název neuvidíte, Google Chrome zase nezobrazuje zelený adresní řádek, a ani zelený text. OV a EV certifikáty tak úplně splývají a vše nasvědčuje tomu, že co do zobrazení brzy úplně splynou i s DV certifikáty.
V praxi se také ověřilo, že uživatelé stejně nedokáží jednotlivé prvky zabezpečení, které prohlížeče zobrazovaly (či stále zobrazují), rozlišit.
Podrobný rozbor zbytečnosti EV se můžete dočíst v článku EV certifikáty jsou mrtvé od Troye Hunta.
Dejte si pozor na to, že většina prodejců vás bude stále přesvědčovat, že pro větší e-shop potřebujete EV certifikát. Nenechte se zviklat.
Domény a poddomény
Abychom se v další části neztratili, pojďme si nejdříve zopakovat co to je doména, poddoména, jak se dělí a jak se na ně odkazuje. Jestli se vyznáte, přeskočte rovnou na další kapitolu.
Domény
Například igloonet.cz
je základní doména, kterou si koupíte a na které provozujete svůj webový projekt.
Poddomény
Pokud máme například blog.igloonet.cz
, už z názvu poddoména nás napadne, že když doména je igloonet.cz
, poddoména bude asi blog
.
Situace se ale komplikuje, když si vybereme jako příklad www.blog.igloonet.cz
. Co je tady poddoména? www
? blog
? nebo snad www.blog
? Těžko říct, dokud si neřekneme „poddoména čeho?“.
Přesnější je označení pomocí „řádů“. Zjednodušeně je to tak, že tečky oddělují řády. Pokud tedy máme uvedený příklad www.blog.igloonet.cz
, platí že:
- doména 1. řádu je
cz
- doména 2. řádu je
igloonet
- doména 3. řádu je
blog
- doména 4. řádu je
www
Pozor: www je poddoména jako každá jiná. Díky zvyklostem většinou platí, že na webu se
www.nejaka.domena
anejaka.domena
rovná. Vlastník si zvolí, která z variant je hlavní, a tu druhou na ni přesměruje. Jedná se ale o dvě odlišné FQDN!
Plně kvalifikované doménové jméno
Přesnou cestu v doménové hierarchii určuje plně kvalifikované doménové jméno (FQDN), občas nazývané také jako absolutní doménové jméno. Všechny následující odrážky jsou FQDN.
igloonet.cz
www.igloonet.cz
blog.igloonet.cz
www.blog.igloonet.cz
Zásadní je, že FQDN je vždy přesné. Chce-li po nás někdo FQDN, nemůžeme mu například říct, že je to igloonet.cz
a myslet si, že www.igloonet.cz
to bude určitě taky. Je to buď jedno nebo druhé.
Typy certifikátů
Vraťme se od domén opět k certifikátům. S další troškou zjednodušení můžeme SSL certifikáty rozdělit na tři typy dle toho, pro kolik (pod)domén certifikát platí:
1. Certifikáty pro jednu doménu
Základní SSL certifikát bude platný pro jedno konkrétní FQDN. Pokud si koupíte certifikát pro www.igloonet.cz
, na blog.igloonet.cz
již fungovat nebude, protože se jedná o jinou doménu.
Slušné certifikační autority alespoň automaticky zajistí, že pokud je poddoména
www
, přihodí se i varianta bez ní. Pokud tedy pořídítewww.igloonet.cz
automaticky vám přihodí iigloonet.cz
.Obráceně to ale nefunguje, takže pokud provozujete web (jako my) na
nejaka.domena
, pořiďte si radši certifikát prowww.nejaka.domena
u autority, která přihodí i variantu bez www. Většina lidí totižwww
před doménu napíše, i když jim řeknete doménu bez.
2. Wildcard certifikáty
Pokud potřebujete zabezpečit více poddomén, pomůže vám wildcard (hvězdičkový) certifikát.
Ten funguje tak, že v FQDN nahradíte doménu posledního řádu hvězdičkou, a on tak platí pro libovolnou doménu stejného řádu jako hvězdička.
- Certifikát se vystavuje např. pro
*.igloonet.cz
. Nášblog.igloonet.cz
už bude konečně fungovat. - Domény nižších řádů už ale zabezpečné nebudou -
www.blog.igloonet.cz
nebosuper.blog.igloonet.cz
budou hlásit chybu (viz předchozí kapitola). - Opět musíte natrefit na slušnou certifikační autoritu, aby vám do certifikátu přidala i samotné
igloonet.cz
. Zde je ale naštěstí slušná většina.
Komerční wildcard certifikáty většinou bývají násobně dražší než komerční základní certifikáty. Pokud opravdu nepotřebujete neomezeně poddomén a máte jich jen pár, možná vás vyjde levněji nákup více základních certifikátů.
3. SAN (multi-doménové) certifikáty
Posledním typem certifikátu jsou multi-doménové. Ty umí s jedním certifikátem zabezpečit nejen třeba tři poddomény, ale klidně i úplně jinou doménu. V našem případě bychom tak mohli mít jeden SAN certifikát, který zabezpečí:
www.igloonet.cz
igloonet.cz
blog.igloonet.cz
www.ssl-certifikaty.cz
ssl-certifikaty.cz
Let’s Encrypt nebo komerční certifikát?
No a nakonec ta nejzásadnější otázka. Je pro váš projekt nejlepší SSL certifikát od komerční CA nebo stačí ten zdarma od Let’s Encrypt (LE).
Dle mě je rozhodnutí naprosto jednoduché. Nejdříve si zopakujme k čemu jsme došli:
- Doménově validované certifikáty jsou naprosto dostatečné. OV a EV certifikáty už nepřináší, nebo brzy nebudou přinášet žádnou výhodu.
- Prohlížeče zajímá pouze to, že certifikát je vydaný důvěryhodnou autoritou (plus že je platný a nebyl revokován).
To nám tedy říká jedinou věc, LE je pro nás stejný, jako ostatní autority.
Jak se tedy rozhodnout?
Samozřejmě dle ceny. Důležité je ale zaměřit se na cenu celkovou, tedy:
- cenu pořízení certifikátu
- cenu za prodloužení certifikátu
- cenu instalace certifikátu
- cenu instalace při prodlužování certifikátu
- cenu instalace automatizačního řešení
Pokud byste si například pořídili LE certifikát zdarma, a pak někomu platili každé tři měsíce za jeho ruční prodloužení, bude to opravdu drahé řešení zdarma. Nehledě na to, kolikrát se na prodloužení zapomene.
Pokud řešíte pouze jeden certifikát, může být nasazení automatizace pro LE nevýhodné i v delším měřítku, záleží jednoduše na tom, co používáte za systém, jak máte schopné lidi a jaké máte kapacity.
Let’s Encrypt
Základní vlastnosti
- vystavení a prodloužení zdarma
- platnost certifikátů 3 měsíce
- podporuje SAN i Wildcard certifikáty
- podporuje pouze DV validaci
- nemá technickou podporu
Kdy ano
- Máte hosting, který LE přímo zdarma podporuje a jinde certifikát neinstalujete
- Máte velké množství certifikátů instalovaných na stejném OS
- Potřebujete přidávat certifikáty automaticky a rychle dle potřeby
- Máte certifikát jen na malém množství systémů, kde lze snadno nasadit existující nástroje na automatizaci
Komerční autority
Základní vlastnosti
- vystavení i prodloužení stojí nižší stovky korun
- platnost certifikátů 1 nebo 2 roky
- dražší SAN či Wildcard certifikáty
- podporují DV, OV i EV validaci
- většinou non-stop technická podpora
Kdy ano
- Potřebujete certifikát instalovat na vícero různých serverů a operačních systémů
- Instalujete certifikáty převážně na Windows, interní systémy a podobné
- Máte zaběhlé procesy a existující nástroje na komerční certifikáty
- Potřebujete podporu v případě, že něco nefunguje
Máte vybráno?
Doufám, že vám článek pomohl se alespoň trošku zorientovat a nepřinesl příliš mnoho dalších otázek. Pokud potřebujete s výběrem pomoci nebo máte nějaké dotazy, nebojte se zeptat v komentářích.
Pro pořádek uvádím, že provozujeme projekt SSL Certifikáty, který jsme před dávnou dobou spustili kvůli tomu, aby bylo snadné pořídit certifikát, i když neumíte anglicky a potřebujete pomoc. Dnes už je prodejců v Česku i na Slovensku spousta.
A pokud máte web u nás na hostingu, nemusíte hledat nic, certifikát od Let’s Encrypt máte dávno automaticky funkční. 🙂