Qu'est-ce que le Certificat SSL ?
Le Certificat SSL (Secure Socket Layer) est une technologie de sécurité qui établit un lien crypté entre les serveurs et les clients. Dans ce cas, les serveurs sont généralement des serveurs web (qui abritent les sites web) et les clients sont des navigateurs comme Chrome, Safari, Mozilla et Microsoft Edge. Un autre exemple serait celui des serveurs de messagerie et des clients de messagerie (dans ce cas, les serveurs sont les courriers électroniques « maison » et les clients sont les fournisseurs de services de messagerie, par exemple Gmail, Yahoo Mail et Outlook).
La technologie du Certificat SSL est standard et permet le transfert sécurisé d'informations sensibles, telles que les numéros de sécurité sociale, les identifiants de connexion et les informations relatives aux cartes de crédit. Habituellement, lorsque des données sont envoyées entre des navigateurs ou des serveurs web, elles sont en texte clair, ce qui les rend très faciles à intercepter par quelqu'un d'autre.
Le Certificat SSL peut également être décrit comme un protocole de sécurité. Étant donné qu'un protocole décrit la manière dont un algorithme doit être utilisé, le Certificat SSL détermine ce que peuvent être ou ne pas être les variables de la liaison et des données transmises.
Comment fonctionne le Certificat SSL ?
Tous les navigateurs peuvent interagir avec des serveurs web sécurisés via le protocole du Certificat SSL. Un certificat SSL est toutefois nécessaire pour garantir l'établissement d'une connexion sécurisée. Lorsqu'un site web possède un certificat SSL valide, on dit qu'il est « activé SSL ». Il comporte une icône de verrouillage juste avant l'URL, une barre d'adresse verte et/ou commence par HTTPS plutôt que HTTP.
Il est important de noter qu'après la version 3 de Certificat SSL, le protocole existant a été remplacé par le protocole TLS (Transport Layer Security). Donc, autant nous parlerons de Certificat SSL et y ferons continuellement référence tout au long de cet article, autant nous parlerons aussi de TLS.
Le Certificat SSL et TLS combinent tous deux authentification et cryptage. Le processus de communication commence généralement par un client qui contacte un serveur en envoyant une requête. Le serveur répond ensuite. Avec le Certificat SSL, la seule partie qui a besoin d'une preuve d'authentification est le client. Avec TLS, le client et le serveur ont tous deux besoin d'une preuve d'authentification.
La preuve d'authentification implique l'utilisation d'une clé de chiffrement, qui est l'élément qui protège réellement les transmissions une fois qu'une connexion a été établie.
Avec le Certificat SSL, l'utilisateur doit détenir un certificat valide afin de valider le client ou le serveur. Le certificat contient une adresse, une signature numérique et une période de validité. Le certificat est émis par des autorités de certification (CA) comme Lets Encrypt. Nous nous pencherons sur les CA un peu plus tard.
Lorsqu'un client contacte le serveur, il (le serveur) présente un certificat. Le serveur envoie ensuite les détails du certificat aux clients et confirme les détails du certificat du client auprès de l'autorité de certification émettrice. Toute divergence entre les détails du certificat du client et les détails fournis par l'autorité de certification entraîne l'absence de connexion.
Le certificat du client doit lui aussi être à jour, et le client doit également vérifier les détails du certificat du serveur avant qu'une connexion sécurisée ne soit établie.
En fait, lorsque nous parlons du concept de « SSL activé », tout ce que nous voulons dire, c'est que l'adresse utilisée par le client ou le serveur possède ou non un certificat valide. L'authentification de l'utilisateur est un autre niveau de sécurité qui utilise des méthodes comme les noms d'utilisateur et les mots de passe.
Le processus de certification pour les utilisateurs domestiques est généralement géré par le navigateur de l'utilisateur. Pour les serveurs, une base de données de certificats est nécessaire afin d'obtenir la certification. Le certificat doit ensuite être téléchargé dans la base de données et activé.
Où se trouve le certificat SSL ?
Le processus de vérification du certificat SSL est intégré dans le navigateur du client ou dans le logiciel du serveur.
Autorités de certification
Nous avons mentionné précédemment que les certificats sont utilisés pour authentifier les clients et les serveurs et qu'ils sont émis par des autorités de certification (CA). Les CA acceptent les demandes de certificats, authentifient les demandes, émettent des certificats et conservent les informations relatives aux certificats émis.
Les certificats garantissent que les gens ne se font pas passer pour des personnes qu'ils ne sont pas. Les autorités de certification vérifient l'identité du demandeur en signant numériquement le certificat de ce dernier. La signature numérique est ensuite utilisée pour vérifier l'authenticité de l'utilisateur ou du serveur.
Quelles sont les autorités de certification auxquelles vous pouvez faire attention ?
Let's Encrypt - Il s'agit d'une autorité de certification open source. L'obtention d'un certificat de validation de domaine est absolument gratuite, tout comme le renouvellement. Vous pouvez également demander plusieurs certificats. Il s'agit d'une bonne option pour les personnes disposant d'un budget limité. Symantec - Cette autorité de certification offre de nombreuses fonctionnalités mais est un peu chère. Vous pouvez demander au moins cinq certificats différents. Geotrust - Cette autorité de certification propose des prix de milieu de gamme et inclut des fonctionnalités telles que la réémission gratuite de certificats et des licences de serveur illimitées. Comodo - Cette autorité de certification propose un essai gratuit pour les certificats SSL premium (validation de domaine). Les certificats SSL incluent une garantie. Digicert - Comme Geotrust, Digicert propose des prix de milieu de gamme et inclut une garantie d'un million de dollars ainsi que des réémissions gratuites et un logo que vous pouvez utiliser sur votre site. Cinq certificats différents sont disponibles.
Pourquoi avez-vous besoin d'un certificat SSL sur votre site web ?
Vous avez maintenant compris le concept de Certificat SSL, mais vous vous demandez peut-être encore pourquoi vous devez vous donner la peine d'obtenir un certificat SSL.
Google a évolué vers un web plus sécurisé en préconisant fortement que les sites adoptent le chiffrement HTTPS. En juillet 2018, Google, avec la sortie de Chrome 68, marquera tous les sites HTTP comme « non sécurisés » :
Exemple de Digicert
Paiements en ligne sécurisés
Si votre site Web accepte les paiements par carte de crédit et/ou stocke les informations financières de vos clients, vous devez utiliser le protocole du Certificat SSL pour protéger vos utilisateurs contre l'interception d'informations. En outre, il est fort probable que les fournisseurs d'hébergement et les sociétés de cartes de crédit exigent le Certificat SSL.
La confiance des utilisateurs
Nous avons mentionné qu'un site qui utilise le Certificat SSL aura une icône de verrouillage juste avant l'URL, une barre verte ou utilisera HTTPS au lieu de HTTP. Ces signaux montrent que votre site est sécurisé et augmentent la confiance des utilisateurs dans votre site.
Des temps de chargement plus rapides
Les sites utilisant le protocole HTTPS se chargent 83 % plus rapidement que ceux utilisant le protocole HTTP. Vous pouvez faire votre propre test ici.
Vous devrez toutefois utiliser une fenêtre privée afin d'empêcher la mise en cache des images.
S'assurer que le processus de connexion est sécurisé
Un Certificat SSL vous permettra de protéger les informations personnelles de vos utilisateurs, ainsi que toutes les données qu'ils peuvent saisir en utilisant votre site.
Meilleur classement dans les moteurs de recherche
Les sites qui utilisent des certificats SSL sont susceptibles d'être mieux classés, Google ayant confirmé en 2014 que le HTTPS était l'un des signaux de classement. D'autres moteurs de recherche ont également inclus la sécurité des sites Web dans leur algorithme de classement.
Comment activer le Certificat SSL pour WordPress
Nous avons rédigé un guide dédié pour vous aider à installer un Certificat SSL sur votre site WordPress.
Vous pouvez obtenir un certificat SSL gratuit si WordPress est votre CMS et si vous utilisez une société d'hébergement qui offre des certificats SSL gratuits. Voici quelques hébergeurs de domaines populaires offrant des certificats SSL gratuits :
Siteground
Dreamhost
GreenGeeks
Bluehost
Hébergement InMotion
WPEngine
Web liquide
Remarque : la plupart des certificats SSL gratuits sont émis par Let's Encrypt.
Si vous n'avez pas installé WordPress sur votre domaine nouvellement acheté :
Si votre hébergeur utilise cPanel, vous devrez vous rendre dans votre cPanel, localiser Top Application et cliquer sur WordPress :
Pour installer WordPress sur votre nouveau domaine, cliquez sur Installer :
Définissez le protocole sur https:// ou https://www
Activation de Certificat SSL si vous avez déjà WordPress
Si vous avez déjà installé WordPress et que vous êtes hébergé par l'une des sociétés susmentionnées, vous pouvez activer votre certificat SSL à partir du tableau de bord de votre hébergement.
Voyons comment activer le Certificat SSL sur un site WordPress hébergé par Inmotion Hosting à titre d'exemple.
Accédez à votre tableau de bord d'hébergement via Mon compte sur CPanel et cliquez sur Gérer le SSL de base gratuit :
Activez l'option Activer le Certificat SSL gratuit.
Si vous avez déjà installé WordPress et que vous devez activer le Certificat SSL :
Vous devez configurer WordPress pour que vos URL lisent HTTPS au lieu de HTTP. Pour ce faire, installez et activez le plugin Really Simple SSL.
Une fois que vous l'aurez activé, vous recevrez des notifications à vérifier :
- HTTP dans vos fichiers . css et . js. Vous devez changer toute référence HTTP:// en //.
- Images, feuilles de style ou scripts provenant d'un domaine sans certificat SSL. Vous devez les supprimer ou les déplacer sur votre propre serveur. Vous pouvez également vous rendre dans les paramètres du Certificat SSL Really Simple situés dans Plugins :
Votre configuration devrait être détectée :
Sous Paramètres Certificat SSL vraiment simples, les éléments suivants doivent être cochés :
Vous devrez peut-être sauvegarder votre site avant d'activer le Certificat SSL. Pour ce faire, vous pouvez installer et activer un plugin appelé UpDraftPlus. Il possède une interface utilisateur très conviviale qui vous guidera pendant la sauvegarde de votre site.
Une fois que vous avez sauvegardé votre site, retournez à Really Simple SSL et cliquez sur « go ahead and activate SSL ».
Vous devriez voir une notification indiquant " Certificat SSL activé". Votre site WordPress devrait maintenant commencer avec HTTPS.
Comment activer le Certificat SSL pour Wix
Avec Wix, vous bénéficiez d'un certificat SSL gratuit.
Pour activer HTTPS/SSL :
Accédez à votre tableau de bord et faites défiler vers le bas de la page jusqu'à ce que vous voyiez HTTPS. Cliquez ensuite sur "Gérer" :
Cliquez sur "Activer HTTPS« (la capture d'écran montre »Désactiver« car il a déjà été activé) puis sur »Continuer" :
Comment activer le Certificat SSL pour Shopify
Shopify fournit gratuitement des certificats SSL 256 bits pour les pages Web, les données et le contenu de tous les sites Shopify éligibles. En fait, le Certificat SSL est disponible sur tout le site.
Les certificats SSL de Shopify sont généralement activés par défaut pour la caisse de la boutique et pour le contenu hébergé sur les domaines .myshopify.com.
Lorsque vous activez SSL, vous remarquerez peut-être que vous devez entrer une adresse HTTPS (si vous utilisez WordPress comme CMS). Vous vous demandez peut-être comment faire pour que votre URL commence par HTTPS, si elle commence toujours par HTTP.
En outre, lorsque vous ajoutez un certificat SSL, vous devez vous assurer que toutes vos URL HTTP sont redirigées vers leurs versions HTTPS.
Prenons un moment pour examiner un concept que nous appellerons la redirection HTTPS.
Pourquoi la redirection vers HTTPS est-elle si importante pour votre site web ?
Il y a quelques années, que votre site web utilise la connexion HTTPS ou HTTP n'avait pas vraiment d'importance. En fait, l'objectif principal était de faciliter le trafic et c'est tout. Mais comme nous sommes dans un monde moderne, les choses ont un peu changé. Google, en juillet 2018, a inclus le HTTPS comme l'un des déterminants du classement.
C'est une très mauvaise nouvelle pour votre site Web si vous n'êtes pas passé du protocole HTTP habituel au protocole HTTPS crypté. La redirection vers HTTPS a un certain nombre d'avantages pour votre site Web et, en fin de compte, pour votre entreprise en général. Voici quelques-uns de ces avantages, regardons-les !
Problème de duplication HTTP ou HTTPS
Sans la redirection vers le HTTPS, les moteurs de recherche perçoivent votre site comme plusieurs sites web avec du contenu dupliqué. Votre https://www.example.com peut être traité par Google comme une URL différente de http://www.example.com.
Voici ce qu'en dit Google : "Le domaine préféré est celui que vous souhaitez voir utilisé pour indexer les pages de votre site (on parle parfois de domaine canonique). Les liens peuvent pointer vers votre site en utilisant les versions www et non-www de l'URL (par exemple, http://www.example.com et http://example.com). Le domaine privilégié est la version que vous souhaitez voir utilisée pour votre site dans les résultats de recherche. ”
Haute sécurité des données transférées
Le certificat TLS/SSL assure un cryptage maximal de vos données. Cela empêche les pirates d'accéder aux informations délicates de votre entreprise. Inutile de dire que c'est en fait la redirection vers HTTPS qui a rendu les transactions en ligne possibles.
Renforce l'intégrité de votre site Web
Tout le monde veut être associé à des choses sûres. Contrairement à ce qui se passait dans le passé, la plupart des navigateurs avertissent actuellement les utilisateurs lorsqu'ils essaient de visiter un site Web qui n'est pas crypté. Cela les effraie et il ne faudra pas longtemps pour que vous commenciez à compter les pertes.
Comment rediriger vers HTTPS
Pour que vos URL soient redirigées vers leur version HTTPS, vous devez modifier le fichier .htaccess (Hypertext Access). Voyons cela un peu plus en détail
Le fichier .htaccess
Le fichier . htaccess peut être défini comme un fichier de configuration qui contrôle le répertoire et les sous-répertoires où il se trouve sur le serveur.
Le fichier .htaccess contient des directives sur la façon dont le serveur doit agir dans certaines circonstances ; par exemple, ce qu'il faut faire lorsque les URL doivent être réécrits, lorsqu'un mot de passe est nécessaire pour accéder au répertoire où se trouve le fichier . htaccess, ou lorsque le fichier . htaccess redirige les utilisateurs vers un fichier d'index différent. Chacun de ces exemples affecte le fonctionnement de votre site Web.
Vous pouvez modifier le fichier . htaccess sur votre ordinateur et utiliser un client FTP pour le télécharger sur un ordinateur ou accéder au fichier via le panneau de contrôle de votre fournisseur de services.
Notez que vous pouvez rediriger tout le trafic web vers un domaine ou un dossier spécifique.
.htaccess règles
Vous devez respecter certaines règles lorsque vous modifiez le fichier .htaccess. Voici quelques-unes de ces règles :
- Le fichier doit uniquement être nommé « .htaccess » - notez le point juste avant « h ». Il n'y a pas d'extension de fichier .txt ou .htm.
À ce stade, nous nous concentrerons sur la règle particulière à suivre pour effectuer différents types de redirections :
Rediriger une seule page :
Redirection 301 /pagename.php http://www.domain.com/pagename.html :
Rediriger un site entier vers un sous-dossier
Redirection 301 http://www.domain.com/subfolder/
Rediriger une extension de fichier tout en conservant le nom de la page
Un exemple serait de vouloir utiliser une extension .html pour utiliser le même nom de fichier mais utiliser l'extension .php :
RedirectMatch 301 (.*).html$ http://www.domain.com$1.php
Redirection d'un site ou d'un domaine entier vers un nouveau site ou domaine.
Redirection 301 /http://www.domain.com/
Rediriger un sous-dossier vers un autre site web
Redirection 301 /sous-dossier http://www.domain.com/
Utiliser la réécriture pour rediriger d'un ancien domaine vers un nouveau domaine
RewriteEngine sur
RewriteBase /
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
Utiliser la réécriture pour rediriger un domaine vers un emplacement www. dans un sous-répertoire.
RewriteEngine sur
RewriteBase /
Rewritecond % {HTTP_HOST} ^domaine.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
Utiliser la réécriture pour rediriger d'un sous-domaine non-www. vers un sous-domaine www.
RewriteEngine sur
RewriteBase /
rewritecond % {http_host} ^domaine.com [nc]
RewriteRule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
Utilisation de la réécriture pour rediriger un ancien domaine avec un sous-répertoire vers un nouveau domaine sans sous-répertoire, mais qui inclut le chemin d'accès complet et la chaîne de requête.
Options +FollowSymLinks
RewriteEngine sur
Rewritecond % {REQUEST_URI} ^/subdirname/(.*)$
RewriteRule ^(.*) http://www.katcode.com %1 [R=302,NC]
Utilisation de la réécriture pour rediriger d'un ancien domaine vers un nouveau domaine qui inclut le chemin complet et la chaîne de requête
Options +FollowSymLinks
RewriteEngine sur
RewriteRule ^(.*) http://www.newdomain.com %{REQUEST_URI} [R=302,NC]
Rediriger des URLs avec des paramètres de requête et placer des fichiers dans un sous-répertoire
Un exemple serait :
URL original : http://www.website.com/sub-dir/index.php?id=3
Nouvelle URL : http://www.website.com/path-to-new-location/
RewriteEngine sur
Rewritecond % {QUERY_STRING} id=3
RewriteRule ^sub-dir/index.php$ /path-to-new-location/ ? [L,R=301]
Réécriture et redirection d'URL avec paramètres de requête avec des fichiers placés dans un répertoire racine
Un exemple serait :
URL original : http://www.website.com/index.php?id=3
Nouvelle URL : http://www.website.com/path-to-new-location/
RewriteEngine sur
Rewritecond % {QUERY_STRING} id=3
RewriteRule ^index.php$ /path-to-new-location/ ? [L,R=301]
Ce ne sont là que quelques-unes des règles courantes.
Contenu mixte
Comme vous avez pu le constater avec les règles . htaccess, si elles ne sont pas bien appliquées, vous risquez de vous retrouver avec ce que nous appelons un contenu mixte.
Pour comprendre le concept de contenu mixte, vous devez comprendre comment les résultats de recherche sont fournis. Lorsqu'un navigateur visite une page Web, il demande une ressource HTML. Le serveur Web renvoie le contenu HTML qui est analysé et présenté sous forme de résultats de recherche. Comme un seul fichier HTML ne suffit pas à afficher une page complète, le fichier HTML doit inclure des références à d'autres ressources (par exemple, des images ou des vidéos, voire des fichiers Javascript). Les ressources supplémentaires sont récupérées à l'aide de requêtes distinctes.
Lorsque le code HTML est chargé via une connexion HTTPS sécurisée, mais que des ressources supplémentaires (comme celles qui viennent d'être mentionnées) sont chargées via une connexion HTTP non sécurisée, nous avons un scénario de contenu mixte. Dans ce cas, les navigateurs affichent des avertissements pour indiquer au visiteur du site que la page contient des ressources non sécurisées.
Les ressources qui utilisent des connexions HTTP non sécurisées deviennent des échappatoires pour les attaques (également appelées « attaques de l'homme du milieu », dans lesquelles l'attaquant peut en fait contrôler l'ensemble de la page web. Même si l'utilisateur est averti, il est généralement trop tard, car les ressources ont déjà été récupérées et la sécurité de la page web est déjà compromise.
Malheureusement, il est difficile pour les navigateurs web de bloquer les contenus mixtes sans affecter la fonctionnalité du site.
La correction des erreurs de contenu mixte devient donc le meilleur moyen d'éviter les attaques. Toutefois, avant même de corriger les erreurs de contenu mixte, nous devons comprendre comment elles s'affichent.
Les navigateurs comme Chrome marquent un site web au contenu mixte comme « non sécurisé ». Les utilisateurs peuvent voir une image telle que celle-ci.
Firefox peut afficher une image comme celle-ci.
En outre, Chrome dispose d'une extension connue sous le nom de HTTPS Mixed Content Locator. Vous pouvez l'ajouter à votre navigateur Chrome pour vérifier si quelque chose s'affiche ou non pour votre site Web. Vous pouvez également utiliser Chrome DevTools si vous souhaitez voir le contenu mixte sur une page Web.
Correction des erreurs de contenu mixte dans WordPress
Vous pouvez utiliser le plugin de Certificat SSL Insecure Content Fixer.
-
- Allez dans Paramètres puis Contenu Certificat SSL non sécurisé. Cela permettra de configurer les paramètres du plugin.
-
- Sélectionnez un niveau de fixation du contenu.
-
- Faites ensuite défiler la page jusqu'à la section Détection HTTPS. Ici, vous choisissez comment détecter le contenu HTTPS sur votre site.
-
- Utilisez la fonction WordPress comme option par défaut.
-
- Si vous utilisez d'autres serveurs web comme Nginx, vous pouvez sélectionner d'autres options.
-
- Cliquez sur « Enregistrer les modifications ».
-
- Vous pouvez ensuite vérifier si votre site affiche toujours des messages d'erreur de contenu mixte.
-
- Si vous voyez toujours des erreurs, vous devrez réajuster les niveaux de correction dans le plugin.
-
- Vous pouvez également travailler avec votre développeur pour corriger les erreurs de contenu mixte.
Comment effectuer une redirection HTTPS sur votre site WordPress ?
Si vous utilisez un CMS comme WordPress, et que vous n'avez aucune connaissance des serveurs open source courants comme Apache et Ningx, vous devrez peut-être utiliser un plugin comme Easy HTTPS Redirection ou Really Simple
Problèmes courants avec la redirection HTTPS
Si le passage au HTTPS est une très bonne chose, comme nous l'avons vu, une mauvaise mise en œuvre peut entraîner des problèmes avec Google. Examinons quelques points à prendre en compte lors de votre redirection HTTPS :
- Assurez-vous que vous définissez la version HTTPS du site comme étant la version préférée. Si vous ne le faites pas, vous aurez deux versions vivantes de votre site qui pourraient dupliquer le contenu, ce qui obligerait les robots des moteurs de recherche à faire le double du travail et gaspillerait votre budget d'exploration des moteurs de recherche.
- Assurez-vous que tous les liens externes vers votre site pointent vers la version HTTPS de votre URL. Si les liens pointent à la fois vers les versions HTTP et HTTPS, les signaux sociaux et l'équité des liens seront divisés en deux.
- Ajoutez la version de votre site HTTPS à la Search Console de Google et aux Webmaster Tools de Bing. Pour la première, vous devez ajouter les deux versions, puis définir votre domaine préféré, comme nous l'avons vu précédemment.
- Assurez-vous que les balises canoniques pointent vers les versions URL HTTPS.
- Assurez-vous que la redirection 301 des versions URL HTTP pointe vers les versions URL HTTPS.
- Assurez-vous que votre sitemap XML inclut les versions HTTPS des URL.
- Assurez-vous que tous les liens internes pointent vers les versions URL HTTPS.
Il est essentiel d'activer le protocole de Certificat SSL pour garantir la sécurité du site et la confiance des utilisateurs. Cela réduira considérablement vos taux de rebond et vous aidera même à améliorer votre classement. Le processus d'activation de Certificat SSL peut être un peu technique pour certaines personnes ; si c'est le cas, il peut être utile de faire appel à un développeur expérimenté. Il est toutefois important de comprendre le concept de base.