Certificats SSL gratuits

Pour activer HTTPS sur votre site Web, vous devez obtenir un certificat auprès d'une autorité de certification (CA). Let's Encrypt est une autorité de certification... et la gratuité est toujours une bonne chose !

C05348A3-9AB8-42C9-A6E0-81DB3AC59FEB
           

Let's Encrypt est une autorité de certification gratuite, automatisée et ouverte proposée par l' Internet Security Research Group (ISRG) à but non lucratif.

Outre le prix, l'un des aspects intéressants de cette solution est qu'elle ne vous oblige pas vraiment à prouver la propriété du domaine DNS pour lequel vous souhaitez obtenir un certificat. S'il existe déjà un nom DNS résolvant sur cet hôte, vous pouvez obtenir un certificat SSL pour ce domaine et ce nom d'hôte. Cela peut en fait être un problème pour certaines organisations si elles nécessitent l'utilisation de leur propre autorité de certification.

Certbot est le moyen le plus simple de démarrer avec Let's Encrypt si vous avez un accès ssh à cet hôte et un accès root. Suivez les instructions sur leur site Web pour l'installer sur votre système d'exploitation particulier. Assurez-vous que votre pare-feu/groupe de sécurité autorise le trafic entrant sur le port 80, et si vous avez déjà un hôte en cours d'exécution sur le port 80, arrêtez-le temporairement et exécutez :

sudo certbot certonly --standalone

Cerbot vous demandera le nom DNS associé à cet hôte et lancera un processus d'écoute sur le port 80. Si leur service peut atteindre ce processus depuis Internet, votre certificat SSL sera émis. C'est vraiment aussi simple que ça !

☑ Astuce rapide, si vous utilisez Cloudflare pour DNS, assurez-vous de désactiver le mode "Proxied" ou Cerbot ne parviendra pas à atteindre l'hôte.

Une fois que vous avez un certificat, vous devrez concaténer le certificat dans un format que votre serveur Web comprendra. Dans cet exemple, nous utiliserons HAProxy comme serveur, remplacez < your.dns.name > par votre nom d'hôte DNS :


sudo mkdir -p /etc/haproxy/ssl/
 
sudo cat /etc/letsencrypt/live/your.dns.name/fullchain.pem \
    /etc/letsencrypt/live/your.dns.name/privkey.pem \
    | sudo tee /etc/haproxy/ssl/cert.pem

Les certificats Let's Encrypt sont valides pendant 90 jours , vous devez donc être prêt à gérer le processus de renouvellement.

Pour tester cela, vous pouvez exécuter :

sudo certbot renew --dry-run

Si le renouvellement réussit, vous pouvez ajouter l'entrée suivante dans le fichier crontab de votre système :

crontab -e
 
43 6 * * * sudo certbot renew --deploy-hook

L'option deploy-hook permet à Cerbot d'exécuter un script, mais uniquement si le renouvellement du certificat est réussi. Vous pouvez personnaliser ce script :

sudo nano /etc/letsencrypt/renewal-hooks/deploy/start.sh
#!/bin/sh
sudo cat /etc/letsencrypt/live/your.dns.name/fullchain.pem \
    /etc/letsencrypt/live/your.dns.name/privkey.pem \
    | sudo tee /etc/haproxy/ssl/cert.pem
sudo service haproxy restart
Commentaires publiés : 0

Tagged with:
encryption