fb
IT Systems 0/2016 ITSM (ITIL) - Řízení IT 21. 11. 2016 12:49

Jaké jsou výhody a nevýhody převedení webu na HTTPS?

httpsTaké přemýšlíte nad tím, jestli dává smysl přesunout vaši webovou stránku z doposud používané HTTP adresy na její bezpečnější verzi HTTPS? A rádi byste se předem dozvěděli, co vás čeká a nemine?

Přechod na HTTPS rozhodně nepatří mezi jednoduché záležitosti a je tak třeba již na začátku zvážit všechna pro a proti. Tento článek přináší souhrn všech možných úskalí, která vás při přechodu na HTTPS mohou potkat a výčet hlavních důvodů, proč se vlastně (ne)pouštět do zavádění HTTPS na váš web. Nejdřív si ale pojďme připomenout, co to je HTTPS.

Co to je HTTPS?

HTTPS (Hypertext Transfer Protocol Secure) představuje internetový komunikační protokol, který se využívá k přenášení dat na internetu. S HTTPS jste se už nejspíše setkali. Pouze o tom jen asi nevíte. Nejsnazší způsob, jak poznat stránky zabezpečené pomocí HTTPS protokolu, je podívat se do adresního řádku, zda tam náhodou nevidíte obrázek zaklapnutého zeleného zámku.

Obrázek č. 1 - ukázka adresního řádku s HTTPS protokolem
Obrázek č. 1 - ukázka adresního řádku s HTTPS protokolem


Jak se od sebe liší HTTP a HTTPS?

HTTPS se liší pouze tím, že data, které se přenáší mezi serverem (webová stránka, kterou si chcete prohlédnout) a klientem (váš internetový prohlížeč), jsou šifrovaná. A je tedy obtížnější je odposlouchávat, sledovat nebo modifikovat. Protokol HTTPS zároveň ověřuje protistranu (kdo data skutečně posílá). Uživatelé tak vědí, s kým komunikují a že se je nesnaží nikdo podvést. Nicméně ani využití HTTPS neznamená, že komunikace nemůže být odposlouchávána či pozměněna. Pomocí metody MiTM (man-in-the-middle) to samozřejmě jde, jen je to už trochu složitější.

MiTM (man-in-the-middle, volně přeloženo do češtiny - muž uprostřed) je metoda spočívající v tom, že mezi dvěma komunikujícími uživateli se nachází prostředník (zpravidla útočník), který všechen provoz odposlouchává a odesílá oběma subjektům vlastní šifrovací klíče, čímž může získat přístup k obsahu šifrovaných zpráv a ty pak následně také měnit. Ani jeden z uživatelů tak o existenci tohoto prostředníka nemusí mít vůbec ponětí.

Jak funguje HTTPS?

Systém zabezpečení u HTTPS probíhá prostřednictvím TLS protokolu, který je založen na důvěryhodných certifikačních autoritách. Tyto certifikační autority představují společnosti, od kterých si pak následně kupujete důvěryhodný SSL certifikát. Každý, kdo používá zabezpečený protokol, musí mít ve svém systému nainstalovaný seznam důvěryhodných certifikátů, tzn. seznam protistran, kterým věří a je ochoten s nimi komunikovat (tzn. důvěřuje jim). Ve výchozím stavu již operační systém každého obyčejného uživatele obsahuje nějaké důvěryhodné kořenové certifikační autority (například Verisign nebo Comodo). Webové servery, se kterými komunikujete mají certifikáty podepsané těmito důvěryhodnými certifikačními autoritami, o kterých si více povíme v další části článku.

Co se může stát, když nepoužíváte HTTPS?

Představte si, že se přihlašujete na nezabezpečeném webu a vaše heslo po cestě někdo odchytne a bude tak mít vaše přihlašovací údaje k danému účtu. Asi každý z vás si umí představit, jaký velkého strašáka může tato situace představovat pro banky a pro její uživatele, kteří se například přihlašují do elektronického bankovnictví. To však není jediná riziková situace, která by mohla nastat. Představte si, že svým uživatelům posíláte nějaká data a útočník je po cestě změní. Zákazníkovi kupříkladu po vyplnění objednávky podsune jinou adresu platební brány a nic netušící zákazník tak pošle peníze někomu zcela jinému. A obdobných rizik je u nezabezpečených přenosů více. Uživatelům, kteří se připojují na nezabezpečený web, můžete modifikovat přenášená data a zobrazovat jim či podsouvat jakýkoliv váš vlastní „škodlivý“ obsah (viry, bannery aj.). Vaše konkurence by tak čistě hypoteticky mohla pokaždé, když se uživatel bude chtít podívat na váš web, zobrazovat pornografický materiál, či vám škodit jakkoliv jinak dle libosti.

V jakých situacích by se měl využívat HTTPS protokol?

HTTPS by se měl využívat u jakýchkoliv webů, kde by zcizení či pozměnění dat mohlo způsobit nenapravitelnou škodu, jako například u:

  • E-shopů, kde lze vyplnit online objednávky a platit pomocí kreditní karty a je třeba zamezit zneužití či zcizení důležitých osobních či platebních údajů.
  • Bank a u finančních institucí, které pracují s platebními údaji a osobními údaji zákazníků.
  • Ve státní správě, na úřadech, jelikož tyto instituce velice často pracují s citlivými údaji (datum narození, adresa, rodné číslo aj.) a stejně tak jako všechny ostatní subjekty musí vaše tato data náležitě chránit.
  • U ostatních webů, které jakýmkoliv způsobem zpracovávají data zákazníků online (maily, adresy, telefony, platební údaje).

Rostoucí zájem o HTTPS díky marketingu

Před necelými dvěma lety Google vydal prohlášení, ve kterém upozornil, že weby využívající HTTPS (= SSL certifikáty) budou z pohledu SEO mírně upřednostňovány a budou se tak pravděpodobně zobrazovat výše ve výsledcích vyhledávání. Čehož se samozřejmě chytli lidé z marketingu v domnění, že jim právě přechod na HTTPS pomůže získat konkurenční výhodu.

Abych to uvedl na pravou míru - Google sice oznámil, že weby na HTTPS bude preferovat, ale sám Google zároveň také tvrdí, že HTTPS má velmi malou váhu a ovlivňuje to asi procento dotazů. Přecházet na HTTPS jen kvůli vyhledávači proto nedává v podstatě žádný smysl. Protože podobných signálů, které vyhledávač vyhodnocuje, jsou stovky. A kdyby mělo využití HTTPS třeba byť jen jednoprocentní podíl na výsledném hodnocení pozic na Googlu, tak se vám to zkrátka nejspíš stejně nevyplatí. Už jen proto, že je s tím spojeno obrovské množství práce. Ostatně tomu, jaké martyrium vás pak čeká, se věnuji podrobněji níže.

Nemusíte se ani bát toho, že se vám propadne web o desítky pozic. Stejně tak vám nehrozí penalizace za to, že váš web běží stále na nezabezpečeném HTTP. Je to prostě něco, co můžete udělat a získáte malou výhodu navíc. Ale když to neuděláte, nic hrozného se nestane. Vlastně skoro nic, jak ukazují výsledky většinu uživatelů, kteří se nechali zlákat přechodem na HTTPS kvůli SEO.

Na HTTPS byste tedy měli přecházet kvůli samotným uživatelům, abyste chránili jejich soukromí. Protože asi nic nevypadá hůře, než když se provalí nějaký bezpečnostní problém a data uživatelů pak běhají nezadržitelně po internetu a všichni ví, že za to můžete právě vy. O to horší to pak může být problém, pokud jste třeba firma, která poskytuje hosting, vyrábí webové stránky anebo provozujete například internetovou peněženku.

Certifikační autority

Certifikační autority jsou společnosti, od kterých si můžete pořídit certifikát pro implementaci HTTS pro váš web. Cena tohoto certifikátu se odvíjí od toho, na jaké úrovni se nachází společnost, od které certifikát kupujete, její marže a případně další náklady, které musí certifikační autorita vynaložit na svou vlastní certifikaci. Certifikační společnosti totiž mohou udělit oprávnění i dalším firmám a učinit z nich tak další certifikační autority, které mohou prodávat tyto certifikáty (zpravidla za nižší cenu) také a ty mohou opět toto oprávnění zase přeprodávat dále atd. Cena certifikátu se tak bude lišit tím, od jakého subjektu kupujete certifikát. Obecně platí, že čím déle certifikační autorita, od které certifikát nakupujete, existuje, tím dražší bývá kupovaný certifikát.

Váš certifikát může být důvěryhodný i v případě, že není přímo podepsán důvěryhodnou certifikační autoritou. Toho lze dosáhnout pomocí prostředníka - další certifikační autority. Pokud tedy například existuje obecně uznávaná certifikační autorita A, která podepíše důvěryhodný kořenový certifikát certifikační autoritě B, můžete pak používat certifikát i od certifikační autority B jako důvěryhodný. Tento “trust-path” lze v podstatě neomezeně řetězit, takže k vašemu certifikátu můžete dostat klidně ještě další 3 certifikáty, které sestavují cestu důvěryhodnosti k vašemu certifikátu. Toto může způsobovat problémy, když zprostředkované certifikáty, které jsou potřeba k ověření vašeho certifikátu, nejsou uvedeny ve správném pořadí, nebo když dojde ke zneplatnění některého z těchto certifikátů v celém tomto řetězení. Z toho důvodu je dobré snažit se mít trust-path co možná nejkratší, což má ale obvykle vliv i na cenu certifikátu.

Správnost nasazení SSL certifikátu si můžete ověřit např. na stránkách SSLlabs

Obrázek - řetězení certifikátů
Obrázek č. 2 - řetězení certifikátů


Cena certifikátu

Při přechodu na HTTPS si pořídit SSL certifikát, který musíte pravidelně obnovit. Proces obnovy certifikátu se dá automatizovat, jen vás to bude stát opět nějaký čas navíc, než přijdete na to, jak. Pokud nepotřebujete zrovna takto zabezpečit stovky webů, nemusíte se bát toho, že byste museli platit nějaké závratné částky. Navíc existuje hned několik firem nabízející důvěryhodné certifikáty zdarma a tak ne vždy musíte za certifikát platit. 

Ceny certifikátů se liší podle typu:

  • Automatizovaný důvěryhodný SSL certifikát od Let's Encrypt - nejlevnější (bezplatná) varianta. Některé české hostingy již nabízejí funkci auto-SSL. Tzn. všechny hostované weby u daného hostera mají k dispozici SSL certifikát (Let's Encrypt), který je buď zdarma anebo z nějaký symbolický poplatek. Jejich seznam sestavil Dušan Janovský ze Seznamu.
  • Základní komerční SSL - lze certifikát pořídit již cca od 150 Kč za rok a vztahuje se nejčastěji na jednu doménu.
  • SAN/UC - tyto certifikáty umožňují chránit jedním SSL certifikátem více domén.
  • SSL Wildcard certifikáty (někdy označovány jako tzv. hvězdičkové certifikáty) - představují univerzální typ SSL certifikátu, který umožňuje zabezpečit všechny subdomény pod jednou hlavní doménou. Wildcard certifikát obsahuje před názvem hlavní domény hvězdičku (např. *.lundegaard.cz) a jeho použití šetří finanční náklady na nákup dalších SSL certifikátů a v neposlední řadě i čas potřebný pro jejich instalaci a správu.
  • IDN SSL - jsou certifikáty využívající se k zabezpečí domény, které používají znaky mimo standardní abecedu latinky (a-z). IDN SSL certifikátem můžete zabezpečit například weby mající v názvu ruské či čínské znaky.

Samotné certifikáty se pak liší nejenom cenou, množstvím domén, které lze jedním certifikátem zabezpečit, ale také typem ověření:

  • DV SSL (Domain Validation) - cenově nejdostupnější SSL certifikáty, které pro svoje ověření používají pouze základní ověření na úrovni domény, kdy je zasílán verifikační e-mail. Obrovskou výhodou DV certifikátů je jejich rychlé vystavení, které může být provedeno během několika minut.
  • OV SSL (Organization Validation) - SSL certifikáty nabízí vyšší stupeň důvěryhodnosti oproti certifikátům DV díky kompletní identifikaci společnosti, pro kterou je SSL certifikát vystaven. Ověření společnosti zdůrazňuje důvěryhodnost provozovatele www projektu, návštěvník má možnost kdykoliv si provozovatele stránek ověřit.
  • EV SSL (Extended Validation certifikáty) – tento certifikát zbarví zeleně adresní řádek prohlížeče S EV SSL certifikátem se navíc vedle www adresy zobrazí i název společnosti.

Jak přejít na HTTPS?

Co vás tedy skutečně čeká, když se rozhodnete přejít na HTTPS vlastními silami? Asi největší překážka, která vás bude odrazovat od přechodu na HTTPS, je čas. S přechodem na HTTPS musíte počítat s tím, že vám určitý čas zabere nejenom samotné načítání si informací (jaké certifikáty existují, který z nich si vybrat a kde jej koupit), ale je třeba připočíst i čas strávený se samotnou implementací. Zkrátka musíte vědět, co kam vložit a jak to zkontrolovat, případně zajistit bezproblémový chod HTTPS). K tomu připočtěte čas strávený bug fixingem, kterému se tak jako tak nevyhnete. Samozřejmě pro zkušenou webhostingovou firmu či webového integrátora je to rutinní záležitost. Pokud však nikoho takového nemáte k ruce, můžete mít problém.

Zjednodušenou představu, co vše vás při přechodu na HTTPS čeká, si můžete udělat z následujících řádků.

Kompletní přesměrování

Web budete muset kompletně celý přesměrovat na nové URL adresy, které budou nově místo HTTP využívat HTTPS. A proč je vlastně přesměrování potřeba? Webové stránky běžící na HTTPS představují samostatný web, než ten, který doposud běžel na protokolu HTTP. Z pohledu vyhledávače tak máte vlastně dva totožné webové stránky. Pokud chcete zamezit tomu, abyste váš web neduplikovali (což z pohledu SEO není žádoucí stav), budete muset starý HTTP web přesměrovat na jeho novou HTTPS verzi. Jednu URL adresu po druhé tak budete muset pomocí stavového kódu 301 (Moved Permanently - což znamená, že se jedná o trvalý a ne jen dočasný stav). A teď si představte, že celý tento proces budete muset vyřešit například pro web, který dennodenně využívají tisíce lidí a vše tak musí proběhnout hladce, ideálně tak, aby koncový uživatel nic nepoznal.

Opět i zde samozřejmě platí, že pokud váš web využívá platformu, která je na tyto změny připravená, je celý proces daleko jednodušší a časově méně náročný.

Další starosti s přesměrováním

  • Musíte ověřit, že přesměrování funguje i na všech subdoménách webu.
  • Je nutné, abyste si přenastavili všechny URL adresy exportů (např. feedy pro heureka.cz nebo zboží.cz, kde musíte změnit URL adresu feedu na https). To samé vás čeká u obrázků, JavaScriptů, CSS, multimédií, PDF souborů atd.
  • Měli byste také zajistit, že HTTPS funguje i na subdoménách a externích zdrojích, ze kterých budete linkovat soubory – CSS, JS, obrázky, CDN, atd. Budete muset upravit všechny URL na webu tak, aby vedly na HTTPS stránky (použijte buď absolutní URL s HTTPS, relativní URL, nebo protocol relative URL „://“)
  • Budete také muset upravit canonical URL, aby nevznikalo zacyklení (zkrátka by uživatel mohl být přesměrován na jinou URL a zase zpět a tak pořád dokola a místo načtení webu by viděl jen neustále se měnící URL adresy).
  • Měli byste upravit tzv. hardcoded URL (natvrdo zapsané odkazy s http:// například v článcích, JavaScriptech, CSS souborech, atd.). Což opět představuje opravdu hodně práce.
  • Měli byste upravit hreflang URL, pokud jej používáte.
  • Měli byste upravit URL v RSS, pokud používáte RSS feed pro čtečky.
  • Měli byste upravit URL v Facebook, Twitter a jiných interaktivních tlačítkách, to samé se týká i meta tagů OG:URL.
  • Měli byste vytvořit také nový robots.txt a měli byste změnit umístění souborů sitemap.xml na https:// a upravit odkaz na sitemapu v robots.txt.
  • Měli byste změnit URL v souborech sitemap.xml na https://. U velkých webů musíte, u menších webů (do pár desítek stránek) byste měli zachovat původní tzv. řetězení přesměrování („redirect chain“). Musíte přesměrovat URL s _escaped_fragment_= na jejich alternativy 1:1, abyste uchovali informaci o skutečném zdroji návštěv.
  • Měli byste předchozí body otestovat ještě před nasazením (například pomocí nástrojů Screaming Frog, nebo Xenu´s Link Sleuth)
  • Musíte provést změny v Google Analytics, Google Webmaster Tools, Adwords, Sklik a v dalších nástrojích - dalším nutným krokem je pro přechodu na HTTPS přenastavit URL adresy v Google Analytics. Pokud to neuděláte, Google Analytics vám nebudou měřit.
  • Měli byste přidat HTTPS verzi webu do Google Webmaster Tools (kvůli statistikám HTTPS webu).
  • Měli byste změnit URL webu všude, kde je používáte, např.: PPC kampaně (Sklik, Adwords, Facebook aj.), bannerové a jiné kampaně, affiliate odkazy, opensearch.xml.

Stále ještě máte chuť přejít na HTTPS?

A aby toho nebylo málo, tak ještě donedávna měl zejména Seznam problém s indexací takto převedených webů, což mělo za následek znatelný propad návštěvnosti (tento stav trval bezmála rok a Seznamu se jej podařilo v dubnu (údajně) vyřešit. I když Seznam tvrdí, že je již vše v pořádku, přesto je třeba mít na paměti, že vám bezproblémový přechod na HTTPS v Seznamu nikdo negarantuje: „V individuálních případech se krátkodobé propady bohužel stále můžou vyskytnout (čím větší web, tím náchylnější k problému je).“

To však ostatně ale platí pro jakékoliv masivní změny adres. Zkrátka nikdy nevíte, jak to s webem nakonec zahýbe.

Další povinnosti

U HTTPS budete muset jako provozovatel dávat pozor také na vypršení platnosti certifikátu a zavčas vygenerovat a nasadit certifikát nový. Jinak na návštěvníky čeká nepěkné červené upozornění informující o tom, že web nemá platný certifikát. Samozřejmě i obnovení SSL certifikátu (tzv. renewal) se dá automatizovat, ale opět – bude vás to stát čas navíc, než přijdete, jak na to. A čas jsou peníze...

Připočtěte k tomu nutnost testování během migrace na HTTPS a chyby, které se při přechodu na HTTPS vždy vyskytnou a které budete muset řešit. Na něco určitě zapomenete anebo špatně nastavíte.

V neposlední řadě počítejte také s tím, že vyhledávačům může chvilku trvat, než zaznamenají, že nějaká změna spojená s převodem na HTTPS proběhla, což může resultovat v dočasný (ale i trvalý propad) pozic (zejména u Seznamu) a z toho plynoucí nižší návštěvnost.

Výhody přechodu na HTTPS

Teď se dostáváme také k hlavním argumentům pro přechod na HTTPS. Není jich sice tolik, ale kvůli nim to přece děláte:

  • Bezpečnost - v podstatě tohle by měl být ten hlavní důvod, proč přejít na HTTPS. Odesílaná data nebude tak snadné odchytávat a výrazněji tak eliminujete riziko možného problému s únikem dat.
  • Rychlost - Použití HTTPS je sice značně komplikovanější než HTTP, znatelně zvýšit rychlost načítání webu díky spojování požadavků na jednotlivé soubory může použití SPDY protokolu. Pokud stránka načítá velké množství objektů (typicky obrázky, které není možné spojit do jednoho) u HTTP trvá značnou dobu samotná režie s vytvořením požadavku. SPDY si požadavky na soubory dokáže seskupovat a tak dosáhnout znatelného nárůstu zrychlení webu při načítání.
  • Ušetříte si čas v budoucnu - nebudete muset tuto změnu provádět později. Protože dříve nebo později bude HTTPS protokol nejspíše standardem. Takže můžete získat menší náskok a tuto změnu provést teď. Jak píše expert na bezpečnost Michal Špaček: „Další verze HTTP počítá už jen s šifrovaným provozem, zjednodušeně řečeno HTTP 2.0 už bude jen HTTPS. Google sice možná jednou přestane znevýhodňovat HTTPS weby, ale to bude signál, že takových webů je majorita. Možná je toto zvýhodnění také způsob, jak to urychlit.“
  • Získáte nějaký bodík v SEO, dokud ještě Google weby, které přešly na HTTPS, oficiálně zvýhodňuje. Jak již však bylo napsáno výše – jenom kvůli tomuto bodu byste na HTTPS přecházet neměli.

Kdy tedy pro vás dává smysl řešit HTTPS?

  • Spravujete transakce anebo citlivá data uživatelů a chcete zvýšit důvěryhodnost svého webu i úroveň zabezpečení dat.
  • Spouštíte nový web, kde v podstatě tvoříte vše od začátku a žádnou migraci z HTTP na HTTPS dělat nemusíte.
  • Nechcete řešit přechod na HTTPS později, až budete muset (je reálný předpoklad, že HTTPS bude standardem u majority webů a jeho význam poroste).

Jenom kvůli SEO tedy nedává migrace na HTTPS smysl, což ostatně potvrzuje přímo ze Seznamu i Dušan Janovský: “Množí se dotazy, jestli je dobrý nápad přesouvat weby na https: protokol. Že prý Google to chce. Já říkám, že měnit zbůhdarma URL je blbost.”

Michal Krčmář
Autor článku je UX Architect a Senior Online Consultant ve společnosti Lundegaard.

Zdroje:

Kalendář akcí
Konference - Semináře - Školení
Časopis IT Systems/Speciál
Aktuální číslo časopisu IT Systems Aktuální číslo časopisu příloha #1
Archív časopisu IT Systems
IT Systems 12 IT Systems 11 IT Systems 10 IT Systems 9
Archív časopisu IT Systems Special
Aktuální číslo časopisu příloha #1 Aktuální číslo časopisu příloha #1 Aktuální číslo časopisu příloha #1 Aktuální číslo časopisu příloha #1