Let's Encrypt a vaše weby
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Let's Encrypt a vaše webyLet's Encrypt a vaše weby

 

Let's Encrypt a vaše weby

Google       Google       19. 2. 2016       12 614×

Šifrovaná komunikace s webovými stránkami je dnes již poměrně rozšířená. Google ve svém algoritmu pro řazení stránek zvýhodňuje ty, které povolují zabezpečené připojení. Přihlašování a komunikace s bankami, s e-mailem a podobnými službami jsou šifrované, ale co ostatní webové stránky, jako váš e-shop, firemní stránka a podobně? Získejte a nasaďte SSL certifikát jednoduše a zdarma díky službě Let‘s Encrypt a Microsoft Azure!

Zpátky do minulosti, aneb jak získat SSL certifikát před rokem 2016?

Proces získávání SSL certifikátu byl historicky poměrně složitý a zdlouhavý. Pokud jste chtěli certifikát zdarma, mohli jste využít služby jako např. StartSSL, u které však bohužel docházelo k častým problémům se samotným vydáváním certifikátů, v opačném případě vás čekala poměrně nemalá investice do certifikátu samotného. Následovalo ověření identity a všelijakých osobních informací, v některých případech i poměrně absurdní ověření fyzické adresy.

Zjednodušit celý tento proces se pokusila komunita CAcert.org, bohužel však bylo vždy nutné nainstalovat manuálně jejich kořenový certifikát.

V nedávné době také služba CloudFlare přinesla tzv. univerzální SSL, což umožnilo mnoha milionům webů využívat zdarma SSL bez nutnosti jakýchkoliv změn, nicméně pokud jste nechtěli využívat CloudFlare jako prostředníka nebo jste potřebovali například větší limity pro upload, museli jste si vystačit sami.

Let’s Encrypt byl oficiálně spuštěn v červenci 2015.

Držte se, přichází Let‘s Encrypt

Let‘s Encrypt je nová internetová certifikační autorita, která je podporovaná velkými a známými internetovými společnostmi, jako jsou Electronic Frontier Foundation (EFF), Mozilla, Google Chrome a mnoho dalších. Let‘s Encrypt řeší problematiku žádosti, validace, podepsání, instalace a dokonce i obnovení certifikátu, a je kompletně open source, postavený na otevřeném standardu ACME (Automated Certificate Management Environment). Samotný protokol ACME je jednoduchý na pochopení a velmi dobře zdokumentovaný. Certifikát je vždy vydaný s platností 90 dní (což zvyšuje bezpečnost) a typicky se automaticky obnoví 30 dní před koncem platnosti – kdyby došlo k nějakým problémům, tak aby bylo možné je řešit včas.

Používáme Let‘s Encrypt

Pokud je váš web hostovaný na již podporované platformě (např. Apache na systému, který je založený na Debianu), můžete službu začít využívat velmi jednoduše:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --apache -d example.com -d www.vasweb.cz

Takto jednoduše si můžete vygenerovat certifikát pro váš web (samozřejmě existuje i spousta složitějších scénářů, pro které můžete využít dokumentaci) a začít ho ihned používat – a nemusíte vůbec řešit jeho obnovu, Let’s Encrypt dělá vše za vás.

Let‘s Encrypt a IIS

Nahoře jsem uvedl, že je Let‘s Encrypt založený na otevřeném protokolu ACME, a jelikož zatím neexistuje oficiální podpora pro IIS a Windows, v komunitě vznikl ACMESharp – knihovna pro .NET a PowerShell klient. A pokud nemáte rádi PowerShell, můžete využít zjednodušeného klienta (postaveného na ACMESharp), který je velmi jednoduchý a využívá staré dobré příkazové řádky – letsencrypt-win-simple.

Tady samozřejmě vývoj neskončil a vznikl dokonce i grafický klient Certify.

Prostředí grafického klienta Certify

Díky těmto možnostem si můžete sami vybrat nástroj, pomocí něhož budete SSL certifikáty od Let’s Encrypt získávat.

Let‘s Encrypt a Azure

Pokud však vlastní server nemáte a využíváte cloudového hostingu – Azure Web Apps od Microsoftu, nemusíte zoufat, přesně pro vás je jeden z mnoha dostupných doplňků – Azure Let‘s Encrypt. Doplněk v současné době ještě není dostupný v novém portále Azure, a proto je nutné ho instalovat skrze SCM web (pokud jste se ještě nikdy se SCM webem nesetkali, můžete se podívat na krátké intro).

Samotná instalace a nastavení vám chvilku zabere, ale poté máte možnost vytvářet certifikáty velmi jednoduše a rychle. Na potřebné kroky se nyní společně podíváme:

Založení Azure Web App

Pokud ještě nemáte Web App v Azure založený, můžete ho jednoduše vytvořit – podívejte se na následující video:

Nezbytné požadavky

Podporovaný App Service plán

Jelikož budete využívat vlastní domény a SSL připojení, je nutné využívat podporovaný plán (minimálně S1 ze skupiny Standard, jelikož podporuje SSL na vlastních doménách).

Výběr hostingového plánu pro App Service

Vlastní doména

Doména musí být přiřazená ke stránce, kterou plánujete využívat s vlastním certifikátem – pro přiřazení můžete využít tohoto návodu.

Storage Account

Abyste mohli využívat funkce, jako je automatické obnovení certifikátů, je nutné abyste měli vytvořený Storage Account, do kterého bude aplikace na pozadí ukládat persistentní data. Návod na vytvoření najdete zde. Následně je potřeba, abyste uložili Connection String do nastavení aplikace jako AzureWebJobsStorage a AzureWebJobsDashboard.

Instalace doplňku

Otevřete prostředí SCM vašeho webu – https://vasweb.scm.azurewebsites.net a přejděte do Site extensions. V galerii všech doplňků vyhledejte Azure Let‘s Encrypt. Následně nainstalujte verzi doplňku, která vám vyhovuje (pokud si nejste jistí, zvolte x86 verzi).

Instalace doplňku z prostředí SCM – Kudu

Jakmile je instalace doplňku hotová, je nutné restartovat web. Po instalaci přejděte do prostředí pro instalaci a konfiguraci Azure Let‘s Encrypt (buď tak, že kliknete na tlačítko „play“, nebo přímo na adresu https://vasweb.scm.azurewebsites.net/letsencrypt).

Instalace a konfigurace doplňku Azure Let’s Encrypt

Registrace Service Principalu

Aby instalace mohla proběhnout automaticky, je potřeba vytvořit v Azure tzv. Service Principal. Podrobný návod najdete zde, pro ukázku uvedu jenom sérii příkazů v PowerShellu (budete potřebovat nainstalovaný Azure PowerShell).

Login-AzureRmAccount
$uri = 'https://adresa vaší aplikace‘
$password = 'nějaké silné a náhodné heslo'
$app = New-AzureRmADApplication -DisplayName ‘název aplikace’ -HomePage $uri -IdentifierUris $uri -Password $password
New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId
New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $app.ApplicationId

Díky těmto krokům dojde k vytvoření vašeho Service Principalu – uložte si $app.ApplicationId (ClientId) a $password (ClientSecret), jelikož jsou potřeba v průběhu instalace doplňku.

Nastavení aplikace

S vytvořeným Service Principalem máme již vše, co potřebujeme, abychom mohli dokončit instalaci Let‘s Encrypt doplňku pro Azure Web Apps.

  • Tenant – Název vašeho tenantu v Azure, typicky castmailu.onmicrosoft.com.
  • SubscriptionId – ID vašeho předplatné Azure – je možné zjistit například z Azure Portálu v detailech vaší Web app.
  • ClientId – ID klienta, které jste získali při registraci Service Principalu.
  • ClientSecret – Tajemství, které jste vytvořili při registrace Service Principalu.
  • ResourceGroupName – Název skupiny prostředků, ve které se nachází váš web.
  • ServicePlanResourceGroupName – Pokud je webhostingový plán a webová aplikace ve stejné skupině prostředků, můžete nechat prázdné.

Poté zaškrtněte Update Application Settings – dojde k uložení těchto údajů do proměnných aplikace a pokračujte kliknutím na Next.

Na pozadí dojde k vytvoření automatického Web Jobu, který se stará o automatickou obnovu expirujících certifikátů. Pokud instalace proběhne úspěšně, dostanete se na obrazovku, kde uvidíte veškeré domény spjaté s danou webovou aplikací.

Seznam domén, které jsou přiřazené k webové aplikaci

Pokračujte kliknutím na Next.

Nyní jste na stránce, kde se generují samotné certifikáty. Vyberte ze seznamu hostname, pro které chcete certifikát vygenerovat a zadejte vaši e-mailovou adresu. Pokud se jedná pouze o testovací certifikát, můžete využít tzv. Staging, což v praxi znamená, že dostanete certifikát, který je podepsaný pouze Let‘s Encrypt certifikační autoritou, a tudíž není automaticky důvěryhodný. Poté stačí pouze potvrdit vytvoření certifikátu pomocí tlačítka Request and Install certificate.

Ověření funkcionality

Abychom ověřili, že vše proběhlo správně a funguje, začněte tím, že otevřete váš web na vlastní doméně ve vašem prohlížeči a zkontrolujete certifikát, kterým se prokazuje váš web.

Vygenerovaný certifikát od Let‘s Encrypt.

Také je potřeba ověřit to, zda došlo ke správnému vytvoření automatického Web Jobu, a že funguje, tudíž přejděte na stránku s jeho konfigurací – buď z Azure Portálu, detailu Web App a sekce Web Jobs, nebo přímo z konfigurace Let‘s Encrypt – v záhlaví stránky je odkaz Web Jobs. Na této stránce uvidíte, kdy například došlo k poslednímu obnovení certifikátu nebo pokud nastaly nějaké problémy.

Přehled Web Jobů

Závěrem

Nesmírnou výhodou služby Let‘s Encrypt je to, že můžete velmi jednoduše, rychle a hlavně bezplatně získat SSL certifikáty. Díky této integraci do Microsoft Azure je celý proces velmi jednoduchý a rychlý. Každopádně je nutné zmínit, že doplněk Azure Let‘s Encrypt je stále ve vývoji a není doporučené ho využívat v produkčním prostředí. Doplněk je k dispozici jako open source na GitHubu, takže se i vy můžete zapojit do jeho vývoje.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
3 hlasy
Google
(fotka) Jan HájekJan se zabývá spoustou technologií nejen od společnosti Microsoft. Mezi ty hlavní patří Windows Server, Office 365 a Microsoft Azure. Dlouhodobě vyvíjí v PHP a JavaScriptu (+ Node.js) nad platformou Microsoft Azure. Přispívá napříč různými opensource knihovnami, a některé vlastní také publikuje. O své zkušenosti se rád dělí v podobě přednášek, článků a diskuzí.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý