Le protocole HTTPS est utilisé pour assurer le cryptage des échanges entre le navigateur et le serveur Web. Fondamental pour tous les échanges critiques (paiement en ligne...), il s'est répandu aux différents échanges de données (authentification, mise en ligne de données...). De nombreux sites comme Facebook, Google... ont fait le choix de basculer la totalité des échanges sur le protocole HTTPS.
Depuis quelques temps déjà, les navigateurs mettent en garde les utilisateurs contre les sites qui n'utilisent pas le protocole HTTPS sur les pages contenant un formulaire d'authentification. En fonction des navigateurs, le visuel est plus ou moins différent. Sous Firefox, l'absence de protocole HTTPS est matérialisée par un cadenas barré.
Lorsqu'on clique sur le cadenas, un message encore plus explicite est affiché.
Depuis peu, le message d'avertissement, relativement discret jusqu'ici, est devenu beaucoup plus intrusif car il est affiché directement au niveau des champs du formulaire permettant de se connecter.
Inutile de préciser que l'utilisateur ne peut plus le rater et que sa confiance envers le site va se trouver très largement remise en question.
Vous l'avez compris il est temps d'agir et de faire en sorte que votre site soit compatible avec le protocole HTTPS.
D'un point de vue technique, il est possible de mettre en place le protocole HTTPS sans avoir besoin d'un certificat externe. On parle alors d'un certificat auto-signé. En clair, c'est tout simplement votre site qui donne la garantie que... votre site est fiable. Au niveau sécurité ce n'est pas acceptable et cela conduira le navigateur de vos utilisateurs à afficher un message d'avertissement.
Sur votre installation OVH Release 3, le protocole HTTPS est déjà configuré et opérationnel. Vous passez effectivement déjà par une connexion HTTPS pour accéder à Webmin ou à PHPMyAdmin mais il s'agit bien ici d'un certificat auto-signé.
Il existe différents types de certificats SSL :
OVH ayant arrêté de vendre des certificats SSL depuis quelques temps, nous allons nous tourner vers les certificats SSL vendus sur le site 1&1.
1&1 propose 3 certificats SSL :
Nous allons choisir le certificat SSL STARTER qui est le moins cher et qui va répondre à notre besoin initial pour l'instant : rassurer nos utilisateurs. Finaliser la commande et le paiement du certificat SSL. Vous remarquerez que durant tout le processus, il n'est jamais fait mention du nom de domaine concerné. C'est tout à fait normal, le certificat SSL commandé devra ensuite être configuré et c'est à ce moment que nous indiquerons le nom de domaine associé.
Une fois l'achat finalisé, nous allons donc configurer notre certificat SSL. Pour cela connectez-vous à votre compte 1&1 et accédez à la rubrique "Certificats SSL".
Cliquez sur le bouton "Configurer un certificat SSL" puis indiquez le nom de domaine que vous souhaitez associer. Vous devriez obtenir un écran similaire à celui-ci.
Pensez à créer un alias au niveau de votre serveur de messagerie pour avoir l'adresse hostmaster puis valider la création du certificat avec le bouton "Configurer un certificat SSL". Une fenêtre vous demande de confirmer que vous allez bien recevoir les emails envoyés à l'adresse hostmaster sur votre domaine.
Une fenêtre vous propose ensuite de télécharger votre clé privée. Pensez bien à la télécharger car elle ne sera plus récupérable par la suite.
Dans notre cas le fichier contenant la clé privée porte le nom www.allo-pere-noel.com_private_key.key.
Vous arrivez ensuite sur la fenêtre suivante qui vous permet d'avoir accès à des informations additionnelles sur votre certificat. Cliquez sur le bouton "Vers l'aperçu".
Vous arrivez alors sur l'écran initial vous indiquant que le certificat est en cours de validation. Vous pouvez remarquer que pour l'instant aucune date de validité n'est indiquée.
Vous devez maintenant regarder l'email envoyé sur la boite hostmaster de votre domaine. Cet email contient un lien qui va vous permettre d'activer le certificat.
Cliquez sur le lien de confirmation puis sur la page affichée cliquez sur le bouton "J'approuve" après avoir vérifié que vos informations sont bien correctes.
L'activation de votre certificat est maintenant terminée. Quelques instants après avoir accepté la validation du certificat vous devriez constater que votre certificat a été mis à jour sur l'interface de 1&1.
Nous allons maintenant récupérer les fichiers nécessaire à la mise en place du certificat SSL sur notre serveur installé sur une OVH Release 3. Cliquez sur le nom de domaine pour accéder à la page des paramètres du certificat SSL. En bas de la page vous allez trouver la rubrique des paramètres avancés.
Téléchargez maintenant le certificat SSL ainsi que le certificat intermédiaire.
Nous disposons des 3 fichiers nécessaires à la bonne mise en place du certificat SSL sur notre serveur :
Connectez-vous maintenant à l'interface Webmin de votre serveur dédié disposant d'une installation OVH Release 3.
Rendez-vous dans la rubrique "Serveurs" puis dans la sous-rubrique "Serveur Web Apache". Vous arrivez alors sur la liste des hôtes virtuels existants sur votre serveur Web.
Nous partons du principe que le domaine a déjà été installé. Vous disposez donc d'un site accessible avec le protocole HTTP.
Nous allons maintenant mettre en place l'hôte virtuel permettant de rendre accessible le site en passant par le protocole HTTPS. Cliquez sur "Créer un hôte virtuel". Remplissez le formulaire en définissant bien le port à la valeur 443 (port HTTPS par défaut), le répertoire racine du document à l'identique de celui de votre site en HTTP, en donnant bien le bon nom de domaine dans le champ "Nom du serveur" et en indiquant bien que vous souhaitez copier les directives à partir de l'hôte virtuel qui correspond à votre site Web en HTTP.
Une fois l'hôte virtuel créé il faut envoyer sur le serveur les 3 fichiers permettant de mettre en œuvre le certificat SSL. Vous pouvez les transférer avec un logiciel FTP dans le dossier principal du site. Attention, les fichiers peuvent être placés dans n'importe quel répertoire mais ne les placez jamais dans un répertoire accessible en ligne (donc surtout pas dans le répertoire www). Il peuvent être envoyés directement dans /home/apn par exemple.
Revenez maintenant à la liste des hôtes virtuels et cliquez sur le lien "Serveur virtuel" de votre nouvel hôte puis choisissez la rubrique "Options SSL".
Cochez la case "Oui" pour l'activation du SSL puis définissez le chemin vers chacun des 3 fichiers. Attention, au niveau de l'entrée "Fichier de certificat / clé privée", il s'agit en réalité de la clé publique contenu dans le fichier www.allo-pere-noel.com_ssl_certificate.cer. Quant à elle, l'entrée "Certificate authorities file" correspond au certificat intermédiaire contenu dans le fichier allo-pere-noel.com_ssl_certificate_INTERMEDIATE.
Une fois ces informations validées votre certificat SSL est installé sur votre hôte virtuel.
Souvent il est souhaitable d'avoir une redirection automatique d'une URL https://allo-pere-noel.com/ vers https://www.allo-pere-noel.com/ tout en conservant la page ciblée ainsi que les éventuelles paramètres GET. Pour mettre en œuvre ce comportement, rendez-vous dans la rubrique "Réseau et adresses" et indiquez dans le champ "Noms de substitution des serveurs virtuels" le nom de domaine de votre site sans le sous-domaine www.
Cliquez ensuite sur la rubrique "Édition des directives" puis copier/coller les lignes suivantes, en intégrant bien entendu, votre nom de domaine.
RewriteEngine onRewriteCond %{HTTP_HOST} !=www.allo-pere-noel.com
RewriteRule ^(.*) https://www.allo-pere-noel.com$1 [QSA,L,R=301]
C'est terminé pour la configuration de notre hôte virtuel chargé de l'accès HTTPS. Nous allons finir par une modification permettant de réaliser la redirection automatique des liens HTTP vers le même lien en HTTPS. Cela permettra à votre site d'être 100% HTTPS.
Pour cela vous devez revenir à la liste des hôtes virtuels. Cliquez sur lien "Serveur virtuel" de votre site Web en HTTP (port 80). Rendez-vous dans la rubrique "Édition des directives" puis copier le code suivant à la fin du code existant.
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://www.allo-pere-noel.com$1 [QSA,L,R=301]
C'est vraiment terminé maintenant... Pour appliquer les changements vous devez cliquer sur le lien "Appliquer les changements" en haut à droite.
Pour vous rendre compte que tout fonctionne bien vous pouvez tester les URL suivantes et constater que les redirections vers le site en HTTPS fonctionnent bien :
Ces 3 URL vous redirigent bien vers https://www.allo-pere-noel.com/blog.html
Le protocole HTTPS est utilisé pour assurer le cryptage des échanges entre le navigateur et le serveur Web. Fondamental pour tous les échanges critiques (paiement en ligne...), il...