21Avr2017
Notre guide pour le passage de votre site en HTTPS
Alors que Google a commencé, dés 2014, à nous sensibiliser sur les risques à proposer son site internet sans chiffrer les échanges avec ses visiteurs, il passe à la vitesse supérieure en janvier 2017 en informant les utilisateurs de Google Chrome (version 56) qu’ils sont en train de visiter un site « non sécurisé ». Mozilla Firefox se place dans la même dynamique depuis avril 2015. Aujourd’hui, 80% des internautes fixes et 60% des internautes mobiles sont informés lorsqu’ils visitent un site non sécurisé.Êtes vous concerné ?
Boutique en ligne, application mobile, site vitrine d’entreprise ou simple blog, l’urgence à sécuriser votre site internet est certainement dépendante de votre activité, pourtant certains risques sont communs à tous :- interception des données personnelles de vos visiteurs lors de leur collecte via vos formulaires : mot de passe, adresse email, n° de téléphone…,
- recul des ventes sur votre boutique en ligne par manque de conversion de visiteurs inquiets à la lecture de la notification « non sécurisé » sur votre site,
- falsification du contenu de votre site pouvant entrainer du phishing et la dégradation de votre image de marque,
- compatibilité avec votre application mobile : initialement prévue pour le 1er Janvier 2017, Apple reporte l’obligation de l’usage de HTTPS mais son adoption est imminente. Les recommandations de sécurité pour Google Android sont similaires.
Que faire ?
La solution est d’appliquer un chiffrement des flux HTTP grâce à l’utilisation d’un certificat SSL/TLS. Votre site sera sécurisé par le protocole HTTPS. Les bénéfices seront immédiat :- vos visiteurs sont rassurés sur l’identité de votre site internet et peuvent faire confiance à votre nom de domaine,
- les données transmises ne sont pas corrompues, l’intégrité des contenus est assurée,
- la confidentialité des échanges est préservée,
- le référencement de votre site sera amélioré grâce au bonus SEO Google.
Comment ?
Quelles sont les difficultés et les idées reçues ?- Le passage en HTTPS va-t-il ralentir mon site ? L’impact sur le temps de chargement est généralement inférieur à 100 ms, ce qui est très peu. Bonne nouvelle: la nouvelle version du protocole HTTP/2 va réduire le temps de chargement de 200 ms environ, mais les navigateurs internet ne pourront prendre en charge HTTP/2 uniquement avec HTTPS.
- Mon site contient de nombreux plugins : sont ils compatibles ? Il existe très peu de plugins non compatibles, si c’est le cas, ils sont probablement obsolètes et il est urgent de les mettre à jour où de les remplacer par un équivalent compatible.
- Le référencement par les moteurs de recherche va-t-il être dégradé ? Au contraire, Google intègre un bonus dans le positionnement de ses résultats pour les sites qui utilisent HTTPS.
- Un certificat SSL/TLS coûte cher : Let’s Encrypt propose des certificats gratuits et SSLMate des certificats à partir de 16 $/an.
- La mise en place du HTTPS est complexe : Jusqu’ici réservée aux administrateurs systèmes confirmés, aujourd’hui, la mise en place du protocole HTTPS peut être facilitée grâce à l’obtention d’un certificat SSL par lignes de commandes et en suivant notre guide ci-dessous.
Notre guide pour une bonne implémentation
Fort de notre expérience autour de l’installation et la configuration de certificats SSL, nous vous livrons les bonnes pratiques pour une implémentation de l’HTTPS sur votre site, avec un certificat Let’s Encrypt.- Backup Avant d’intervenir sur votre serveur, faites une sauvegarde de vos données. Tirez partie de votre environnement : Snapshot sur VM ou VPS, Rsync, FTP, copie ou export de votre base de données. Veillez à délocaliser vos fichiers de sauvegarde sur une autre machine physique ou sur le Cloud.
- Architecture
Matériel et logiciel, procédez à un inventaire de vos composants et listez les éléments qui devront faire l’objet d’une vérification de compatibilité avec HTTPS. Pour faciliter cet inventaire, placez vous dans le cas d’un visiteur type qui voudrait accéder à votre site et notez les composants mis en oeuvre.
- Le visiteur tape l’url de votre site : accès DNS, mettre en place une redirection de votredomaine.com vers www.votredomaine.com
- La requête atteint votre serveur : configurer le Firewall, ouverture du port 443
- Le serveur envoie le certificat à la demande du navigateur : configurer le certificat, installation de OpenSSL, Let’s Encrypt et configuration de votre serveur web Apache, Nginx
- Echange des clés de chiffrement et de session et chargement de la page d’accueil : construction du contenu web, mettre en place une redirection de http:// vers https:// avec un fichier .htaccess
- Le visiteur visite les pages du blog et de la boutique : appel aux ressources externes pour les polices, styles, scripts et plugins divers pour faciliter la création de contenu, les outils marketing et autres statistiques
- Le visiteur créé un compte et procède à un achat : envoi d’emails, paiement électronique, fourniture et consommation d’API
- Compatibilité Vérifiez la disponibilité des dernières versions des composants et leurs compatibilités avec votre environnement. Lors de cette étape, planifiez vos installations ou mises à jour de façon itérative et assurez vous que vous pourrez revenir à une version précédente de votre environnement en cas de non compatibilité : voir Backup. Pour plus de flexibilité, vous pouvez dupliquer votre serveur pour tester vos mises à jour sur une plateforme de test.
- Plan du site Etablissez un plan du site pour ne rater aucun élément à sécuriser. Aidez vous des outils de génération de sitemap tel que XML Sitemap Generator.
- Installation Ainsi préparé, vous pouvez vous lancer avec plus de sérénité dans la valse des installations et faire face aux imprévus.
- Vérification Utilisez les outils disponibles tels que la console de développement de Chrome ou Firefox pour visualiser les échanges et contrôler les ressources qui ne seraient pas sécurisées. L’onglet « Security » sera particulièrement pertinent en relevant les contenus ou les appels en http ainsi que leurs origines. Testez la qualité de votre certificat avec Qualys et corrigez les vulnérabilités potentielles souvent liées à la prise en charge de protocoles obsolètes comme SSLv2 ou SSLv3 ou l’utilisation de « ciphers » faibles avec des clés de longueurs insuffisantes. Enfin, contrôler l’impact sur le temps de chargement de votre site avec Pingdom et profitez en pour améliorer les performances globales de votre site :).
- Renouvellement et Surveillance En matière de sécurité, le temps joue contre nous. Les technologies évoluent très rapidement et un site sécurisé aujourd’hui ne le restera pas indéfiniment. C’est pourquoi il est préférable de mettre à jour régulièrement les éléments qui composent votre défense. Let’s Encrypt se positionne dans cette logique et propose des certificats avec une durée de validité de 90 jours. Let’s Encrypt préconise un renouvellement du certificat tous les 60 jours. Pour se faire, vous pouvez utiliser un script de renouvellement exécuté périodiquement. Des alertes par email associées à ce renouvellement et les travaux de backup viendront compléter une surveillance de la disponibilité telle que Uptime Robot.
A l’aide !
Malgré notre guide, vous préférez confier votre implémentation à des professionnels et opter pour un forfait tout compris, pour éviter les mauvaises surprises ?
Consultez notre offre de sécurisation SSL de votre site internet.
Les liens utiles
- Outil d’aide à la configuration : https://mozilla.github.io/server-side-tls/ssl-config-generator/
- Tester la qualité de votre certificat avec Qualys : https://www.ssllabs.com/ssltest/
- Performance du TLS (ENG) : https://istlsfastyet.com/
- Description du TLS : https://fr.wikipedia.org/wiki/Transport_Layer_Security
- Définition de HTTPS : https://fr.wikipedia.org/wiki/HyperText_Transfer_Protocol_Secure
- Analyse du temps de chargement de votre site : https://tools.pingdom.com