Obtenir un certificat SSL avec “Let’s Encrypt”
“Let’s encrypt” est un centre de certification automatisé fournissant des certificats SSL.
Pour obtenir un certificat pour un domaine, le demandeur doit prouver qu’il possède ce domaine. La confirmation fonctionne comme suit : une application certbot est installée sur le serveur du site Web du domaine. Cette application télécharge un certain fichier (fichier de vérification) depuis le serveur de Let’s encrypt. L’application bot crée un répertoire .well-known à l’intérieur du répertoire du serveur web et y place le fichier de vérification.
À la deuxième étape du processus de confirmation, Let’s encrypt télécharge le fichier de vérification depuis le domaine du serveur qu’il vérifie. Si le fichier est disponible, Let’s encrypt compare son nom et son contenu avec son propre fichier de vérification. Si tout est correct, Let’s encrypt envoie 3 certificats SSL et un fichier contenant une clé privée.
Pour finaliser la configuration du certificat, accédez à la console de gestion de votre serveur de site et installez l’application certbot. Pour le guide d’installation, consultez le site officiel.
Sélectionnez votre serveur web et le système d’exploitation sur lequel votre site fonctionne. Il existe des plugins spéciaux pour Apache et Nginx qui permettent d’effectuer l’installation en mode interactif. Nous n’avons pas pu obtenir de certificats en utilisant les plugins, c’est pourquoi nous recommandons d’utiliser la méthode webroot.
Pour les besoins de ce guide, nous avons installé le serveur Apache sur la machine virtuelle Azure. Apache comprend un hôte virtuel pour que certbot place le fichier de vérification. Ensuite, nous avons utilisé la commande suivante :
sudo certbot certonly --webroot -w /etc/httpd/www -d ineedcertfromletsencrypt.tk
pour demander et obtenir des certificats SSL pour le domaine ineedcertfromletsencrypt.tk. Il s’agit d’un domaine gratuit enregistré à des fins d’instruction. /etc/httpd/www dans la ligne de commande est le chemin vers le répertoire de l’hôte virtuel.
Quel que soit le serveur web que vous utilisez pour votre domaine, il y a quelques conditions importantes pour obtenir les certificats.
- Le serveur web doit écouter sur les ports 80 et 443
- L’accès au contenu de l’hôte doit être ouvert. Il est nécessaire d’y accéder via l’URL au format suivant : http://nomdedomaine.com/.wellknown/checkfile où nomdedomaine est le nom du domaine pour lequel vous devez recevoir un certificat, et checkfile est le nom du fichier de test.
- Certbot doit être autorisé à écrire et lire dans le dossier /.well-known et à créer des sous-répertoires dans le dossier (.well-known pour être exact).
Si vous avez rempli toutes les conditions et que le processus de certification s’est terminé avec succès, vous trouverez vos certificats dans le dossier /etc/letsencrypt/archive/ (qui est le nom de votre domaine).
Remarque importante : vous pourriez échouer lorsque vous essayez d’obtenir un certificat pour un sous-domaine parce que Let’s encrypt ne fonctionne qu’avec le domaine de niveau supérieur seulement. Ainsi, nous avons essayé d’obtenir un certificat pour le domaine letsencrypt.westus.cloudapp.azure.com, mais Let’s encrypt a répondu que nous avons dépassé la limite de certificats pour le domaine azure.com. C’est pourquoi nous avons enregistré un domaine gratuit ineedcertfromletsencrypt.tk et effectué une redirection vers letsencrypt.westus.cloudapp.azure.com.
Pour finir, collez la clé privée et le certificat que vous avez obtenus dans le fichier appfirewall.pem situé dans le dossier d’installation de DataSunrise.