Ca ne coute pas plus cher de bien chiffrer

Un peu d'Admin
15 décembre 2015

Le but: avoir un serveur web en http/2, sécurisé avec un certificat signé par une autorité.
Pour http/2 j’ai pris NGINX > 1.9.5 (dispo en testing sur debian)
Pour le certificat, j’ai utitisé let’s encrypt, un service tout nouveau de certificats GRATUITS et validés par une autorité stockée dans les browsers
Prérequis: un nom de domaine et une ip associée à ce nom de domaine.
L’opération de récupération du certificat doit se faire depuis l’ip associé.
Récupération de l’outils letsencrypt

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

Couper votre server nginx:

systemctl stop nginx

Récupérer les infos de votre certificat: cert.pem chain.pem fullchain.pem privkey.pem

./letsencrypt-auto certonly --standalone -d testhttps.pruniaux.fr

IMPORTANT NOTES:*
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/testhttps.pruniaux.fr/fullchain.pem. Your
   cert will expire on 2016-03-14. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - If like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Création du vhost sous nginx

server {
    listen 443 ssl http2;
    server_name testhttps.pruniaux.fr;

    root /var/www/html/;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:E
CDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-    SHA256:DHE-D
SS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA2
56:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECD
SA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA2
56:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256
-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256
-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-
CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:
!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DH';

ssl_prefer_server_ciphers on;

ssl on;
ssl_certificate /etc/letsencrypt/live/testhttps.pruniaux.fr/fullchain.pem;
ssl_certificate_key  /etc/letsencrypt/live/testhttps.pruniaux.fr/privkey.pem;

}

Et on redémarre:

systemctl start nginx

En suite, on peut rouler des mécaniques (expression de 1950) sur ssl labs.

Je vais de ce pas donner un petit quelque chose aux petits gars de let’s encrypt !