Publié

~3mn de lecture 🕑

mer. 16 décembre 2015

← Liste des articles

Configurer un certificat SSL avec Let's Encrypt

Fini les certificats non sécurisés et trÚs coûteux !

Let's encrypt — a new Certificate Authority:  free, automated, and open.

Avec Let's Encrypt vous n'avez plus d'excuse car il vous est maintenant possible d'obtenir un certificat SSL valide, sur tous les navigateurs, gratuitement et sans avoir besoin d'ĂȘtre un expert en cryptographie.

Téléchargez le client sur votre ordinateur

Pour commencer il vous faut installer le client letsencrypt qui va gérer pour vous la génération de la CSR, la vérification auprÚs de letsencrypt et l'installation du certificat.

Comme expliqué sur le site de letsencrypt :

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

Serveur dédié

Si vous avez la chance d'avoir un serveur dédié, c'est complÚtement automatique et il vous suffit de lancer le script avec les bonnes options:

Avec Apache c'est automatique :

$ ./letsencrypt-auto --apache -d example.com -d www.example.com

Pour les autres, la génération du certificat peut se faire comme cela :

$ ./letsencrypt-auto certonly --webroot -w /var/www/example -d example.com -d www.example.com

OĂč /var/www/example est le rĂ©pertoire servant les fichiers sur le domaine example.com.

Il faudra ensuite consulter la documentation de votre serveur HTTP pour configurer votre certificat SSL.

Serveur mutualisé

Comme letsencrypt-auto nécessite d'avoir les droits root, sur un serveur mutualisé c'est un peu moins automatique.

La solution proposée ici est de générer le certifiat localement en mode manuel puis de configurer le serveur mutualisé dans un deuxiÚme temps.

Pour valider de maniÚre automatique un certificat, letsencrypt télécharge une preuve via le nom de domaine pour lequel on demande un certificat.

On va donc :

  • Lancer le script localement ;
  • HĂ©berger la preuve du nom de domaine sur le serveur ;
  • Puis gĂ©nĂ©rer et configurer notre certificat SSL.

Lancer le script localement

$ ./letsencrypt-auto certonly --manual -d mondomaine.fr -d www.mondomaine.fr

Mettre en ligne la preuve de possession du nom de domaine

En utilisant votre client FTP vous pouvez:

  • CrĂ©ez le rĂ©pertoire : www/.well-known/acme-challenge/
  • CrĂ©ez le fichier dont le nom et le contenu vous est donnĂ©.

Par exemple:

$ mkdir .well-known/acme-challenge/
$ cat > .well-known/acme-challenge/1ni92R95ooeCPOcRhVXYSF1HXVfdS61uWMlMjQXOQns
1ni92R95ooeCPOcRhVXYSF1HXVfdS61uWMlMjQXOQns.MJvFiRCK_M0WiBPW19A7VQekVtY5sSojwa44TFcaUAw

Vérifiez que vous pouvez bien accéder au lien qui vous est donné :

https://www.mondomaine.com/.well-known/acme-challenge/1ni92R95ooeCPOcRhVXYSF1HXVfdS61uWMlMjQXOQns

Ensuite appuyez sur Entrée

Mettrez en ligne votre certificat

Vous devez ensuite vous rendre dans l'interface de votre hébergeur et renseigner le contenu des fichiers, privkey.pem, cert.pem et fullchain.pem dans le champ de formulaire respectifs Clé privé, Certificat, Certificats intermédiaires, qui ont été créé pour vous dans le répertoire : /etc/letsencrypt/live/mondomaine.com

Que faire ensuite ?

Votre certificat est valable pour 3 mois n'oubliez pas de vous mettre un rappel quelques jours avant sa date d'expiration pour relancer votre script et mettre Ă  jour le certificat.

Les fichiers fullchain.pem et privkey.pem resteront inchangĂ©s mais le fichier cert.pem doit ĂȘtre mis Ă  jour.

Pour se faire relancer la commande sur le mĂȘme ordinateur:

$ ./letsencrypt-auto certonly --manual -d mondomaine.fr -d www.mondomaine.fr

Un Ă©cran s'affiche vous proposant de renouveler le certificat.

Suivez la procédure et mettez à jour le certificat dans l'interface de votre hébergeur.

Conclusion

Let's Encrypt facilite vraiment la vie, plus besoin de gĂ©nĂ©rer un CSR, plus besoin de payer, plus besoin de se creuser la tĂȘte pour chaque certificat, vous pouvez mettre autant de sous domaines que vous le souhaitez et rĂ©gĂ©nerer votre certificat jusqu'Ă  5 fois par semaines si nĂ©cessaire.

La seule chose à faire c'est de mettre à jour son certificat SSL tous les 3 mois en relançant la commande.

La procédure de mise en place étant disponible et le client étant Open Source il y a fort à parier que les hébergeurs vont simplifier la procédure et la rendre spécifique à leur interface d'administration.

Des serveurs HTTP tels que caddy ont déjà intégré la génération du certificat dans la procédure d'installation de leur serveur.

Revenir au début