
Let’s Encrypt vous permet d’acquérir un certificat HTTPS valide pour votre site internet, comme s’il avait été certifié par une CA (certificate authority ou autorité de certification). Les autorités de certification sont des autorités qui délivrent des certificats : Let’s Encrypt est une CA, gratuite.
Vérification du certificat d’un site internet avec Let’s Encrypt
Pour SHZ, voici ce que donne l’ouverture avec Mozilla Firefox.

Mise en place d’un certificat HTTPS gratuit
Le logiciel Certbot va nous permettre de certifier les domaines sur notre serveur web, ici apache. Si vous disposez d’une autre configuration, sur la page d’accueil le site de Certbot nous propose de choisir notre configuration.
Certbot sur Debian 8+
Ajoutez les dépôts backports à votre système en plaçant cette ligne dans le fichier /etc/apt/sources.list.
deb http://ftp.debian.org/debian jessie-backports main
Rafraîchissez ensuite votre système.
apt-get update
Et installez le paquet certbot.
apt-get install python-certbot-apache -t jessie-backports
Si jamais vous souhaitez installer Let’s Encrypt avec nginx sous Debian :
apt-get install python-certbot-nginx
Certbot sur CentOS 7
Si vous n’avez pas le repo EPEL.
yum install epel-release
Et ensuite on installe certbot.
yum install python-certbot-apache
Si jamais vous souhaitez installer Let’s Encrypt avec nginx sous Centos :
yum install python2-certbot-nginx
Changer la zone DNS si besoin
Maintenant que tout est installé, sachez que Let’s Encrypt vérifie l’adresse IP du domaine sur lequel vous voulez l’installer. Par conséquent, vous devez utiliser un domaine existant et relié à votre serveur.
Pour cela, on utilise le Record A d’une zone DNS pour relier l’adresse IP et le nom de domaine.

Générer un certificat Let’s Encrypt pour un domaine
Une fois ceci effectué, on peut lancer la génération de nos certificats HTTPS gratuits. On va même se payer le luxe de demander à Let’s Encrypt d’écrire la configuration pour nous dans les VHOSTs
Certificat SSL avec Apache HTTPD
certbot --apache -d security-helpzone.com
La directive –apache permet à Let’s Encrypt d’aller écrire dans le VirtualHost.
Voici les lignes générées dans le VHOST HTTPD.
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/security-helpzone.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/security-helpzone.com/privkey.pem
...
SSLCertificateChainFile /etc/letsencrypt/live/security-helpzone.com/chain.pem
Certificat SSL avec nginx
Si vous utilisez nginx, la même chose existe
certbot --nginx -d security-helpzone.com
Voici les entrées SSL dans la configuration web nginx.
ssl_certificate "/etc/letsencrypt/live/security-helzone.com/cert.pem";
ssl_certificate_key "/etc/letsencrypt/live/security-helzone.com/privkey.pem";
Renouvelez automatiquement les certificats Let’s Encrypt
La durée des certificats HTTPS émise est de seulement 3 mois (90 jours). Du coup, vous allez devoir renouveler périodiquement vos certificats.
nano /etc/crontab
J’y ai placé cette ligne, pour pouvoir ré-émettre les certificats tous les mois.
0 0 1 * * root certbot renew --quiet
Exemple de regénération de certificats pour nginx
[root@ns3367127 ~]# certbot renew --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/security-helzone.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for security-helzone.com
Waiting for verification...
Cleaning up challenges
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/security-helzone.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/security-helzone.com/fullchain.pem (success)
Si jamais vous lancez la commande certbot renew
sans devoir renouveler votre certificat, Let’s Ecnrypt vous affichera simplement : « Cert not yet due for renewal ».