26 juillet 2018

Comment passer de HTTP à HTTPS dans WordPress en utilisant SSL gratuit avec Let's Encrypt

C'est un fait connu que le passage au HTTPS a ses propres avantages, principalement en termes de sécurité, de confidentialité et d'amélioration du classement dans les moteurs de recherche. Il y a un énorme pic dans le graphique des sites Web utilisant HTTPS au cours de la dernière année environ, et il n'est pas passé inaperçu. Les webmasters sont désormais conscients de l'importance de passer du HTTP au HTTPS. Auparavant, les principaux problèmes rencontrés par les webmasters étaient le prix et la difficulté à configurer un SSL sur leur domaine. Ce n'était pas nécessaire pour les blogueurs qui ne gèrent aucun portail critique.

Maintenant, il existe de nombreux fournisseurs SSL comme Comodo, Démarrer SSL, Letsencrypt, etc., qui fournissent des certificats SSL gratuits pour tout le monde. Actuellement, Let's encrypt est l'un des fournisseurs SSL gratuits les plus utilisés avec une installation facile.

Avantages de l'utilisation de Let's encrypt :

  • SSL gratuit. (évidemment)
  • Installation facile par rapport à d'autres fournisseurs.
  • Disponible dans toutes les régions.
  • Valide les domaines sans nécessiter d'enregistrements MX/d'accès aux e-mails.
  • Renouvellement automatique.

Inconvénients de l'utilisation de Let's encrypt :

  • Aucun certificat de validation étendu.
  • Pas de certificats génériques.
  • Limites de taux pour la délivrance de certificats.

Malgré les inconvénients, je vous recommande d'opter pour Let's encrypt. Ces points n'apparaissent que pour les sites Web légitimes et les portails critiques. Un blog ordinaire n'est affecté par aucun de ces éléments.

Comment sécuriser Cpanel WordPress avec Letsencrypt Free SSL

Le moyen le plus simple est d'utiliser l'hébergement qui fournit le logiciel Let's Encrypt intégré. Tous les hébergeurs ne vous offriront pas cette fonctionnalité préinstallée, mais sources dire que beaucoup ont déjà commencé à ajouter la fonctionnalité Let's encrypt dans leur système d'hébergement. Comme vous pouvez le constater, très peu d'hébergeurs mutualisés ont déjà activé cette fonctionnalité. Donc probablement, vous devez aller avec Dreamhost or Siteground pour l'instant.

Configuration de Let's encrypt dans Dreamhost & Siteground :

Étant parmi les fournisseurs d'hébergement WordPress les plus populaires, ils proposent actuellement une intégration Letsencrypt intégrée qui est très simple.

Dans Dreamhost, il vous suffit de vous connecter à votre tableau de bord et sous la section domaines, vous devez cliquer sur hébergement sécurisé.

dreamhost permet de chiffrer

Cliquez ensuite sur Ajouter un hébergement sécurisé. Dans la page suivante, il vous suffit de sélectionner le domaine et de cliquer sur Ajouter maintenant. Cela lancera le processus et votre certificat SSL gratuit avec Let's encrypt sera fait.

Dans Siteground, connectez-vous à votre Cpanel et faites défiler jusqu'à la section sécurité. En dessous, vous trouverez l'icône Let's encrypt ; Clique dessus.

siteground permet de chiffrer

Cela vous mènera à la page d'installation, où vous devez sélectionner le domaine et cliquer sur Installer.

Pour les hébergeurs Web qui ne fournissent pas cette fonctionnalité, vous devez suivre une longue procédure qui diffère d'un hébergeur à l'autre. La plupart des fournisseurs ont un guide pour installer des certificats SSL tiers sur leur hébergeur, comme Bluehost & Hostgator. Si vous ne trouvez pas de telles documentations, contactez l'hébergeur.

Comment sécuriser Apache avec Let's Encrypt Free SSL sur Ubuntu

Pour les sites Web hébergés sur Apache, vous devez exécuter quelques commandes simples sur le serveur pour installer et configurer Let's encrypt. Il est facile d'exécuter les commandes si vous avez des connaissances de base, mais ne vous embêtez pas avec le serveur si vous n'êtes qu'un novice.

Étape 1 : Connectez-vous au serveur

Assurez-vous de vous connecter avec un nom d'utilisateur qui a accès sudo au serveur.

Étape 2 : Mettre à jour et installer Git

Vous devez mettre à jour le serveur et installer git afin de télécharger Let's encrypt directement depuis github. Voici les commandes.

sudo apt-get mise à jour sudo apt-get install git

Étape 3 : Téléchargez et installez le client Let's encrypt

L'exécution de la commande suivante téléchargera le client Let's encrypt à partir du référentiel officiel. Les fichiers seront téléchargés sur /opter, qui est un répertoire standard pour les logiciels tiers.

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Remarque : vous pouvez également l'installer dans n'importe quel autre répertoire de votre choix.

Étape 4 : Générer et configurer le certificat SSL

Accédez ensuite au répertoireletsencrypt.

cd /opt/letsencrypt

Pour exécuter l'installation et obtenir un certificat pour le domaine, utilisez le deuxième

./letsencrypt-auto --apache -d exemple.com -d www.exemple.com

(Remplacez « exemple.com » par votre nom de domaine.)

Après les avoir exécutés, il vous sera demandé de personnaliser les options et d'accepter les termes et conditions. Fournissez une adresse e-mail appropriée pour la clé perdue et les notifications. Une fois l'installation terminée, un message de félicitations s'affiche sur votre console.

Étape 5 : Configuration du renouvellement automatique, chiffrons les certificats

Let's encrypt fournit des certificats SSL gratuits qui ne sont valables que 90 jours. Vous devez donc renouveler le certificat à chaque fois, ce qui est un processus mouvementé. Pour surmonter cela, nous avons quelque chose appelé cron job qui exécutera périodiquement le renouvellement automatique.

Nous devons maintenant éditer la crontab et créer une nouvelle tâche cron qui s'exécutera chaque semaine. Exécutez la commande suivante :

sudo crontab -e

Ajoutez ceci à la fin de crontab :

30 2 * * 1 /opt/letsencrypt/letsencrypt-autorenew >> /var/log/le-renew.log

Comment sécuriser Nginx avec Let's Encrypt Free SSL sur Ubuntu

Pour les sites Web hébergés sur le serveur Nginx, nous devons installer Let's encrypt en exécutant quelques commandes dans la console du serveur. Comme je l'ai déjà mentionné, ne le faites pas si vous n'êtes pas familiarisé avec au moins les bases de la gestion de serveur.

Étape 1 : Connectez-vous au serveur

Assurez-vous de vous connecter avec un nom d'utilisateur qui a accès sudo au serveur.

Étape 2 : Mettre à jour et installer Git

Vous devez mettre à jour le serveur et installer git pour télécharger Let's encrypt directement depuis GitHub. Voici les commandes.

sudo apt-get update sudo apt-get -y install git

Étape 3 : Installez le client Let's encrypt

Exécutez cette commande pour télécharger le référentiel client Let's encrypt dans le répertoire /opt.

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Étape 4 : Générer et configurer le certificat SSL

Il existe différentes manières de générer SSL. Ici, nous allons utiliser l'un des plugins ou authentificateurs appelés « webroot » pour obtenir le certificat SSL.

Accédez au fichier par défaut dans le répertoire activé pour le site :

sudo nano / etc / nginx / sites-disponible / par défaut

Ajoutez le bloc d'emplacement ci-dessous dans le bloc de serveur. Sauvegarder et quitter.

emplacement ~ /.well-known { allow all; }

Allez ensuite dans le répertoire Let's encrypt :

cd /opt/letsencrypt

Maintenant, pour lancer l'installation, exécutez cette commande.

./letsencrypt-auto certonly -a webroot --webroot-path=/ Var / www / html -d example.com -d www.example.com

Remarque : Remplacez le texte en surbrillance par le chemin de la racine dans votre serveur et nom de domaine.

L'installation de Let's encrypt est maintenant lancée. Il vous sera demandé d'entrer votre adresse e-mail et d'accepter les termes et conditions. Une fois tout cela fait, un message de félicitations s'affichera sur la console.

Vous avez maintenant généré les clés et les fichiers requis pour que le SSL fonctionne sur le domaine. Tous ces fichiers sont stockés dans le sous-répertoire Let's encrypt.

Clé privée:

/etc/letsencrypt/live/example.com/privkey.pem

Votre certificat :

/etc/letsencrypt/live/example.com/cert.pem

Les certificats intermédiaires :

/etc/letsencrypt/live/example.com/chain.pem

Votre certificat et vos certificats intermédiaires concaténés dans le bon ordre :

/etc/letsencrypt/live/example.com/fullchain.pem

 Étape 5 : Configuration de SSL avec le serveur Web

Modifiez le fichier de configuration Nginx qui contient le bloc serveur (comme nous l'avons fait précédemment). Par défaut c'est :

sudo nano / etc / nginx / sites-disponible / par défaut

Dans le bloc serveur, recherchez les lignes suivantes et supprimez-les ou commentez-les.

écouter 80 default_server; écouter [::]:80 default_server ipv6only=on ;

Ajouter ces lignes dans le même bloc serveur

écouter 443 ssl; nom_serveur example.com www.example.com; certificat_ssl /etc/letsencrypt/live/example.com/fullchain.pem ; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem ;

Remplacez le domaine par votre nom de domaine.

Enfin, ajoutez ce nouveau bloc de serveur au-dessus du précédent. Cela redirigera toutes les requêtes HTTP vers HTTPS.

serveur { écouter 80; nom_serveur example.com www.example.com; renvoie 301 https://$host$request_uri; }

Enregistrez le fichier et quittez.

Étape 6 : Configuration du renouvellement automatique, chiffrons les certificats

Let's encrypt fournit des certificats SSL gratuits qui ne sont valables que 90 jours. Vous devez donc renouveler le certificat à chaque fois, ce qui est un processus mouvementé. Pour surmonter cela, nous avons quelque chose appelé cron job qui exécutera périodiquement le renouvellement automatique.

Nous devons maintenant éditer la crontab et créer une nouvelle tâche cron qui s'exécutera chaque semaine. Exécutez la commande suivante :

sudo crontab -e

Ajoutez ceci à la fin de crontab :

30 2 * * 1 /opt/letsencrypt/letsencrypt-autorenew >> /var/log/le-renew.log 35 2 * * 1 /etc/init.d/nginx reload

Problèmes rencontrés lors de l'utilisation de Let's encrypt :

Initialement, Let's encrypt avait de nombreux problèmes dans sa phase bêta, qui ont été corrigés avec le temps. Pourtant, il y avait un problème majeur auquel j'ai été confronté:

Trop d'erreurs de redirection – Chiffrons [ERR_TOO_MANY_REDIRECTS] :

La plupart d'entre vous doivent être conscients de cette erreur. Cela se produit lorsque la redirection n'est pas appropriée ou qu'il y a trop de redirections sur le serveur qui ne se terminent pas à un moment donné, formant ainsi une boucle infinie. Surtout lorsque vous avez un trafic élevé sur votre serveur.

Solution: Utilisez CloudFlare. Dans le tableau de bord, accédez à Crypto. Définissez le cryptage SSL sur « Complet (Strict) ». 

paramètre cloudflare

Conclusion

J'ai personnellement utilisé Let's encrypt sur divers blogs et jusqu'à présent, cela fonctionne plutôt bien pour moi. Mais comme il n'est toujours pas pris en charge directement par de nombreux hébergeurs Web partagés actuellement, vous devrez peut-être y penser. Si vous êtes hébergé sur des VPS ou des serveurs dédiés, foncez sans aucun doute. Malgré les quelques problèmes que j'ai rencontrés, Let's encrypt semble prometteur.

A propos de l'auteure 

Anvesch


{"email": "Adresse e-mail non valide", "url": "Adresse de site Web non valide", "obligatoire": "Champ obligatoire manquant"}