SSL certifikát pro bezpečnou HTTPS komunikaci
Základní informace a návod na volbu SSL certifikátu pro zabezpečení komunikace na internetu.
Webové stránky má již téměř každá firma, instituce, zájmové sdružení nebo kdokoliv pro blog či osobní prezentaci. S nástupem automatizovaných certifikačních autorit typu Let's Encrypt a nabídkou SSL certifikátů zdarma došlo na internetu k rapidnímu nárůstu zabezpečené komunikace. Uvádí se, že již přes 70 % internetové komunikace probíhá na šifrovaném protokolu HTTPS a toto číslo se bude stále zvyšovat. Pokud ještě nemáte stránky na HTTPS, měli byste to co nejdříve udělat.
Proč používat SSL certifikát?
SSL certifikát je nutný pro vytvoření a zajištění bezpečné HTTPS komunikace na internetu. Důvodů pro použití SSL certifikátu je několik, nejdříve však zmíníme důvod, který se uvádí, ale SSL certifikát jej nezajišťuje. Zabezpečení webových stránek ani aplikace proti hackerům SSL certifikát nezajistí! Pokud neaktualizujete aplikaci jako WordPress nebo programátor špatně naprogramuje web, SSL certifikát neochrání stránky před napadením. Opravdu ne.
Nasazením SSL certifikátu a zabezpečenou HTTPS komunikací primárně chráníte uživatele, návštěvníka stránek před odposlechem komunikace, před vložením zákeřného kódu do stránek nebo změněním obsahu (vkládání reklam, úprava obsahu). Toto je hlavní důvod, proč nasadit SSL certifikát i na ten nejmenší jednostránkový web, kde se domníváme, že nic k ochraně není.
Zásadním důvodem pro nasazení SSL certifikátu jsou přihlašovací a různé formuláře na webu, kde se vkládají citlivá data, která musíme při přenosu na internetu chránit před odposlechem, odcizením a zneužitím.
Řešíte-li na webových stránkách SEO optimalizaci, nastavení HTTPS může zvýšit hodnocení stránek ve vyhledávání. Tuto informaci publikoval již v roce 2014 Google na blogu.
Webové stránky nemající SSL certifikát jsou v nejpoužívanějším webovém prohlížeči Chrome negativně označovány "NOT SECURE" - "Nezabezpečeno" což působí velice nedůvěryhodně.
Nové technologie je možné v prohlížečích využívat pouze u zabezpečené komunikace. Nový protokol HTTP/2 výrazně zrychluje načítání webových stránek a bez HTTPS nebude funkční.
Automatizovaný SSL certifikát Let's Encrypt je zdarma a mnoho hostingových služeb jej nabízí ke svým programům také zdarma. Komerční certifikáty lze pořídit za stokoruny, cena již nehraje roli.
Častým argumentem nepoužívání SSL certifikátu jsou věty typu "Nemáme certifikát, protože se na webu nezadávají žádné osobní údaje." či "Konkurence to taky nemá.". Pokud máte stejné myšlení, znovu si prosím, přečtěte výše uvedené důvody proč SSL certifikát používat.
Klady HTTPS komunikace
- bezpečná komunikace mezi uživateským prohlížečem a serverem
- zabezpečení citlivých informací
- využití nových technologií (rychlý protokol HTTP/2, nové vlastnosti css)
- autentizace protistrany (webového serveru)
- SEO zvýhodnění stránek ve vyhledávání Google
- zrušení označení webu jako "Nezabezpečeno"
Zápory HTTPS komunikace
- nutnost zajištění SSL certifikátu
- technické nastavení https:// komunikace
- pocit vynucovaného nasazování HTTPS od Google a spol.
- potenciální nefunkčnost webových stránek
Každý SSL certifikát má datum expirace (jako doména) a je nutné jej obnovovat. Maximální platnost komerčních certifikátů byla zkrácena na 397 dní (max. 13 měsíců) a na obnovu se může zapomenout, u automatizovaných certifikátů (platnost 3 měsíce) může selhat jejich obnova. Je dobré využívat kvalitní dodavatele služeb kde podobné události nenastávají.
Co je to vlastně to "SSL"?
SSL je zkratkou pro protokol Secure Socket Layer (Wiki o SSL), který byl v "internetovém pravěku" (1994, např. Google vznikl 1998) vytvořen společností Netscape. Pro vytvoření bezpečné HTTPS komunikace je využíván certifikát vydaný důvěryhodnou třetí stranou, tzv. certifikační autoritou (CA), která ověřuje žadatele a vystavuje mu potvrzení. Místo SSL protokolu se dnes využívá standardizovaný protokol TLS (Transport Layer Security), avšak původní název pro certifikáty zůstal jako zažitý SSL certifikát.
Bezpečná komunikace a použití SSL certifikátu se během brouzdání internetem pozná jednoduše. Adresa domény má na začátku uvedeno https://, kde písmeno "S" znamená Secure (HTTPS - Hypertext Transfer Protocol Secure). Současně je v prohlížeči zobrazen zámeček, někdy zelený nebo šedý, záleží na prohlížeči. Pokud na zámeček klikneme, můžeme zjisti podrobnější informace o certifikátu.
Co je to HTTPS?
HTTPS je způsob šifrování dat (informací) odeslaných mezi prohlížečem a webovým serverem. Šifrování chrání návštěvníky a uživatele webových stránek před útoky typu "man-in-the-middle", kdy hacker může ukradnout informace odeslané na webovou stránku, například informace o kreditní kartě nebo přihlašovací údaje. Útočník může také podvrhnout obsah nebo provádět jiné škodlivé útoky. Zabezpečení komunikace HTTPS protokolem je dnes standardem pro všechny webové stránky.
Základní technické informace o SSL
Než dojde k zabezpečené HTTPS komunikaci, dochází mezi prohlížečem a serverem k tzv. handshake (vyjednávání), kde se vyměňují informace jak se bude komunikovat a předávají se šifrovací klíče. SSL certifikát se využívá na začátku komunikace, kdy na principu asymetrické šifry dochází k výměně klíčů a ověření serveru. Zde je velice důležitá důvěryhodnost certifikační autority která vystavuje SSL certifikát a potvrzuje pravost jeho majitele. Pokud je vše v pořádku, dojde k nastavení HTTPS komunikace a zabezpečení dat probíhá již pomocí symetrického šifrování (šifrování a dešifrování pomocí jediného klíče).
Jak probíhá spojení TLS 1.3 mezi klientem a serverem si můžete krok po kroku zobrazit na skvělé stránce Illustrated TLS Connection - Every byte explained and reproduced.
Asymetrické šifrování funguje pomocí páru šifrovacích klíčů – veřejný a soukromý (Wiki - Asymetrická kryptografie). Veřejný klíč je možné zveřejnit a pokud tímto klíčem kdokoliv zašifruje nějakou zprávu, je zajištěno, že ji bude moci rozšifrovat pouze a jen majitel soukromého klíče ke kterému patří použitý veřejný klíč. Platí to i obráceně, což se výužívá k autentizaci - zašifrovaná zpráva privátním klíčem může být rozšifrována pouze veřejným klíčem náležícímu k privátnímu. A pokud víme, že veřejný klíč patří konkrétnímu subjektu (ověřen u důvěryhodné autority), víme také s kým komunikujeme.
Certifikační autority
Jak bylo uvedeno, certifikační autorita ověřuje žádost o certifikát a vystavuje potvrzení veřejnému klíči o jeho majiteli. Na světě je mnoho certifikačních autorit a mimochodem si každý může vytvořit i vlastní autoritu pomocí volně dostupného software. Takto vystavené certifikáty se nazývají Self-signed SSL certifikáty, avšak jsou nedůvěryhodné a prohlížeče návštěvníkům zobrazí varování o nedůvěryhodném certifikátu namísto obsahu. Důvěryhodnost certifikační autority je zásadní vlastnost při výběru SSL certifikátu.
Aby byla certifikační autorita důvěryhodná, musí splňovat stanovená pravidla. Tyto si určují výrobci operačních systémů (Microsoft, Appe) nebo přímo výrobce prohlížeče, jako například Mozilla pro její prohlížeč Firefox, která má vlastní Mozilla CA Certificate Program a udržuje svůj seznam důvěryhodných autorit distribuovaný s prohlížečem. Taktéž na počítači s jakýmkoliv operačním systémem jsou již dopředu vloženy certifikáty mnoha cerifikačních autorit.
Mezi nejznámější a nejpoužívanější komerční certifikační autority patří autority Sectigo (do roku 2017 známá pod názvem Comodo), GeoTrust, RapidSSL nebo DigiCert. Nejpopulárnější je však autorita Let's Encrypt vytvořená veřejnou příspěvkovou organizací Internet Security Research Group (ISRG, založená 2014) a která vydává automatizované SSL cerifikát zdarma.
Certifikační autority jsou sdružené v CA/Browser fóru. Členové jsou nejen CA, ale i výrobci prohlížečů, operačních systémů a další firmy z IT (seznam členů). Toto fórum je velice důležité pro rozvoj a kontrolu certifikačních služeb, má vlastní pravidla a požadavky na vystavování certifikátů, kterými se musí certifikační autority řídit.
Druhy ověření SSL certifikátů
Ověření certifikátu je proces, jakým způsobem certifikační autorita validuje žadatele o certifikát. Rozlišujeme 3 druhy validace, které se liší hlavně požadavky na prokázání existence žadatele o certifikát.
Doménová validace (DV SSL)
Nejrychlejší, nejjednodušší a automatizovaný způsob ověření. Certifikační autorita ověřuje pouze oprávněnost přístupu k doméně uvedené v žádosti o certifikát. Ověření probíhá zasláním e-mailu na pevně dané schránky domény: admin@, administrator@, webmaster@, hostmaster@ nebo postmaster@. Případně lze ověřit vygenerovaným souborem umístěným do FTP prostoru domény či nastavením specifického DNS záznamu.
Jak probíhá doménová validace krok po kroku si můžete prohlédnou na stránce Ověření doménového certifikátu.
Firemní validace (OV SSL)
Oproti doménové validaci se jedná o manuální proces, kdy certifikační autorita musí ověřit reálnou existenci žadatele. Při validaci opět probíhá ověření domény, dále ověření firmy a telefonická validace. Data se zjišťují ve veřejných autoritativních databázích a každá CA má své postupy ověření.
Výhodou firemních certifikátů (OV - Organization Validation) je možnost autentizace a potvrzení pravosti komunikace, tedy že stránky které navštěvuji patří společnosti, kterou očekávám.
Nevýhodou je naopak schování informace o společnosti dovnitř certifikátu a běžný uživatel není schpen rozeznat rozdíl mezi doménových a firemním certifikátem za mnohonásobně vyšší cenu.
Rozšířená (Extended) validace (EV SSL)
EV SSL certifikáty jsou nejdůvěryhodnější SSL certifikáty a jejich nejdůležitější vlastností je zobrazení názvu společnosti pro kterou byl certifikát vystaven v adresním řádku prohlížeče, hned vedle názvu domény. V některých prohlížečích navíc s výrazným zeleným pozadím. Uživatel tak okamžitě vidí s kým komunikuje a jaká společnost stojí za webovými stránkami.
Validace je podobná jako u firemních certifikátů, je však důslednější a ověřuje se navíc manuálním zavoláním i osoba žadatele o certifikát. Jak probíhá validace EV certifikátu si můžete prohlédnou na stránce Ověření EV SSL certifikátu.
Společnost Apple, Google a Mozilla Foundation, tvůrci nejrozšířenějších internetových prohlížečů, od konce roku 2019 přestali zobrazovat název společnosti v adresním řádku (zobrazí se až po kliknutí na zámeček).
Zobrazení EV SSL certifikátu v prohlížeči Chrome v roce 2019.
Typy SSL certifikátů podle způsobu zabezpečení domén
SSL certifikáty mají různé vlastnosti, které se využívají pro zabezpečení internetových domén. Při výběru certifikátu bychom měli vědět, jakým způsobem chceme domény zabezpečovat.
SSL certifikát pro jednu doménu
Pro zabezpečení jedné domény jsou ideální základní, tedy i ty nejlevnější SSL certifikáty, které najdete v nabídce každé certifikační autority. Certifikát je vystaven pro konkrétní doménu uvedenou v žádosti o certifikát. Navíc pokud je žádost o doménu 2. řádu, tedy například domenaxyz.cz, certifikační autorita přidá k certifikátu obě varianty použití pro jednoduché nasazení na server. To znamená, že certifikát umožní zabezpečit doménu domenaxyz.cz i www.domenaxyz.cz a na majiteli stránek záleží, jakou variantu upřednostňuje a nastaví.
Pro jednu doménu můžeme doporučit levný SSL certifikát PositiveSSL či RapidSSL, případně Let's Encrypt je-li k dispozici na webhostingu. Pro nejdůvěryhodnější zabezpečení je vhodné nasadit EV SSL certifikát.
WildCard SSL certifikát
WildCard certifikáty nebo-li hvězdičkové certifikáty nabízí unikátní vlastnost, kterou je možnost zabezpečení neomezeného počtu sub-domén pod svojí hlavní doménou. Správcům serveru nabízí výrazné ušetření práce a tím i nákladů při instalaci a správě. V žádosti o WildCard certifikát se uvede před doménu hvězdička *.domenaxyz.cz, která umožňuje zabezpečit jakoukoliv sub-doménu, například mail.domenaxyz.cz, test.domenaxyz.cz, test150.domenaxyz.cz, cokoliv.domenaxyz.cz.
WildCard certifikát umožňuje zabezpečit i samostatnou doménu https://domenaxyz.cz, nezabezpečí však vyšší úrovně než je uvedená hvězdička jako test.domena3radu.domenaxyz.cz. Pro tuto úrověň sub-domén by musel být vystaven certifikát *.domena3radu.domenaxyz.cz.
Multi-doménový SSL certifikát
Multidoménové SSL certifikáty umožňují zabezpečit více různých domén jedním SSL certifikátem pomocí technologie SAN (Subject Alternative Name). Tyto certifikáty zabezpečí až 250 domén současně, přitom každá doména může být od jiné TLD (.cz, .sk, .com, .eu atd.), čímž se odlišují od WildCard SSL certifikátů pro zabezpečení neomezeně subdomén.
Sloučení zabezpečení domén do multi-doménového certifikátu nabízí ušetření správy mnoha certifikátů a často i výhodnější cenu na zabezpečení jedné domény. Jsou ideální pro firmy vyžadující současné zabezpečení více domén od různých TLD (.cz, .com, .sk). Multidoménové SSL certifikáty jsou také doporučené pro SSL zabezpečení Microsoft Exchange.
Jaký SSL certifikát vybrat?
Při výběru vhodného SSL certifikátu je dobré zvážit potřeby zabezpečené komunikace, počet zabezpečovaných domén/subdomén a vůli jak se prezentovat návštěvníkům. Pokud webhostingový poskytovatel nabízí Let's Encrypt, automatizovaný SSL certifikát zdarma, měl by jej použít a nasadit každý správce webových stránek, i uživatel pro svůj blog nebo jednoduchý web.
Levné základní doménové komerční certifikáty se vyplatí zvolit všude tam, kde není k dispozici možnost automatizace nasazení Let's Encrypt nebo je potřeba zabezpečit pouze několik domén. Typickým případem využití jsou například samostatné firemní poštovní servery, server s několik doménami, NAS servery a další zařízení. Komerční certifikát je také vhodný použít v případě, že poskytovatel negarantuje obnovu automatizovaného certifikátu každé dva měsíce a jakýkoliv výpadek návštěvnosti by mohl způsobit finanční škody.
Firmy, e-shopy a větší společnosti by měly zvážit přínos nasazení EV SSL certifikátu, který zobrazí název provozovatele v prohlížeči hned vedle domény a jehož cena je dnes výrazně nižší než v dřívějších dobách.
Certifikační autorita Let's Encrypt
CA Let's Encrypt je free, automatizovaná a otevřená certifikační autorita. Let's Encrypt je služba poskytovaná veřejnou příspěvkovou organizací Internet Security Research Group. Hlavními sponzory jsou Electronic Frontier Foundation (EFF), Mozilla Foundation, Akamai, Cisco Systems, OVH, Chrome a další. Přispět na provoz autority může kdokoliv na stránce letsencrypt.org/donate.
Vydávání a správa SSL certifikátů Let's Encrypt je prováděno na základě IETF standardu RFC 8555 - Automatic Certificate Management Environment (ACME).
Výhody Let's Encrypt certifikátu
- SSL certifikát zdarma
- rychlé získání certifikátu, DV validace
- stejné vlastnosti jako komerční DV certifikáty
- multi-doménové zabezpečení i WildCard
- široká podpora platforem pro automatizaci
- podporován mnoha hostingovými firmami
Nevýhody Let's Encrypt certifikátu
- pouze DV validace
- nutnost časté obnovy, platnost pouze 3 měsíce
- ne vždy fungující automatizace
- individuální nasazení vyžaduje zkušenosti
- nemá technickou podporu
Závěr
Ať už se rozhodnete pro jakýkoliv SSL certifikát, jeho nasazením a zprovozněním zabezpečené HTTPS komunikace přispějete svým dílkem k posílení bezpečnosti na internetu.