Získanie TLS certifikátu cez ACME protokol na Linuxe

Nasledujúci návod vám pomôže s automatickým vydaním a následnou inštaláciou certifikátov na váš linuxový server pomocou automatizovaného nastroja pre správu a odoberanie certifikátov Certbot. Návod je písaný pre webový server Apache, však Certbot možné použiť aj pre Nginx, Haproxy a Plesk. Jedná sa o otvorený softvér, teda voľne dostupný.

Príprava pre získanie certifikátu

Použitie ACME je veľmi jednoduché, ale vyžaduje drobnú prípravu. Predtým, než ho začnete používať, si prečítate nasledujúce odseky.

Získanie prístupov pre autentizáciu

ACME implementácia DigiCertu používa autentizáciu pomocou external account binding (EAB), čo znamená, že dostanete svoje vlastné prístupy a DigiCert. Tieto prístupy (ACME credentials) získate ľahko vo svojom zákazníckom účte SSLmarket.

ACME credentials sa skladajú z Key Identifier (ID kľúča) a HMAC key, čo je vaše tajomstvo pre autentizáciu voči existujúcemu účtu. Tieto údaje a URL ACME endpointu potrebujete pre ACME klienta (Certbot).

Pozor: Pre každú kombináciu certifikátu, jeho platnosti a organizácie vzniká unikátny set KID a HMAC kľúča. Je na vás, aby ste si ich bezpečne uložili.

Zhrnutie overovania certifikátov

Všetky certifikáty, ktoré DigiCert vydáva, sú overené. Niektoré minimálne (DV certifikáty), iné vyžadujú overenie organizácie (OV a EV). ACME nie je výnimkou a toto overenie sa používa tiež.

  • Doménové DV certifikáty získate ihneď; stačí si vytvoriť ACME credentials pre DV produkt a tento použiť. DCV overenie sa vykoná cez metódu HTTP-01 a certifikát bude hneď vydaný.
  • OV a EV certifikáty vyžadujú overenú organizáciu a overenie použitej domény, ktorá sa k organizácii viaže. Ak overenie nie je dokončené, tak ani ACME požiadavka nemôže byť dokončená.
    • Domény sa môžu overiť automaticky pomocou HTTP-01, alebo ich je možné overiť vopred pomocou DNS či e-mailu (v takom prípade nás kontaktujte). DCV prebieha úplne rovnako ako ste zvyknutí.
    • Organizácia musí byť overená pred žiadosťou o certifikát, inak táto bude čakať na jej dokončenie (čo skončí timeoutom). Odporúčame po zapnutí ACME účtu počkať na overenie vašej organizácie DigiCertom a stav konzultovať s podporou SSLmarketu.

Pre OV a EV môžete ACME začať využívať akonáhle je organizácia overená (overenie domén a firiem je platné 13 mesiacov).

Príprava Certbotu na serveri

Balík Certbot je bežne nainštalovaný v linuxových distribúciách, ale tento predvolený balík odstráňte. Pre využívanie EAB ACME DigiCertu je potrebné použiť balík zo Snap; iné varianty nemusia byť funkčné. Nainštalujete ho takto:

snap install certbot --classic

Certbot podporuje celý rad webserverov. Vami použitý typ špecifikujete parametrom, napríklad --apache alebo --nginx. Ak potrebujete niečo iné, odporúčam jeho prehľadnú dokumentáciu, ktorá vám prezradí konkrétny postup pre daný webserver.

Získanie a inštalácia certifikátu

Na internete či v dokumentácii Certbotu nájdete mnoho príkladov, ako ho využiť a získať certifikát. Keďže však ACME DigiCert funguje v už spomínanom režime EAB, je potrebné príkaz doplniť aj ACME URL a vašimi dvoma ACME credentials, ktoré ste získali vo svojej administrácii. Inak to nebude fungovať.


sudo certbot --apache --register-unsafely-without-email --server URL --eab-kid xxxxxx --eab-hmac-key yyyyyy -d www. nazovvasejdomeny.sk


Legenda k príkazu:

  • Certbot – spustí vám program Certbot.
  • --apache – vyberá na použitie plugin Apache Certbot, ktorý vám certifikát nainštaluje. Ak používate iný webserver, použite iný parameter (napr. --nginx).
  • --register-unsafely-without-email – preskočí registráciu e-mailu pre upozornenia, ktoré je zbytočné.
  • --server – určí, ktorý server ACME by mal splniť vašu požiadavku; teda https://acme.digicert.com/v2/acme/directory.
  • - d – Celý názov domény, pre ktorú chcete certifikát vystaviť. V parametri -d môžete použiť viacero doménových mien (SAN), ak to certifikát podporuje. Tieto budú samozrejme spoplatnené, pokiaľ nejde o alias zadarmo (www). Ak túto možnosť nevyplníte, tak vás Certbot na základe nakonfigurovaných vhostov na serveri požiada o potvrdenie, ktoré domény chcete do požiadavky zahrnúť.

Po zadaní príkazu dostanete ponuku či chcete na danej doméne rovnú zapnúť vynútené presmerovaný 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 are 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 svoju voľbu a stlačte kláves ENTER. Vami vybraná konfigurácia bude nastavená a po reštarte webového servera sa načíta. Následne dostanete záverečnú správu informujúcu o tom, že proces bol úspešný a kde sú vaše certifikáty uložené.

Certbot zároveň nainštaluje aj potrebný Intermediate certifikát , pre kontrolu správnosti inštalácie následne použite náš online nástroj na kontrolu inštalácie certifikátu .  

Bol tento článok pre vás užitočný?