Instalace SSL certifikátu Let's Encrypt

Postup pro vygenerování a ověření SSL certifikátu Let's Encrypt a následnou konfiguraci webserveru nginx.


Instalace SSL certifikátu Let's Encrypt Štítky:  , , , , ACME, , , ,

    Před nedávnem jsem se přihlásil jako beta tester certifikační autority Let's Encrypt. Včera večer mi přišel mail s potvrzením o zařazení do BETA programu. Zkráceně:
"Vítejte, Vaše domény byly schváleny do BETA programu a můžete pro ně získat certifikáty".

Pro testovací nasazení jsem vybral jeden z neprodukčních webů, u kterého případná expirace čí revokace certifikátů, nebo jeho nedůvěryhodnost nemá vliv na funkci webu a návštěvníky (stejně tam byl self-signed cert).

Instalace certifikátů Let's Encrypt probíhá pomocí ACME klienta letsencrypt-auto a je velmi jednoduchá. Stačí spustit pár příkazů dle návodu v mailu nebo dokumentaci:


git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory auth



Dále je nutno v GUI vyplnit pár informací - email a doménu.

Let's Encrypt GUI
Poznámka: ACME klient letsencrypt vyžaduje pro ověření domény bind na port webserveru (typicky 80). Pro správnou funkce je proto nutno dočasně ukončit nginx.

Po ukončení program informuje o umístění, kde je certifikát pro danou doménu/web uložen.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/$VIRTUALHOST/fullchain.pem. Your cert will
   expire on 2016-01-26. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.


Následně stačí v konfiguračním souboru daného virtualserveru zadat cestu k novým certifikátům a restartovat nginx


nano /etc/nginx/server-available/$VIRTUALHOST

...
ssl_certificate /etc/letsencrypt/live/$VIRTUALHOST/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/$VIRTUALHOST/privkey.pem;
...

service nginx reload


Poznámka: Daný web (virtualserver) byl podepsán self-signed certifikátem. V opačném případě je nutno SSL nakonfigurovat - více info https://www.google.com/search?q=nginx+ssl+config


A máme hotovo :)

Let's Encrypt - Web OK

Konfiguraci webu můžeme zkontrolovat na stránkách Qualys SSL Labs

Let's Encrypt - SSL Labs Test
;  
Vaše názory a komentáře: 3 ;  Zobrazeno: 9174 x ;  Hodnoceno: 5 x ;  Hodnocení článku : Hodnocení článku:100%

Hodnocení článku: 1 2 3 4 5

Vaše názory a komentáře (3)
Petr KLOSKO
#284: 16.12.2015 ; 19:53:07
Plus jednoduchý CRON skript na kontrolu expirace: zde
 
Petr KLOSKO
#281: 05.11.2015 ; 10:01:05
Obdobný návod + jak to naskriptovat viz článek Pera Krčmáře na root.cz http://m.root.cz/clanky/let-s-encrypt-v-praxi-jak-jsem-presel-na-https/
 
Petr KLOSKO
#280: 04.11.2015 ; 18:35:37
Doplnění.

Pokud chcete zapnout OCSP stapling pak stačí stáhnout a sloučit CA a intermediate certifikáty Lets Encrypt:



wget https://letsencrypt.org/certs/isrgrootx1.pem

wget https://letsencrypt.org/certs/letsencryptauthorityx1.pem

cat isrgrootx1.pem letsencryptauthorityx1.pem > letsencrypt-ca-certs.pem





Následně upravit konfiguraci NGINX:



ssl_stapling on;

ssl_stapling_verify on;

ssl_trusted_certificate /path/to/letsencrypt-ca-certs.pem;

resolver 8.8.4.4 8.8.8.8;
 

Přidat komentář
Jméno
E-Mail
Zadejte sedmou čísici z čísla Zadejte sedmou čísici z čísla
Pokud očekáváte odpověď na Vámi vložený komentář, zadejte Váš e-mail.
Vložením komentáře souhlasíte s pravidly.