Získání TLS certifikátu přes ACME protokol na Linuxu

Následující návod vám pomůže s automatickým vydáním a následnou instalací certifikátů na váš linuxový server pomocí automatizovaného nástroje pro správu a odebírání certifikátů Certbot. Návod je psán pro webový server Apache, nicméně Certbot lze použít i pro Nginx, Haproxy a Plesk. Jedná se o otevřený software, tudíž volně dostupný.

Příprava pro získaní certifikátu

Použití ACME je velice jednoduché, ale vyžaduje drobnou přípravu. Předtím, než ho začnete používat, si přečtete následující odstavce.

Získání přistupů pro autentizaci

ACME implementace DigiCertu používá autentizaci pomocí external account binding (EAB), což znamená, že dostanete své vlastní přístupy a DigiCert. Tyto přístupy (ACME credentials) získáte snadno ve svém zákaznickém účtu SSLmarket.

ACME credentials se skládájí z Key Identifier (ID klíče) a HMAC key, což je vaše tajemství pro autentizaci vůči stávajícímu účtu. Tyto údaje a URL ACME endpointu potřebujete pro ACME klienta (Certbot).

Pozor: Pro každou kombinaci certifikátu, jeho platnosti a organizace vzniká unikátní set KID a HMAC klíče. Je na vás, abyste si je bezpečně uložili.

Shrnutí ověřování certifikátů

Všechny certifikáty, které DigiCert vydává, jsou ověřené. Některé minimálně (DV certifikáty), jiné vyžadují ověření organizace (OV a EV). ACME není výjímkou a toto ověření se používá rovněž.

  • Doménové DV certifikáty získáte ihned; stačí si vytvořit ACME credentials pro DV produkt a tento použít. DCV ověření se provede přes metodu HTTP-01 a certifikát bude hned vydán.
  • OV a EV certifikáty vyžadují ověřenou organizaci a ověření použité domény, která se k organizaci váže. Pokud ověření není dokončeno, tak ani ACME požadavek nemůže být dokončen.
    • Domény se mohou ověřit automaticky pomocí HTTP-01, nebo je lze ověřit předem pomocí DNS či e-mailu (v takovém případě nás kontaktujte). DCV probíhá úplně stejně jak jste zvyklí.
    • Organizace musí být ověřená před žádostí o certifikát, jinak tato bude čekat na její dokončení (což skončí timeoutem). Doporučujeme po zapnutí ACME účtu počkat na ověření vaší organizace DigiCertem a stav konzultovat s podporou SSLmarketu.

Pro OV a EV můžete ACME začít využívat jakmile je organizace ověřena (ověření domén o firem platí 13 měsíců).

Příprava Certbotu na serveru

Balík Certbot je běžně nainstalován v linuxových distribucích, ale tento výchozí balík odstraňte. Pro využívání EAB ACME DigiCertu je potřeba použít balík ze Snap; jiné varianty nemusí být funkční. Nainstalujete ho takto:

snap install certbot --classic

Certbot podporuje celou řadu webserverů. Vámi použitý typ specifikujete parametrem, například --apache či --nginx. Pokud potřebujete něco jiného, doporučuji jeho přehlednou dokumentaci, která vám prozradí konkrétní postup pro daný webserver.

Získání a instalace certifikátu

Na internetu či v dokumentaci Certbotu najdete mnoho příkladů, jak ho využít a získat certifikát. Jelikož však ACME DigiCertu funguje v již zmíněném režimu EAB, je potřeba příkaz doplnit i ACME URL a vašimi dvěma ACME credentials, které jste získali ve své administraci. Jinak to nebude fungovat.

V terminálu požádejte o certifikát pomocí níže uvedeného příkazu:
sudo certbot --apache --register-unsafely-without-email --server URL --eab-kid xxxxxx --eab-hmac-key yyyyyy -d www.nazevvasidomeny.cz


Legenda k příkazu:

  • Certbot – spustí vám program Certbot.
  • --apache – vybírá k použití plugin Apache Certbot, který vám certifikát nainstaluje. Pokud používáte jiný webserver, použijte jiný parametr (např. --nginx).
  • --register-unsafely-without-email – přeskočí registraci e-mailu pro upozornění, která je zbytečná.
  • --server – určí, který server ACME by měl splnit váš požadavek; tedy https://acme.digicert.com/v2/acme/directory.
  • - d – Celý název domény, pro kterou chcete certifikát vystavit. V parametru -d můžete použít více doménových jmen (SAN), pokud to certifikát podporuje. Tyto budou samozřejmě zpoplatněny, pokud se nejedná o alias zdarma (www). Pokud tuto možnost nevyplníte, tak vás Certbot na základě nakonfigurovaných vhostů na serveru požádá o potvrzení, které domény chcete do požadavku zahrnout.

Po zadání příkazu dostanete nabídku zda chcete na dané doméně rovnou zapnout vynucené přesměrovaní na https: Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Vyberte svou volbu a stiskněte klávesu ENTER. Vámi vybraná konfigurace bude nastavena a po restartu webového serveru se načte. Následně dostanete závěrečnou zprávu informující o tom, že proces byl úspěšný a kde jsou vaše certifikáty uloženy.

Certbot zároveň nainstaluje i potřebný Intermediate certifikát, pro kontrolu správnosti instalace následně použijte náš online nástroj pro kontrolu instalace certifikátu.

Byl tento článek pro vás užitečný?