Entering Public Beta | Let's Encrypt
vendredi 4 décembre 2015 à 11:58Liens des pleutres
Letsencrypt est enfin disponible en bêta publique :)
Voilà la manip' que j'ai dû utiliser pour rajouter le chiffrement SSL à mon shaarli (https://sh.ack.red) qui utilise nginx et php-fpm.
(version un peu plus lisible ici : http://sebsauvage.net/paste/?691266dfcfdbc9da#ZHdo3zvLCgLCICuLFZO8uiZ7xUHH+31cVS7mStmDxNw=)
$ sudo ufw allow 443 # autoriser le port 443 dans le parefeu
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ sudo service nginx stop # le client letsencrypt standalone a besoin d'écouter sur le port 80
$ ./letsencrypt-auto certonly --standalone --email root@ack.red -d sh.ack.red # certificats créés dans /etc/letsencrypt/live/sh.ack.red/
$ sudo vim /etc/nginx/sites-available/sh.ack.red
server {
listen 80;
server_name sh.ack.red;
return 301 https://$host$request_uri; # rediriger systématiquement les requêtes HTTP vers HTTPS
}
server {
listen 443 ssl;
server_name sh.ack.red;
# certificats générés par le client letsencrypt:
ssl_certificate /etc/letsencrypt/live/sh.ack.red/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sh.ack.red/privkey.pem;
# paramètres pour le chiffrement:
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256: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';
ssl_dhparam /etc/nginx/dhparams.pem; # créé avec: "sudo openssl dhparam -out /etc/nginx/dhparams.pem 2048"
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
# [...] (tout le reste de la conf. nginx est inchangé)
}
$ sudo service nginx start
Tout n'est peut-être pas indispensable mais avec cette conf on est noté A+ dans https://www.ssllabs.com/ssltest
− Yvain
(Permalink) (Profil)
Letsencrypt est enfin disponible en bêta publique :)
Voilà la manip' que j'ai dû utiliser pour rajouter le chiffrement SSL à mon shaarli (https://sh.ack.red) qui utilise nginx et php-fpm.
(version un peu plus lisible ici : http://sebsauvage.net/paste/?691266dfcfdbc9da#ZHdo3zvLCgLCICuLFZO8uiZ7xUHH+31cVS7mStmDxNw=)
$ sudo ufw allow 443 # autoriser le port 443 dans le parefeu
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ sudo service nginx stop # le client letsencrypt standalone a besoin d'écouter sur le port 80
$ ./letsencrypt-auto certonly --standalone --email root@ack.red -d sh.ack.red # certificats créés dans /etc/letsencrypt/live/sh.ack.red/
$ sudo vim /etc/nginx/sites-available/sh.ack.red
server {
listen 80;
server_name sh.ack.red;
return 301 https://$host$request_uri; # rediriger systématiquement les requêtes HTTP vers HTTPS
}
server {
listen 443 ssl;
server_name sh.ack.red;
# certificats générés par le client letsencrypt:
ssl_certificate /etc/letsencrypt/live/sh.ack.red/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sh.ack.red/privkey.pem;
# paramètres pour le chiffrement:
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256: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';
ssl_dhparam /etc/nginx/dhparams.pem; # créé avec: "sudo openssl dhparam -out /etc/nginx/dhparams.pem 2048"
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
# [...] (tout le reste de la conf. nginx est inchangé)
}
$ sudo service nginx start
Tout n'est peut-être pas indispensable mais avec cette conf on est noté A+ dans https://www.ssllabs.com/ssltest
− Yvain
(Permalink) (Profil)