Jak jsem zkrotil SSL certifikát na Debianu aneb boomer objevuje acme.sh

Jak jsem jako boomer objevil SSL certifikáty s acme.sh na Debianu

Víte, jak to chodí. Člověk se celý život učí a objevuje technologické vychytávky, které mladí berou jako samozřejmost. Tentokrát jsem se pustil do zabezpečení svých webových stránek pomocí SSL certifikátu. A světe div se, našel jsem způsob, jak to zvládnout zdarma a s minimem úsilí díky nástroji acme.sh.

Co je to acme.sh?

acme.sh je čistě shellový skript implementující ACME protokol pro získávání SSL certifikátů. Je to jednoduchý, ale mocný nástroj, který vám umožní získat certifikáty od Let's Encrypt bez zbytečných komplikací. A nejlepší na tom je, že je napsán v shellu, takže nepotřebujete žádné další závislosti. Více informací najdete na jejich GitHub stránce.

Instalace acme.sh na Debianu

Než začneme, ujistěte se, že máte na serveru nainstalován socat, který je nezbytný pro standalone režim ověřování přes HTTP.

apt install socat

Poté můžeme přistoupit k instalaci acme.sh. Stačí spustit následující příkaz:

wget -O - https://get.acme.sh | sh -s email=muj@email.cz

Tímto se nainstaluje acme.sh a zároveň se nastaví váš e-mail pro komunikaci s Let's Encrypt.

Ověřování vlastnictví domény

Existují dva hlavní způsoby, jak ověřit, že doména patří vám:

  1. HTTP ověřování na portu 80: V tomto případě acme.sh spustí dočasný webový server na portu 80, aby Let's Encrypt mohl ověřit vlastnictví domény.

  2. DNS ověřování pomocí TXT záznamu: Tento způsob využívá API vašeho DNS poskytovatele k vytvoření speciálního TXT záznamu pro ověření domény.

Osobně preferuji druhou metodu, protože nemusím řešit dostupnost portu 80 na serveru. Můj DNS server běží na ISPConfig, což je open-source hostingový kontrolní panel. Více o něm na oficiálních stránkách.

Nastavení přístupu k API DNS poskytovatele

Aby acme.sh mohl komunikovat s vaším DNS serverem, je třeba nastavit přístup k API. Do souboru ~/.acme.sh/account.conf přidejte následující řádky:

SAVED_ISPC_User='uzivatel_api'
SAVED_ISPC_Password='heslo_api'
SAVED_ISPC_Api='https://api.ispconfig.meho.poskytovatele.cz:8080/remote/json.php'
SAVED_ISPC_Api_Insecure='1'

Ujistěte se, že máte správná přístupová data k API. Pokud ne, obraťte se na správce vašeho DNS serveru.

Generování SSL certifikátu

Nyní můžeme přistoupit k samotnému generování certifikátu. Pro jednu doménu použijte:

acme.sh --issue --dns dns_ispconfig -d "www.boomer-objevuje.cz" --server letsencrypt

Pro více domén v jednom certifikátu:

acme.sh --issue --dns dns_ispconfig -d "www.boomer-objevuje.cz" -d "dalsi.boomerobjevuje.cz" --server letsencrypt

A pro wildcard certifikát:

acme.sh --issue --dns dns_ispconfig -d "*.boomer-objevuje.cz" --server letsencrypt

Tímto máme certifikát vygenerovaný, ale potřebujeme ho ještě nainstalovat, což znamená uložit do požadovaného umístění, restartnout webový server nebo službu, která ho používá a nechat ho pravidelně obnovovat.

Instalace certifikátu na server

Po vygenerování certifikátu je třeba jej nainstalovat na správné místo a upravit konfiguraci webového serveru (např. nginx, apache). Doporučuji uložit certifikáty do systémového úložiště v /etc/ssl/, kde adresář certs je pro veřejnou část certifikátu a private pro soukromou část.

acme.sh --install-cert --domain "*.boomer-objevuje.cz" --fullchain-file /etc/ssl/certs/boomer-objevuje.cz.crt --key-file /etc/ssl/private/boomer-objevuje.cz.key --reloadcmd "systemctl reload nginx.service"

Tímto příkazem se certifikát nainstaluje a následně se provede reload webového serveru, aby načetl nový certifikát.

Automatické obnovování certifikátů

Při instalaci acme.sh se automaticky vytvoří cron úloha, která se stará o pravidelné obnovování certifikátů. Nemusíte se tedy bát, že by váš certifikát expiroval bez vašeho vědomí.

Doufám, že tento návod pomůže i dalším boomerům v jejich technologických objevech. A pokud máte nějaké tipy, jak to udělat lépe, sem s nimi!

Komentáře

Pro přidání komentáře se musíte přihlásit.

Zatím nejsou žádné komentáře. Budete první!

About Me

Boomer Láďa

Technologie mě fascinují a baví mě objevovat novinky. Nejvíc mě teď pohltila AI – asistenti, automatizace a vše, co může usnadnit život. K tomu mě zajímá chytrá domácnost, 3D tisk, motorky… Nejsem profík, spíš kutil amatér ...

Dozvědět se víc

Související články