Let's Encrypt est disponible en bêta publique et c'est géniale, car les sites auto-hébergés vont enfin pouvoir s'équiper simplement et gratuitement de certificat SSL.
De mon point de vue c'est hyper-pratique pour le grand publique et les personnes qui n'aiment pas se prendre la tête mais appréciant monter des services de stockage tels que "Owncloud, Seafile, Pydio". Ou qui ont un site web qu'ils souhaitent simplement rendre accessible via https.
Certes on pouvait déjà le faire, mais le message suivant apparaît dans les navigateur, si une autorité de certification comme let's encrypt n'est pas utilisé:
Let's Encrypt est une autorité de certification lancée le 3 décembre 2015 (Bêta Version Publique). Cette autorité fournit des certificats gratuits X.509 pour le protocole cryptographique TLS au moyen d'un processus automatisé destiné à se passer du processus complexe actuel impliquant la création manuelle, la validation, la signature, l'installation et le renouvellement des certificats pour la sécurisation des sites internet.
Le manuel d'utilisation est disponible ici: https://letsencrypt.readthedocs.org/en/latest/using.html
Voyons voir comment l'utiliser sur un serveur Debian avec un site tournant sous nginx:
Installer git:
apt-get install git -y
Télécharger let's encrypt et se rendre dans le dossier:
git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt
Couper le service nginx:
let's encrypt lors de la génération du certificat va avoir besoin d'utiliser le port 443, si nginx (ou tout autre services) tourne déjà sur ce port, il est nécessaire de l'arrêter.
service nginx stop
Lancer let's encrypt
./letsencrypt-auto certonly --standalone-supported-challenges tls-sni-01
Une interface va apparaître, pour vous demander 2 informations:
- Une adresse e-mail de contact
- Le nom du domaine que vous allez adressé avec ce certificat.
Finalement vous obtiendrez 2 certificats disponible dans le répertoire:
- /etc/letsencrypt/live/mondomaine.fr/
- fullchain.pem
- privkey.pem
Maintenant il faut modifier votre fichier de configuration de site nginx:
vim /etc/nginx/sites-available/default
Ici deux valeurs à modifier si votre site était déjà en https:
ssl_certificate /etc/letsencrypt/live/mondomaine.fr/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mondomaine.fr/privkey.pem;
Finalement on relance nginx:
service nginx start
Et voilà c'est terminé.
Bien sûr si ce service ne vous convient pas, vous avez toujours à votre disposition: StartSSL