Certificats Let's Encrypt
Introduction
Dès à présent les certificats ssl deviennent gratuits grâce à Let's Encrypt qui révolutionne vraiment ce domaine.
Installation d'un certificat
Récupération des sources
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt cd /opt/letsencrypt/
Génération du certificat
./letsencrypt-auto certonly --webroot -w /var/www/www.domaine.fr/ -d domaine.fr -d www.domaine.fr
- La racine du web doit être une partie accessible depuis le nom de domaine, car la génération du certificat doit ce faire avec un échange de fichiers via ce répertoire.
Préparation du vhost ( apache2)
vim /etc/apache2/sites-available/ssl-www.domaine.fr <VirtualHost *:443> ServerAdmin contact@domaine.fr ServerName domaine.fr ServerAlias www.domaine.fr SSLEngine on # Regles SSL A+ sur ssllabs SSLCipherSuite 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 SSLProtocol All -SSLv2 -SSLv3 -TLSv1 SSLHonorCipherOrder on SSLCompression off Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" SSLCompression off SSLCertificateFile /etc/letsencrypt/live/domaine.fr/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/domaine.fr/fullchain.pem DocumentRoot /var/www/www.domaine.fr/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/www.domaine.fr> Options Indexes FollowSymLinks MultiViews AllowOverride none Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error-www.domaine.fr-ssl.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access-www.domaine.fr-ssl.log combined </VirtualHost>
a2enmod ssl a2ensite ssl-www.domaine.fr service apache2 reload
Tests de fonctionnement
Renouvellement automatique
- Let's Encrypt fournit des certificats valides durant 90 jours. Voici un petit script afin d'automatiser cette procédure de renouvellement.
mkdir /opt/scripts/ cd /opt/scripts/
vim /etc/letsencrypt/domaine.fr.cfg authenticator = webroot webroot-path = /var/www/www.domaine.fr/ renew-by-default agree-tos email = meme_mail_que_demander_a_l_install@domaine.com
vim renew_certs_letsencrypts.sh #!/bin/bash cd /opt/letsencrypt/ ./letsencrypt-auto certonly --config /etc/letsencrypt/domaine.fr.cfg -d domaine.fr -d www.domaine.fr if [ $? -ne 0 ] then ERRORLOG=`tail /var/log/letsencrypt/letsencrypt.log` echo -e "Bonjour,\nLe certificat https pour domaine.fr n'as PAS été renouvelé automatiquement \n \n" $ERRORLOG | mail -s "ERREUR renouvellement de certificats" mailperso@domaine.com else service apache2 reload echo -e "Bonjour,\nLe certificat https pour domaine.fr renouvelé automatiquement" | mail -s "Renouvellement de certificats" mailperso@domaine.com fi
chmod +x renew_certs_letsencrypts.sh crontab -e @monthly /opt/scripts/renew_certs_letsencrypts.sh
Source : letsencrypt.readthedocs.org
Vous pourriez laisser un commentaire si vous étiez connecté.