Př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