Certbot

Z Wikipedie, otevřené encyklopedie

Certbot (z anglických slov Certification robot) je automatizovaný nástroj pro vystavení, správu a odebírání certifikátů Let's Encrypt[1], které se používají k šifrování komunikace na internetu prostřednictvím protokolu HTTPS. Certbot podporuje většinu běžně dostupných webových serverů (Apache, Nginx, HAProxy a Plesk), díky čemuž je jeho nasazení možné prakticky na libovolném stroji. Jde o otevřený software vyráběný neziskovou organizací Electronic Frontier Foundation.[2]

Význam[editovat | editovat zdroj]

Certifikační autorita Let's Encrypt umožňuje bezplatné vložení jejich certifikátu s platností 3 měsíců zdarma na libovolný server a pro libovolnou doménu na internetu.[3] Vzhledem k tomu, že jsou certifikáty poskytovány zdarma, bylo potřeba zjistit způsob, jak je efektivně instalovat a vyhnout se nutnosti zřídit technickou podporu nováčků. Druhým problémovým faktorem je také fakt, že vystavené certifikáty mají platnost pouze 3 měsíce, proto byl vyvíjen tlak na nasazení automatických nástrojů, které budou certifikáty po celém internetu pravidelně obnovovat. Certbot všechny tyto úkoly zajišťuje.[4]

Příklad získání certifikátu[editovat | editovat zdroj]

Na začátku se vypne webový server (je důležité uvolnit port 80), například následujícím příkazem:[5]

$ sudo systemctl stop nginx

Následuje rozhodnutí, zda je potřeba certifikát vystavit pouze pro jednu doménu nebo pro více zároveň (například pro example.com a zároveň pro www.example.com).[6]

  • Pro jednu doménu se používá pouze příkaz „certbot“ a Certbot bude interaktivně klást otázky, jak certifikát vygenerovat a nainstalovat.
  • Pro více domén zároveň se použije tento příkaz:
    $ certbot certonly --standalone -d example.com -d www.example.com
    

Po úspěšném vystavení a instalaci certifikátu server opět spustíme příkazem (pro Ngnix „sudo systemctl start nginx“, pro Apache „sudo service apache2 restart“).[7]

Obnova certifikátu[editovat | editovat zdroj]

Obnova se provádí pomocí následujícího příkazu:

$ certbot renew --dry-run

po odstranění testovacího parametru. Často je však užitečné nastavit automatický proces obnovy. To lze vyřešit například záznamem souboru „crontab“, který spustí úlohu pravidelně první den v každém měsíci v čase 01:01:[8]

1 1 1 * * sudo certbot renew

Reference[editovat | editovat zdroj]

  1. Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.: cert... github.com [online]. 2019-07-02 [cit. 2019-07-02]. Original-date: 2014-11-12T02:52:20Z. Dostupné online. 
  2. Certbot - About Certbot. certbot.eff.org [online]. [cit. 2019-07-02]. Dostupné v archivu pořízeném z originálu dne 2019-06-29. (anglicky) 
  3. Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org [online]. [cit. 2019-07-02]. Dostupné online. 
  4. KRČMÁŘ, Petr; CALETKA, Ondřej. Let's Encrypt v praxi: jak jsem přešel na HTTPS. Root.cz [online]. [cit. 2019-07-02]. Dostupné online. 
  5. Jak nastavit HTTPS / SSL certifikát - kompletní příručka. php.baraja.cz [online]. [cit. 2019-07-02]. Dostupné v archivu pořízeném z originálu dne 2019-07-02. 
  6. Install Let's Encrypt to Create SSL Certificates. Linode Guides & Tutorials [online]. [cit. 2019-07-02]. Dostupné online. (anglicky) 
  7. 9 Popular Nginx Commands You Should Know - KeyCDN Support. KeyCDN [online]. [cit. 2019-07-02]. Dostupné online. (anglicky) 
  8. crontab.guru - the cron schedule expression editor. crontab.guru [online]. [cit. 2019-07-02]. Dostupné online.