crtPřechod na Let’s Encrypt

Představovat certifikační autoritu Let’s Encrypt je asi nošením dříví do lesa. Každý správce o ní minimálně slyšel a pokud náhodou ne, lze se o ní něco dozvědět třeba na wiki. Její výhodou je nejen možnost získat pro web certifikát zdarma, taková možnost tu byla i v minulosti třeba od StarComu (i když vzhledem k současné situaci se nová CA hodí), ale především lze nyní celý proces obnovy automatizovat. Změna certifikátů na Let’s Encrypt je věc přímočará a bezproblémová, ukážeme si jak na to například pro Apache.

Instalace Certbot

Nejprve se provede instalace klienta certbot z repozitáře.

# equo i -a app-crypt/certbot

Získání certifikátů

Certbot plugin apache není na Sabayonu podporován, proto využijeme volbu certonly a úpravu konfiguračních souborů provedeme napoprvé ručně. Pro ověření použijeme root webových stránek pro které požadujeme certifikát, za parametr -w proto uveďte root domény a za parametr -d samotný název domény. Jako v příkladu je možné použít i domény v různých umístěních. Za parametr -d můžete uvést i další subdomény pro jedno umístění.

# certbot certonly --webroot -w /var/www/mojedomena.cz/htdocs/ -d mojedomena.cz
## případně další: -w /var/www/mojedalsidomena.cz/htdocs/ -d mojedalsidomena.cz

Po spuštění a zadání kontaktní mailové adresy dojde k online vygenerování certifikátů. Ty pak lze najít v umístění

/etc/letsencrypt/live/mojedomena.cz/

 

Najdete zde 4 certifikáty, resp. symbolické linky na ně. Privkey.pem je privátní klíč a tak je třeba s ním nakládat.

  • cert.pem
  • chain.pem
  • fullchain.pem
  • privkey.pem

 

Pokud máte Apache alespoň 2.4.8, stačí vám dva poslední, jinak využijete první dva a poslední.

Nastavení Apache

Nastavení konfigurace provedete jako obvykle, například pro vhosts do příslušné sekce /etc/apache2/vhosts.d/00_default_ssl_vhost.conf

SSLCertificateFile    /etc/letsencrypt/live/mojedomena.cz/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mojedomena.cz/privkey.pem

 

v případě nižší verze Apache by mělo být nastavení následující

SSLCertificateFile      /etc/letsencrypt/live/mojedomena.cz/cert.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/mojedomena.cz/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mojedomena.cz/chain.pem

 

Tímto je nastavení hotové a po obnově certifikátů není potřeba do konfigurace zasahovat.

Automatická obnova certifikátů

Pro automatickou obnovu stačí přidat úlohu do cronu. Nejprve je možné obnovu certifikátů odzkoušet nanečisto

# certbot renew --dry-run

 

a po úspěšném testu přidat úlohu do cronu

# crontab -e

 

pro jednotýdenní kontrolu v 5:00, třeba takto

00   5 * *     1  /usr/bin/certbot renew >> /var/log/certbot-renew.log