1. Accueil
  2. Blog
  3. Développement web
  4. HTTPS comment ça marche !

HTTPS : 3 raisons d’y passer et comment ça marche !

HTTPS : 3 raisons d’y passer et comment ça marche !

Le HTTPS… C’est quoi ?

HTTPS (HyperText Transfer Protocol Secure) est un protocole, tout comme notre bon vieux HTTP, et qui suit lui aussi certaines étapes qui nous permettent de communiquer entre tous nos appareils connectés au réseau Internet.

La différence avec l’ajout du S (pour Secure), c’est que les données qui transitent alors sur le réseau sont (tadaam) sécurisées ! Bravo !

Comprenez par là que les informations que vous échangés avec un autre périphérique avec ce protocole sont cryptés et normalement illisibles pour les méchants messieurs qui pourraient intercepter vos communications.

Passer son site en HTTPS, vraiment utile ?

On me demande souvent si c’est vraiment utile de passer son site en HTTPS.. j’ai souvent envie de répondre à l’anglaise : « Est-ce vraiment utile d’avoir un smartphone dernier cri ? » Dans l’absolu : non ! Mais c’est quand même mieux ;)

Opter pour la sécurisation de son site avec un certificat SSL offre des avantages et je ne vois pas réellement un seul inconvénient… mais, si on s’attend à ce que son site fonctionne mieux (au sens propre du terme), c’est qu’il faut lire la suite de l’article :)

Pourquoi faudrait-il passer son site en HTTPS ?

Premier argument : le SEO !

Et oui, même si ce n’est pas le seul argument et encore moins celui qui a poussé à la création de ce protocole, c’est le premier que vous allez entendre. Plus personne n’est sans savoir que Google privilégie désormais dans ses SERPS les sites en HTTPS (quoi qu’à voir la tête du gars au premier rang là..)

Depuis 2014 déjà, le protocole https est un signal dans l’algorithme de classement chez notre moteur de recherche préféré.

Seconde raison : la Sécurité !

Beuh oui ! Parce que le rôle premier du petit S qu’on rajoute au bout de http… c’est de sécuriser les échanges de données entre un serveur et un client (ordinateur, smartphone etc.)

Ajouter un certificat SSL et donc passer son site en HTTPS permet de chiffrer les communications entre votre site et le périphérique de votre visiteur.

Concrètement : sans ce protocole sécurisé, si une personne mal intentionnée réalise une attaque « man-in-the-middle » et arrive à récupérer des données « à la volée », le hackeur pourra lire sans difficulté les données car elles ne sont pas cryptées, on dit qu’elles sont « en claires ». Lorsqu’il s’agit d’identifiants d’un petit site, rien de grave.. mais c’est déjà plus délicat pour les e-commerces où certaines données sensibles comme les numéros d’une carte bancaire peuvent transiter.

Et enfin : Les Navigateurs entament votre réputation !

On finira avec ce dernier point : Désormais, avec les dernières versions des navigateurs modernes, si votre site n’est pas « sécurisé », croyez bien que ces derniers vont clairement l’afficher à vos visiteurs et risquent de faire peur à vos potentiels futurs clients.

Ça se traduit de différentes manières. On pourra voir par exemple à côté de la barre d’adresse une mention du genre « Non sécurisé » ou un « cadenas barré » comme dans l’image ci-dessous qui montre les navigateurs Google Chrome et Firefox à l’œuvre.

Et Firefox va plus loin encore ! On peut voir sur les champs où on inscrit nos mots de passe, une jolie infobulle qui nous indique l’information suivante : « Cette connexion n’est pas sécurisée. Les identifiants saisis ici pourraient être compromis. »

On peut imaginer que Google risque bientôt d’implémenter cette fonctionnalité aussi quand on sait qu’il est un fervent défenseur du https.

Passer son site en HTTPS, comment ça marche ?

Alors là, il y aurait de quoi écrire et je ne vais pas m’amuser (oui oui ça m’amuse ces choses là) à détailler dans cet article toutes les procédures possibles pour passer son site web en HTTPS.

Selon le type d’hébergement (mutualisé, VPS, serveur dédié), l’OS (dans le cas de serveur privé), s’il s’agit d’un site sur-mesure ou d’une conception via CMS mais aussi en fonction du fournisseur du certificat retenu… les manipulations changent !

Ce qui est sûr, c’est que si vous avez un CMS et un hébergement mutualisé ça devrait être plus simple pour vous mais ce n’est pas insurmontable non plus de sécuriser son site quand on a un VPS ou un Dédié avec un OS tel que Plesk ou cPanel pour ne citer qu’eux.

En dehors du fait qu’il existe énormément d’infos maintenant selon les cas de figure et que les fournisseurs de certificats vous aiderons en général à coup de tutos.

Les manipulations sont de plus en plus simples à réaliser et parfois même sans devoir utiliser une seule ligne de commande, vous connaissez (?) :

openssl req -new -newkey rsa:2048 -nodes -sha256 -out www.exemple.fr.csr -keyout www.exemple.fr.key -subj "/C=FR/ST=DEPARTEMENT/L=VILLE/O=RAISON-SOCIAL/CN=www.exemple.fr"

Mais alors comment on passe un site en HTTPS ?

On va se concentrer ici sur les grandes lignes lorsqu’on opte pour la location d’un certificat SSL à un prestataire tiers (autre que son registrar donc) pour passer son site en HTTPS. Remarquez que je parle de « location de certificat », car l’achat, ça n’existe pas…..

Comment ? Il existe désormais depuis quelques temps déjà, la possibilité d’acquérir un certificat SSL gratuit grâce à Let’s Encrypt (j’explique ici) ou on peut même créer son propre certificat SSL mais ce dernier est à bannir puisqu’il ne sera pas valide aux yeux des navigateurs et affichera une alerte à vos visiteurs.

1. Générer un CSR (et sa clé privée)

Un CSR
Certificat Signin Request

est un message créé à partir d’informations vous concernant (ou concernant votre entreprise) et d’une clé privée qui est utilisée afin de signer numériquement votre CSR.

Ce message codé contiendra en général les informations suivantes :

  • Le code ISO de votre pays
  • Votre région
  • Ville
  • Raison sociale
  • Votre domaine complet contenant le sous-domaine à protéger comme « www. » (si vous commandez un certificat « wildcard », on mettra le sous-domaine principal)

Avec OpenSSL, on peut ajouter une adresse email, un mot de passe et accessoirement le nom de la compagnie mais la majorité des fournisseurs demandent à ne pas remplir ces champs.

Voilà, on a créé une clé privée (qu’on a soigneusement mis en lieu sûr car très importante) et on est en possession de notre message codé signé et propre à notre serveur qui ressemble à un truc du genre :

-----BEGIN CERTIFICATE REQUEST-----
MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV
BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln
aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo
wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c
1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI
WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ
wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR
BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ
KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D
hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY
Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/
ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn
29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2
97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w=
-----END CERTIFICATE REQUEST-----

2. Choisir son fournisseur

Maintenant que vous avez votre CSR, il faut le transmettre à un fournisseur de certificat SSL certifié.

Ce dernier va le signer numériquement à son tour afin que les navigateurs aient une preuve qu’on peut faire confiance à votre site, qu’il est « authentifié ».

Et en matière de fournisseur, vous avez l’embarras du choix mes seigneurs !
Je vous donne simplement une liste non ordonnée et loin d’être exhaustive de prestataires qui pourront vous satisfaire :

Vous en trouverez bien d’autres en tapant Certificat SSL sur Google.

3. Création du Certificat SSL

On a notre CSR.. on a notre prestataire.. il ne reste plus qu’à créer notre certificat SSL.

L’affaire est simple : via l’espace client de votre fournisseur, vous copier/coller votre CSR dans le champs qui va bien (sans oublier de complétez les autres champs qui sont en général des questions sur votre site, vous et/ou votre entreprise)

Selon le type de certificat commandé, vous recevrez votre certificat SSL immédiatement ou sous quelques heures/jours par e-mail ou il sera disponible dans votre espace client.

Le Certificat SSL que vous recevrez ressemblera à peu prêt à votre CSR en plus long, c’est à dire une suite de caractères qui ne veulent rien dire.

Accompagné de ce message crypté, vous aurez également un certificat « CA » qui veut dire « Certificate Authority », et ce certificat va permettre au navigateur de connaitre et d’appeler votre tiers de confiance (le fournisseur de votre certificat ssl) pour que ce dernier valide le certificat que vous avez installé pour votre site.

C’est de cette manière que le navigateur sait si oui ou non vous êtes clean et qu’il peut vous offrir le joli petit cadenas si convoiter.

4. Hasta la vista.. HTTP

Et voilà, il ne vous reste plus qu’à tuer l’HTTP ! (c’est moi ou je sens un soupçon de jubilation..)

Votre serveur doit donc être en mesure de servir votre site sur le port 443 accompagné de votre Certificat SSL et le Certificat CA.

Il vous faudra donc installer et associer ceux-ci à votre domaine. Comme je le disais plus haut, comme il existe énormément de configs possibles, impossible de détailler chacune des méthodes ici, cet article est de toute façon destiné à détailler les 3 raisons principales de passer au HTTPS et les grandes lignes de son fonctionnement.

Parce que quand il n’y en a plus…

Dernier « détail » : Surtout, n’oubliez pas de rediriger les internautes et moteurs de recherches de l’HTTP vers l’HTTPS ! Car au delà d’avoir simplement travailler à sécuriser les connexions à votre site pour rien.. Google et compagnie risquent de vous pénaliser pour « Duplicate Content » puisque vos pages seraient disponible sous 2 URL… Aïe !

Et vous ?

Vous trouvez ça utile l’HTTPS ? Vous y êtes déjà passé ? C’est prévu ?

Chargement...