Vyhledávače Google i Seznam dlouhodobě avizují, že zabezpečený přenos upřednostňují a pravděpodobně se v budoucnu setkáme i s penalizací nezabezpečených stránek ve výsledcích vyhledávání. Proto by sousta uživatelů WordPressu ráda provozovala web na zabezpečeném připojení pomocí SSL certifikátu.
Problém ale je, že SSL certifikát něco stojí a to spoustu uživatelů odradí. Nyní s příchodem Let’s Encrypt to už tak úplně neplatí.
SSL certifikát zdarma
Let’s Encrypt je certifikační autorita, která zdarma poskytuje validní certifikáty umožňující zabezpečený přenos dat mezi klientem a serverem.
Před vznikem projektu Let’s Encrypt bylo možné využívat SSL buď pomocí self signed certifikátu, při kterém ovšem hlásil internetový prohlížeč chybu a bylo nutné potvrdit bezpečnostní výjimku, což nevzbuzovalo příliš důvěry, nebo bylo nutné zakoupit komerční certifikát, který se musel každý rok placeně prodlužovat.
Proto Let’s Encrypt přinesl všem zájemcům šifrovaný přenos pomocí SSL certifikátu zdarma. Aby toho mohli docílit, bylo nutné vydávaní certifikátů zautomatizovat pomocí scriptů nainstalovaných na váš server.
Další možnost získání SSL certifikátu zdarma je nasazení Cloudflare CDN.
Aktuální vývoj růstu Let’s Encrypt
Pro zajímavost přidávám graf růstu aktivních certifikátů od Let’s Encrypt.
Instalace Let’s Encrypt
Tento návod vás provede instalací Let’s Encrypt na operačním systému Debian 9 (Stretch). Instalace bude pravděpodobně velmi podobná i pro ostatní verze Debianu a Ubuntu.
Stažení Let’s Encrypt
Následující příkazy stáhnou balík Git a do adresáře /usr/local/letsencrypt stáhnou nejnovější verzi Let’s Encryptu přímo z Github.com.
apt -y install git
cd /usr/local
git clone https://github.com/letsencrypt/letsencrypt
Vystavení SSL certifikátu pro web
Další příkaz provede automatické vystavení certifikátu pro požadovanou doménu. Nezapomeňte na konci příkazu změnit vaší doménu.
cd /usr/local/letsencrypt
./letsencrypt-auto --apache -d mojedomena.cz
Při prvním vystavení certifikátu se automaticky doinstalují další potřebné balíčky. Dále je nutné souhlasit s Terms of Service a zadat vaší emailovou adresu. Na tento email vám budou chodit případné problémy s certifikátem a upozornění na blížící se vypršení platnosti. Konfigurační proces za vás i vytvoří nový virtualhost poslouchající na HTTPS portu a zeptá se na automatické přesměrování nešifrovaného HTTP na HTTPS, což je doporučeno.
Až se vše úspěšně nainstaluje, objeví se vám gratulace a cesta k adresáři s certifikáty.
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/vasedomena.cz/fullchain.pem
Kontrola certifikátů
Kontrola všech certifikátů se provede následujícím příkazem. Pokud je k dispozici nová verze Certbota, bude automaticky aktualizován.
cd /usr/local/letsencrypt
./certbot-auto certificates
Výsledek by měl vypadat nějak takto:
Found the following certs:
Certificate Name: ipdata.cz
Domains: ipdata.cz
Expiry Date: 2018-07-28 17:46:33+00:00 (VALID: 86 days)
Automatické obnovování certifikátů
Aby bylo obnovování SSL certifikátů zcela automatické, je třeba zajistit pravidelné spouštění obnovovacího scriptu.
Otevřete Cron příkazem:
crontab -e
Na poslední řádek vložte tento příkaz, který zajistí spuštění automatické kontroly všech certifikátů a jejich případné obnovení každý den v půl páté ráno.
30 4 * * * cd /usr/local/letsencrypt && ./certbot-auto renew && /etc/init.d/apache2 restart
To je ve většině případů vše. Někdy je nutné ručně nainstalovat Certbota.
Ruční instalace Certbota
Před instalací Certbota bude možná nutné si do repozitáře přidat tento zdroj:
deb http://ftp.debian.org/debian stretch-backports main
Samotná instalace je jednoduchá:
apt install python-certbot-apache -t stretch-backports
Zkouška Certbota
Tímto příkazem nanečisto vyzkoušíte obnovení certifikátů:
certbot renew --dry-run
Odstranění certifikátu
cd /usr/local/letsencrypt
certbot delete --cert-name mojedomena.cz