L’installation d'un certificat SSL sur votre domaine est une étape essentielle par laquelle vous devez passer pour sécuriser votre site WordPress, et qui joue désormais un rôle aussi dans votre référencement.

Maintenant avec Let’s Encrypt vous pouvez en obtenir un gratuitement.

Un certificat SSL crypte la connexion entre votre site et le navigateur de vos visiteurs, afin que les pirates ne puissent pas intercepter et voler des informations personnelles. Normalement, les certificats SSL peuvent être difficiles à installer et peuvent coûter cher, mais cela change rapidement.

Let’s Encrypt est une nouvelle autorité de certification open source qui est soutenu par les plus grandes entreprises, y compris Automattic, les gens derrière WordPress, ainsi que Facebook, Mozilla, Chrome, Cisco et Sucuri. Le projet visé est de faire installer des certificats SSL automatisés et gratuits pour tous.

Let’s Encrypt a un programme d'installation automatisé appelé Certbot, qui peut vous aider à ajouter un certificat à votre site en quelques minutes ou moins. Certbot est actuellement en version bêta publique, et vous pouvez vous attendre à beaucoup de changements dans la version officielle, mais la version actuelle est suffisamment stable pour pouvoir l'essayer sur les sites de production.

Qu’est-ce que Let’s Encrypt, Certbot et SSL?

Certificats SSL

Les certificats SSL (Secure Socket Layer) ont d'abord été créés en 1996 pour crypter la connexion entre un site et son utilisateur final, afin que les données qui sont transférées en arrière soient sécurisées. Le cryptage des données signifie le brouillage de texte lisible par l'homme avec des chaînes de lettres et de chiffres qui ne peuvent être déchiffrés qu’avec ce qu'on appelle une clé secrète.
Tant que la clé secrète reste cachée, les données cryptées ne peuvent être comprise par personne, ce qui en fait le moyen le plus sûr de protéger l'information sur Internet.
Vous pouvez dire quand un site dispose d'un certificat SSL installé quand vous voyez un cadenas vert affiché dans la barre d'adresse de votre navigateur, avec un préfixe https dans l'URL du site visité, plutôt que le http standard.

 

L’installation d'un certificat SSL pour votre domaine permet de sécuriser votre site.

Les certificats SSL sont installés sur les domaines et un certificat doit être installé par domaine.

Le site qui est attaché au domaine obtient une sécurité avec chiffrement lorsque le certificat SSL est actif. Peu importe quel navigateur ou dispositif vos visiteurs utilisent pour accéder à votre site, aussi longtemps qu'ils entrent dans l'URL de votre site avec https au début, leur connexion est cryptée et sécurisée.

L'utilisation d'un certificat SSL pour votre site WordPress signifie que vos données, ainsi que les données de vos utilisateurs, reste à l'abri des regards indiscrets. Depuis, WordPress est une grande cible pour les pirates en raison de sa popularité et de sa transparence, il est important de prendre toutes les mesures appropriées vers la sécurisation de votre site.

Alors que WordPress lui-même est sécurisé si vous avez la dernière version installée, plus d’obstacles vous pouvez placer sur le chemin d'un pirate pour rendre ses attaques plus difficiles, moins de chance que votre site soit compromis. Une des façons d’ajouter une couche de protection supplémentaire à votre site, c’est en installant un certificat SSL.

Tout site qui échange des informations avec un visiteur, que ce soit un site de commerce électronique ou qui accepte les connexions utilisateur a besoin d'un certificat SSL. Puisque tous les sites WordPress nécessitent qu’au moins un utilisateur se connecte, il est recommandé que tous les sites WordPress aient un certificat SSL.

Un cadenas vert et https dans l'URL signifient qu’un certificat SSL est actif.

Let’s Encrypt

Let’s Encrypt est géré par le groupe de recherche sur la sécurité Internet (ISRG), qui est une société Californienne d’utilité publique et reconnue par l'IRS comme une organisation exonérée d'impôt. C’est une autorité de certification enregistrée, ce qui signifie qu'elle est l'une des sociétés autorisées capables de délivrer des certificats SSL.
C’est un projet open source qui vise à sécuriser l'ensemble du Web. Let’s Encrypt a vu sa sortie officielle et stable le 12 Avril 2016, ce qui a permis l'émission de certificats ouverts et disponibles pour tous les sites publics et non pas seulement des environnements de stockage intermédiaire.
Les certificats standards sont disponibles gratuitement et ne vous sont pas limités qu’à un seul. Cependant, il y a une limite au nombre de certificats qui peuvent être délivrés par semaine, mais nous y reviendrons plus tard.
L’installation d'un certificat par Let’s Encrypt est rapide. En fait, c’est beaucoup plus rapide qu’avec d'autres autorités de certification.
Au lieu d'attendre plusieurs heures pour que votre demande soit acceptée et que votre certificat soit finalement délivré, vous pouvez utiliser SSH et le programme d'installation Certbot pour délivrer un certificat pour votre domaine en quelques secondes. L'ensemble du processus du début à la fin n’est généralement qu’une simple question de minutes, pas d’heures.

Certbot

Certbot est un client de gestion automatique de certificat d’environnement (ACME), et est devenu disponible en version bêta publique le 12 mai 2016. Une fois que vous installez Certbot sur votre serveur via SSH, vous pouvez alors faire appel à ses commandes pour installer et autoriser les certificats SSL.

Il était autrefois connu comme le client Let’s Encrypt ACME, mais a été récemment remis à l'Electronic Frontier Foundation (EFF) pour maintenir et poursuivre le développement du client ACME. L’EFF est un organisme à but non-lucratif qui a été fondée en 1990, qui travaille pour défendre les libertés civiles dans le monde numérique, et protège la vie privée de l'utilisateur.

Configurations du serveur

Certbot, dans sa version bêta, est suffisamment stable pour l'utilisation sur les sites de production, mais pas sans bogues. Il est donc recommandé d’exécuter des tests en profondeur dans un environnement de mise en scène, avant d'installer un certificat sur un site en direct.
Selon la documentation Let’s Encrypt et Certbot, vous devez répondre à certaines exigences de serveur pour installer des certificats:

"Le client Let’s Encrypt actuellement ne fonctionne que sur Unix-ish OSes qui inclues Python 2.6 ou 2.7; le support Python 3.x nous l'espérons sera ajouté à l'avenir .... Le plugin Apache exige actuellement un système d'exploitation basé sur Debian avec la version 1.0 d’augeas; ceci inclut Ubuntu 12.04+ et Debian 7+ ".

Nginx/0.8.48 + est également très expérimental et n’est pas inclus dans la version bêta de Certbot.

Vous avez également besoin d’exécuter Certbot via SSH et vous pouvez utiliser votre client SSH préféré comme terminal pour Mac OS X et PuTTY pour Windows. N’oubliez pas que le terminal est livré pré-installé, mais ce n'est pas le cas pour PuTTY.

Les certificats peuvent être installés en tant qu'utilisateur racine sur votre serveur, mais si vous ne voulez vraiment pas installer des certificats à la racine, c’est techniquement possible si vous remplissez certaines conditions:

•    Si vous n'utilisez pas le plug-in standalone décrit ci-dessous qui requiert que vous liiez les ports 80 ou 443
•    Si vous n'utilisez pas les plug-ins apache ou nginx qui ont besoin de modifier les configurations du serveur Web

Même si ceci ne s'appliquent pas à vous, il est toujours possible de ne pas exécuter Certbot comme racine en utilisant les options letsencrypt-nosudo ou simp_le. Gardez à l'esprit que ces options ne sont pas créées et maintenues par les équipes derrière Let’s Encrypt et Certbot, donc vous les utilisez à vos propres risques.

Assurez-vous d'exercer la même prudence que celle dont vous feriez preuve lors de l'installation des plugins dans votre site WordPress, puisque ni l’un ni l’autre n’est garanti pour être maintenue indéfiniment, soit sans défaut ou vérifier les mises à jour régulières.

Gardez à l'esprit que l'exécution de Certbot comme racine peut ne pas être possible sur hébergement mutualisé ou VPS administré et serveur dédié. Cela dépend de votre plan d'hébergement et du fournisseur. Si vous n'êtes pas sûr que cela soit possible, contactez votre hébergeur pour savoir à coup sûr.

Vous pouvez également obtenir plus de détails sur le SSH en vérifiant Un guide rapide à l'invite du terminal et ligne de commande pour WordPress.

Si vous avez le CDN activé sur votre site grâce à Cloudflare, vous pouvez rencontrer des erreurs lors de l'installation d'un certificat. Ceci peut être évité en suspendant temporairement Cloudflare. Lorsque votre certificat a terminé l'installation, vous pouvez reprendre le service CDN.

Limitations et emplacements

Renouvellement des conditions

Les certificats sont valables pendant 90 jours et ne se renouvellent pas automatiquement, mais vous pouvez automatiser le processus de renouvellement avec une commande. Il y a aussi des limites au nombre de certificats que vous pouvez installer pour certaines périodes de temps.

Limites de taux

Il y a une limite de 500 par période de trois heures sur les inscriptions pour une adresse IP, cinq certificats par domaine et 300 autorisations en suspens par semaine. Un plafond de 100 domaines pour un seul certificat est également en vigueur.
Il y a aussi une limite de 20 sous-domaines, d'autres variantes pour un seul domaine par semaine, et cinq certificats par Fully Qualified Domain Name (FQDN) fixé par semaine. Cela signifie, que si on vous délivre un certificat pour un maximum de 20 sous-domaines, vous pouvez émettre quatre autres certificats pour le même groupement exact de sous-domaines, tant qu'il ne dépasse pas 20 sous-domaines.
Par exemple, si vous émettez un certificat pour your-site.com, www.your-site.com, blog.your-site.com et store.your-site.com vous seriez en mesure d'émettre quatre autres certificats pour ces mêmes domaines en une semaine. Si jamais vous totalisez 20 domaines, vous aurez atteint la limite.
D'autre part, si on vous délivre un certificat pour cinq domaines, vous ne pourrez émettre que trois autres certificats contenant les mêmes domaines en une semaine, car cela équivaudrait à 20 domaines.
Actuellement, les certificats SSL wildcard et Extended Validation (EV) ne sont pas disponibles. Ces types de certificats peuvent être pris en compte dans l'avenir, mais ils ne sont pas en développement en ce moment.
Cela étant dit, les certificats génériques ne sont pas nécessaires tant que ça, puisque vous pouvez installer autant de certificats que vous voulez, et aussi longtemps que vous le voulez sans toutefois dépasser la limite fixée.

Où vos certificats sont-ils situés

Vos certificats sont stockés dans des fichiers sur votre serveur. Le fichier cert.pem comprend le certificat pour votre serveur alors que le fichier chain.pem contient tous vos autres certificats. Le fichier fullchain.pem comprend tous vos certificats.
Vos clés secrètes sont stockées dans privkey.pem et doivent être tenus secrètes de tout le monde. Sinon, votre certificat peut être exploité et infiltré par des pirates.
Tous ces fichiers sont situés dans /etc/letsencrypt/live/domain/. Pendant les renouvellements, /etc/letsencrypt/live/ est mis à jour pour refléter les dernières modifications et fichiers.

Installation de Certbot

Il y a quelques dépendances qui doivent être installés avant d'ajouter Certbot. Alors que certains systèmes ont leurs pré-installés, pas tous. Vous pouvez savoir si vous avez besoin d'installer les dépendances et trouver la commande spécifique dont vous avez besoin en allant sur le site web de Certbot.


Dans les listes déroulantes, sélectionnez votre type de serveur web et le logiciel d'exploitation pour afficher les informations supplémentaires dont vous avez besoin.

Trouvez les commandes dont vous avez besoin et qui sont spécifiques à votre système d'exploitation sur le site Web de Certbot.
Les détails sont affichés dans les listes déroulantes si vous avez besoin de faire défiler vers le bas pour afficher la commande dont vous avez besoin pour installer les dépendances. Et après que cela soit pris en charge, vous pouvez aller de l'avant et installer Certbot.
Les commandes pour ce faire sont listées sur la même page du site Web de Certbot, sous les informations de dépendances. Sur cette page, vous devriez également voir les commandes pour les renouvellements automatiques.

Exemple des instructions d'installation qui sont répertoriés.
Vous pouvez aller de l'avant et entrer ces commandes via SSH pour installer Certbot. Une fois cela fait, vous pouvez commencer l'installation de certificats SSL.

Installation des certificats SSL

Lorsque vous installez vos certificats, vous pouvez saisir vos domaines dans une chaîne. Cela signifie que vous pouvez inclure toutes les variantes d'un seul domaine dans un seul certificat. Ceci est parfait pour les sous-domaines par exemple.

Au lieu de créer un nouveau certificat pour chaque sous-domaine, vous pouvez en créer un et inclure plusieurs sous-domaines aussi longtemps que vous ne dépassez pas la limite autorisée comme expliqué ci-dessus.

Par exemple, vous pouvez créer un certificat pour your-site.com, www.your-site.com, blog.your-site.com, store.your-site.com et login.your-site.com.

Gardez à l'esprit que vous ne devez pas inclure tous vos sites distincts dans un seul certificat tels que your-site.com, domain.com et example.com. Une telle configuration émettrait le certificat sous your-site.com et les autres énumérés après les avoir mis hors du certificat du domaine énuméré en premier.

Cela provoque des erreurs lorsque vous essayez de visiter https://domain.com et https://example.com. Votre certificat apparaîtrait comme étant invalide et vos visiteurs verront un message d'erreur du navigateur qui leur dira que ce n’est pas sans risque de visiter votre site.

Pour éviter cela, assurez-vous que la totalité des différents domaines ont tous des certificats délivrés pour eux séparément, ou comprennent le chemin du fichier pour chaque site. Garder cette information à l'esprit, vous pouvez aller de l'avant et installer vos certificats sans erreur, et plus de détails sur ce point sont également donnés plus loin.

Aussi, lorsque vous installez votre premier certificat, vous êtes invité à entrer votre email et à accepter les conditions de service. Chaque fois que vous installez un certificat après cette configuration initiale, vous n’aurez pas besoin de continuer à entrer votre e-mail et à accepter les termes.

Méthode 1: Serveurs avec packages natifs installés

Certaines sociétés d'hébergement telles que SiteGround et DreamHost ont Let’s Encrypt inclus dans le panneau de commande. Si vous avez cette option, vous pouvez installer automatiquement les certificats par cette voie.

De nombreuses plates-formes ont aussi des packages natifs installés de sorte que vous pouvez avoir un temps plus court pour installer et délivrer des certificats. Vous pouvez vérifier auprès de votre société d'hébergement si tel est le cas pour le plan que vous êtes sur le point de choisir et si oui, vous avez besoin de consulter le site Web de Certbot comme décrit ci-dessus.

Le site doit énumérer les commandes appropriées pour installer votre certificat.

Méthode 2: Le plug-in Standalone pour les sites d'essai

Avant d'installer votre certificat sur un site en direct, il est recommandé que vous deviez d'abord l'essayer dans un environnement de test. Le plugin standalone de Certbot peut être utilisé dans ce but précis.

Lorsque vous utilisez cette option, vous devez fermer les ports 80 ou 443 sur votre serveur avant d'installer un certificat. Ces ports sont utilisés pour charger votre site et ils provoquent une erreur dans Certbot si vous gardez ces deux ports en cours d'exécution.

Le port 80 est utilisé pour conduire vers votre site avec la requête HTTP par défaut, et le port 443 charge votre site à l'aide de SSL pour que vous puissiez utiliser le port 443, ceci afin que vos visiteurs puissent toujours accéder à votre site sans HTTPS pendant que vous installez votre certificat.

Étant donné que les commandes pour arrêter et redémarrer les ports varient selon le type de système d'exploitation que vous utilisez, vous devriez consulter la documentation de votre type de serveur pour les commandes appropriées.

Une fois que votre port désiré est fermé, vous pouvez entrer l'une des commandes ci-dessous pour laisser Certbot utiliser le port de votre choix:

•    --standalone-supported-challenges http-01 pour utiliser le port 80
•    --standalone-supported-challenges tls-sni-01 pour utiliser le port 443

Ensuite, consultez le site Web de Certbot pour la façon particulière dont vous devriez faire appel à Certbot. Remplacez Certbot ci-dessous avec le nom de la commande que vous êtes invité à utiliser:

certbot certonly --standalone -w /va /www/example/ -d www.example.com -d example.com -w /var/www/other -d other.example.net -d another.other.example.net

Dans la commande ci-dessus, un seul certificat est délivré pour chacun des domaines répertoriés depuis le chemin qui a été défini pour eux. Le répertoire webroot /var/www/example sera le chemin pour les deux premiers domaines qui sont regroupés ensemble et /var/www/other sera le chemin pour les deux autres.

Vous pouvez soit lister un chemin suivi par tous vos autres domaines si ils sont tous liés, ou vous pouvez lister un chemin entre chaque domaine pour donner à chacun d'eux un certificat complètement séparé.

Avec cela à l'esprit, assurez-vous de remplacer ce dont vous avez besoin, y compris le répertoire /var/www/example/ et /var/www/other, ainsi que les domaines www.example.com, example.com, other.example.net et another.other.example.net. Remplacez-les au besoin avec vos propres chemins et noms de domaine.

Vos certificats devraient être délivrés à ce stade une fois que Certbot a fini de travailler, et vous pouvez le tester avant de délivrer des certificats pour vos sites en direct avec le plugin Webroot Certbot.

Méthode 3: Le plug-in Webroot pour les sites de production

Le plugin Webroot Certbot est excellent pour l'installation et la délivrance de certificats sur les sites en direct parce que vous n'avez pas besoin de fermer les ports qui desservent votre site. Cela signifie que vous pouvez émettre des certificats sans avoir à vous soucier de mettre votre site hors-service pendant que vous le faites.

De même qu’avec le plugin standalone, consultez le site Web de Certbot pour la façon particulière dont vous devriez faire appel à Certbot.
Remplacer Certbot ci-dessous avec le nom de la commande que vous êtes invité à utiliser:

certbot certonly --webroot -w /var/www/example/ -d www.example.com -d example.com -w /var/www/other -d other.example.net -d another.other.example.net

Tout comme avec le plugin standalone, les domaines énumérés après un chemin sont chacun issu d’un certificat unique. Dans l'exemple ci-dessus, www.example.com et example.com sont issus d’un certificat sous le chemin /var/www/example/ et les domaines other.example.net et another.other.example.net sont émis d’un certificat sous le chemin /var/www/ other.

Lorsque vous entrez la commande pour vos sites, vous devez lister un chemin pour chacun des domaines qui sont liés. Pour installer des certificats pour des domaines distincts, entrez un chemin d'accès pour un domaine, puis répétez cette opération pour les autres domaines pour lesquels vous souhaitez délivrer un certificat dans la commande.

Alternativement, vous pouvez entrer dans un chemin d'accès, un domaine et une commande de cette façon pour chacun des domaines pour lesquels vous souhaitez installer des certificats.
Cela étant dit, assurez-vous de remplacer /var/www/example/ et /var/www/other avec de vrais chemins vers vos sites www.example.com et example.com, other.example.net et another.other.example.net avec vos noms de domaine réels au besoin.

Une fois que Certbot a terminée l'exécution de la commande, votre certificat SSL devrait être délivré et vous pourrez vérifier votre nouveau site sécurisé.

 

 

Méthode 4: Fait par la Communauté ou Plug-in officiel

Vous pouvez également installer un certificat avec l'un des nombreux plug-ins fait par la communauté. Il faut juste être sûr de faire preuve de prudence lors du choix de l’installation, car n’importe qui peut concevoir et publier un plugin.

Vous pouvez trouver une liste des plug-ins Certbot faits par d'autres dans la communauté open source en consultant la page Wiki Let’s Encrypt.

 

 

Renouvellement et révocation des certificats

Pour renouveler un certificat et mettre en place des renouvellements automatiques, consultez le site Web de Certbot comme décrit ci-dessus pour l'installation de Certbot. Une fois que vous entrez dans votre serveur web et système d'exploitation, les commandes de renouvellement sont répertoriés.
Pour révoquer un certificat, vous pouvez entrer la commande suivante:

certbot revoke -d your-site.com -d your-site.net

Veillez à remplacer Certbot par le nom réel de la commande que le site Web de Certbot vous a demandé d'utiliser, et remplacer your-site.com et your-site.net avec les domaines pour lesquels vous voulez révoquer un certificat.

Si vous souhaitez révoquer plus d'un certificat à la fois, entrer dans un espace à la fin, suivi par -d, un espace et un autre domaine. Si vous voulez seulement révoquer un certificat pour un seul domaine, supprimer -d your-site.net de la commande ci-dessus.

En conclusion

Il est probable qu'il va y avoir beaucoup de changements qui seront effectifs pour Certbot, c’est donc une bonne idée de vérifier fréquemment la documentation Let’s Encrypt et Certbot, mais aussi le site de Let’s Encrypt pour les mises à jour.
Maintenant que vous avez ajouté un certificat SSL sur votre site, vous pouvez imposer à tous ceux qui visitent votre site de l'utiliser.
Si vous rencontrez des problèmes et vous avez besoin d'aide avec Certbot ou Let’s Encrypt, vous pouvez consulter le forum de la communauté.