Vous êtes prêt à lancer votre nouveau site e-commerce ? Félicitations ! Mais avant de faire cela, avez-vous considéré la sécurité de votre site ? Dans cet article, nous allons explorer le concept de sécurité en ce qui concerne les sites e-commerce et comment le mettre en place.

Joomla! ecommerce-securite


Pourquoi la sécurité est importante

La sécurité est la chose la plus importante pour vos clients. Ils vous font confiance avec leurs informations personnelles et financières et s’attendent à ce que vous les traitiez avec la plus grande sécurité. Personne ne souhaite retrouver son domicile publié sur internet ou se réveiller un matin avec un compte bancaire vidé.

La sécurisation de ces informations renforce la confiance qu’il y a entre vos clients et vous-même. La confiance est ce qui transforme les prospects en clients réguliers. Maintenir la confiance est aussi important que de la construire ; personne ne se souviendra de vos succès, mais tout le monde se souviendra de vos erreurs. Par conséquent, l’engagement continu sur la sécurité est la pierre angulaire de votre boutique en ligne.

Sécurité obligatoire : PCI DSS

Si votre site accepte les paiements par carte de crédit VISA ou MasterCard et qu’il fait moins de 1 000 000 transactions par an vous devez adhérer à la certification standard Payment Card Industry Data Security Standard (PCI DSS) niveau 3 ou 4. De nombreux sites e-commerce tombent dans cette catégorie. Si votre site ne rempli pas ce critère, il ne peut pas accepter les paiements via cartes de crédit, ce qui impacte fortement votre business en ligne.

Si vous gérez les paiements par carte en passant par un service tiers comme Payments Service Provider (PSP) et que les informations liées aux cartes de crédit n’entrent par aucun moyen en contact avec votre serveur, tout ce que vous devez faire est de compléter annuellement un Self-Assessment Questionnaire (SAQ) et faire un scan de serveur trimestriel par un Approved Scan Vendor (ASV). En d’autres termes, vous remplissez un formulaire qui indique que vous ne stockez pas les informations de paiements ; que vous avez mis en place une intégration avec une entreprise de paiement tierce et que vous avez fait réaliser un scan de votre serveur par une entreprise. Simple !

Si cependant vous stockez les informations de cartes de crédit sur votre serveur ou même si ces informations touchent votre serveur avant d’aller sur un procédé externe de paiement - sans être stockées - vous êtes dans une situation très trouble. Dans un tel cas, vous serez tenu de prendre des mesures extrêmes allant de l’accès biométrique de votre ordinateur à l’incinération de vos documents dans un incinérateur industriel. Le coût est tellement absurde qu’il n’y a aucun sens à laisser des informations financières sensibles (tel que les numéros de carte de crédits) transiter sur vos serveurs. Assurez-vous de vous renseigner auprès du développer de votre logiciel e-commerce afin d’éviter les mauvaises surprises.

Vous aimez cet article ? Achetez le magazine !

Sécurité essentielle : SSL

Si vous avez déjà fait des achats en ligne, vous vérifiez probablement la présence d’un petit cadenas ou une barre verte dans la barre d’adresse de votre navigateur. C’est l’indicateur de SSL communément appelé HTTPS.

Qu’est-ce que le SSL

SSL signifie Secure Socket Layer. C’est une technologie qui permet que la connexion entre le navigateur de votre client et le serveur de votre site web soit cryptée afin qu’elle ne puisse pas être détournée. Cela est primordial pour sécuriser les données personnelles et financières de vos clients lorsqu’elles sont en transit.
Gardez à l’esprit que le SSL ne crypte pas les données lorsqu’elles sont à l’arrêt (stockées sur votre serveur) ! La différence peut sembler insignifiante mais elle ne l’est pas. Par exemple, transférer une carte de crédit par SSL signifie que personne ne peut interpréter les données ou les lire durant la transmission car elles sont cryptées. Dès que ces données atteignent votre serveur, celui-ci les voit non-cryptées. Si vous stockez les données reçues, vous les stockez donc non-cryptées. Dans ce cas, si quelqu’un entre dans votre serveur (via un hack) il peut lire les numéros des cartes de crédit. C’est pour cette raison que vous ne devriez jamais laisser ce genre de données atteindre votre serveur, à moins que vous implémentiez des mesures de sécurité extrêmement drastiques.

Certificats SSL

Le HTTPS (SSL) est implémenté en installant un certificat SSL sur votre serveur. Vous pouvez obtenir plusieurs sortes de certificats. Au plus bas niveau vous obtenez un certificat basique, gratuit, venant d’une autorité certifiante comme Let’s Encrypt (https://letsencrypt.org/). Ce type de certificat n’est pas très sécurisé, peut ne pas être reconnu par tous les navigateurs et doit être actualisé tous les 3 mois.
Une meilleure idée est d’obtenir un certificat SSL régulier venant d’une autorité certifiante commerciale. En général, votre hébergeur peut vous aider. Ce type de certificats sera reconnu par la majorité des navigateurs et offrira un degré plus important de sécurité pour les clients qui visiteront votre site web.
Pour finir, il existe des certificats Extended Validation (EV) que vous pouvez obtenir à partir des autorités commerciales certifiantes. Contrairement aux certificats simples, l’obtention d’un certificat EV demande de fournir de nombreuses informations détaillées à propos de votre business. Elles devront être vérifiables par registre de business réputé. L’autorité certifiante vous contactera par téléphone via le numéro de l’entreprise et vérifiera votre identité avant de vous fournir le certificat. En retour, les visiteurs verront une barre verte avec le nom de votre entreprise dans leur navigateur lorsqu’ils visiteront votre site web. Ceci est le niveau de confiance le plus élevé qui peut être construit entre vous et vos clients : vous êtes assurément celui que vous prétendez être.
Il est important de faire attention avec les certificats SSL. Ils proposent différents niveaux de garantie en cas de pertes dues aux problèmes qui pourraient être rencontrés. C’est la différence qu’il peut y avoir entre entre un certificat à 100$ et un autre à 900$ qui pourraient sembler identiques. Assurez-vous de choisir celui qui convient à votre niveau de ventes.

Comment utiliser le SSL sur votre site

security-ecommerce-websiteUne erreur commune que nous voyons régulièrement est lorsque les propriétaires de site activent le cryptage seulement pour la page de connexion. C’est aussi bon que de ne rien sécuriser. Une fois que l’utilisateur est connecté, Joomla! va demander à son navigateur de stocker un cookie de connexion. Malheureusement ce cookie ne va pas être marqué comme “sécurisé seulement”, ce qui signifie qu’il pourrait être volé par des personnes qui auraient interprété la connexion. De plus, puisque l’utilisateur est renvoyé à la version non cryptée du site (celle en HTTP) l’ensemble de ses informations personnelles et financières peut être interceptée.
Ce que vous devez donc faire est de régler le paramètre “Forcer SSL” sur “Tout le site” dans la page Configuration de votre site Joomla!. Ce paramètre dit à Joomla! de toujours afficher le site à travers une connexion HTTPS cryptée. Le cookie de connexion sera marqué comme “sécurisé seulement” ce qui le rendra pratiquement impossible à intercepter lors de la connexion. Le cookie de connexion est désormais disponible seulement via un connexion cryptée (HTTPS) qui, comme nous l’avons vu, est pratiquement impossible à intercepter.
Certaines personnes mettent en avant le fait qu’un site entièrement sous SSL (HTTPS) est mauvais en performance. C’est largement faux. L’impact sur le serveur au niveau des performances est inférieur à 1% sur un serveur construit en 2010. Les CPUs modernes incluent des accélérateurs matériels pour le cryptage SSL, permettant de vous proposer la meilleure qualité de cryptage SSL sur votre site pour des prix très raisonnables.

Sécurité sensible

Exactement comme n’importe quel autre site Joomla!, votre site e-commerce a besoin de certaines bases de sécurité. L’analyse de tout cela mériterai un autre article, mais par chance j’ai donné une présentation sur ce sujet lors du JoomlaDay qui s’est déroulé en France à Paris en 2016. Vous pouvez voir cette présentation à l’adresse : http://akee.ba/jd16paris.

Denial of Service Mitigation

Les sites e-commerce sont des cibles fréquentes d’attaques de Dénie de Service. Cela signifie que l’attaquant va tenter d’inonder votre site avec des milliers de tentatives d’accès jusqu’à utiliser toutes les ressources de votre serveur : cela rend votre site inaccessible pour les clients légitimes. C’est l’équivalent numérique de la tenue d’une manifestation devant votre magazine. Pire encore, un attaquant peut engager une botte - une collection de milliers d’ordinateurs infectés - pour lancer une attaque sur votre site, pour quelques centaines de dollars.

Ce type d’attaque peut vous couter des milliers de dollars en terme de vente et c’est exactement le but de l’attaquant. Il va tenir votre site en otage jusqu’à ce que vous payez une rançon. Cela ne peut être résolu que d’une seule manière : en utilisant un service en frontend de votre site avec la bande passante afin d’éloigner toutes ces requêtes loin de votre serveur. Vous ferez gaspiller de l’argent à l’attaquant tout en gardant votre site disponible pour vos clients légitimes.

Les services les plus réputés pour se protéger des DDoS sont CloudFlare et Incapsula. En prime, ils agissent également comme CDN (Content Delivery Network), ce qui rend votre site plus rapide pour tout le monde. Vous êtes doublement gagnant.

Accéder à votre site en toute sécurité

Une façon très courante via laquelle les gens se font pirater est d’accéder à leur site d’une manière non-sécurisée, en général sans même le savoir.Développer de bonnes habitudes pour accéder à votre site de façon sécurisée est tout comme l’hygiène personnelle : vous oublierez rapidement que vous le faites et vous serez protégé contre les infections désagréables.

Accès au site

Vous aurez souvent besoin d’accéder au frontend et backend alors que vous n’êtes pas à votre bureau, cela pour apporter quelques modifications, que ce soit pour dé-publier un module ou corriger une typo. Même si vous êtes tenté, ne vous connectez pas à partir d’une connexion publique non-sécurisée, comme le réseau WI-FI d’un café, d’un aéroport ou encore d’une bibliothèque publique. Il est généralement très facile d’espionner le trafic et de voler les informations de connexion à votre site web.

De plus, lorsque vous êtes en lieu publique, vous ne devriez pas du tout faire confiance aux réseaux Wi-Fi, ni même par le modem de connexion de votre téléphone. Il existe des outils et logiciel peu couteux, qui peuvent duper votre ordinateur lui faisant croire qu’il se connecte à un réseau Wi-Fi “de confiance” - comme le réseau de votre téléphone ou de chez vous - alors qu’en fait il se connecte à un point d’accès spécial conçu pour dérober les informations transmises.

La seule chose que vous pouvez faire pour éviter ces problèmes est le cryptage. Et comme MythBusters dit, s’il vaut la peine de le faire, il vaut la peine d’en faire trop. Je recommande personnellement d’utiliser à la fois le SSL sur l’ensemble de votre site, comme nous en avons discuté ci-dessus, et d’utiliser un service VPN. Un service VPN crypte toutes les données avant de quitter votre ordinateur et les déchiffre sur son serveur, avant de les transmettre à l’internet, et vice-versa, pour les données qui viennent vers vous. Cela signifie que toutes les informations sensibles sont sécurisées lors de leur trafic, même si le réseau Wi-Fi n’est pas sécurisé. Même si un attaquant est à l’écoute active, il ne recueillera qu’un amas de données cryptées et donc inutiles. Enfin, puisque nous sommes sur le sujet, n’utilisez jamais l’ordinateur de quelqu’un d’autre pour vous connecter à votre site. Vous ne pouvez pas savoir si son appareil est infecté par des logiciels malveillants qui permettent de voler un mot de passe, donc simplement, ne prenez aucun risque inutile !

Accès au fichier

Très souvent vous devez transférer des fichiers lourds entre votre ordinateur et votre serveur, par exemple des vidéos, des sauvegardes, des galeries entières d’images pour vos produits, etc. Typiquement, cela signifie passer par FTP. C’est une très mauvaise idée car des nombreux anciens clients FTP n’utilisent aucun cryptage. Ils transmettent le nom d’utilisateur et le mot de passe de votre serveur en texte clair, ce qui signifie que n’importe quelle personne qui surveillerait votre connexion peut obtenir l’accès à votre serveur.

Il y a deux solutions aux anciens FTP brut appelés FTPS et SFTP. Alors qu’ils semblent similaires, ils sont très différents. FTPS est à FTP ce que HTTPS est àHTTP : c’est un accès FTP via SSL. Malheureusement, le certificat que vous utilisez pour HTTPS n’est en général pas utilisé pour FTPn ce qui signifie que vous restez avec le certificat non sécurisé que vous fournit votre hébergeur. De plus, les détails de mise en œuvre peuvent permettre que, même si vous pensez que vous vous connectez en toute sécurité à FTPS vous êtes en train d'envoyer un grand nombre d'informations non cryptées sur votre serveur. Pour ces raisons, je déconseille de l’utiliser.

Le meilleur choix est SFTP (Secure File Transfer Protocol) qui utilise le transfert de fichiers à travers SSH. Si votre hébergement ne supporte pas cette demande, il peut l’activer ou utiliser un autre hébergement, c’est très important. La première fois que vous allez vous connecter à votre serveur via SFTP, il vous sera demandé de vérifier la signature du serveur. Une fois que vous aurez fait cela, votre ordinateur s’en souviendra désormais pour toujours. Si un attaquant tente d’usurper l’identité de votre serveur, cette signature cryptographique sécurisée va changer et vous serez alerté par votre logiciel SFTP. Dans ce cas, vous ne devez pas vous connecter car la connexion a été compromise. Par ailleurs, toutes les communications entre votre ordinateur et votre serveur, y compris le transfert de fichiers réels, seront cryptées avec une très forte cryptographie, ce qui en fait une méthode idéale pour transférer des fichiers en toute sécurité.

Joomla! et sécurité pour ecommerce

Si vous suspectez d’avoir été hacké

Malgré tout ce que vous faites il peut arriver qu'un jour vous vous fassiez hacker. La chose la plus importante est de ne pas paniquer. La panique mène à des décisions hâtives. Et comme vous le savez, les décisions hâtives ne mènent à rien de bon.
Par conséquent, si vous pensez que vous avez été hacké, n’ignorez pas le problème / ne supprimez pas quoi que ce soit, et ne restaurez pas votre site à partir d’une sauvegarde immédiatement. Attachez-vous les services d’un expert pour enquêter sur la situation. Si le site est hacké, il collectera des informations, nettoiera votre site et apportera les étapes nécessaires pour faire en sorte que le problème ne se reproduise plus. Le dernier point est le plus important.

Gardez à l’esprit qu’il est plus économique de payer un expert - même si c’est pour qu’il vous dise que tout va bien – plutôt que de perdre la confiance de vos clients pour toujours en ayant un site régulièrement hacké.

C’est tout ?

Non, pas vraiment. Sécuriser un site web est un important sujet sur lequel de nombreux livres ont été écrits. La chose la plus importante à vous souvenir est que la sécurité est un processus et un état d’esprit. Vous ne pouvez pas “installer” la sécurité. Vous devez avoir un état d’esprit sécuritaire et vous devez aborder votre interaction avec votre site et ses clients de manière à minimiser les l’expositions aux risques potentiels.

A propos de l’auteur

Nicholas K. Dionysopoulos

Nicolas K Dionysopoulos est web développeur est grec. Il est l’auteur de Akeeba Backup, l’extension de sauvegarde pour Joomla! la plus connue et Admin Tools, une extension de sécurité pour Joomla!.Il est actif dans le développement d’extensions et du core de Joomla! depuis le début, il y a une décennie. Il aime partager ses connaissances, voyager à travers le monde, partager l’amour de Joomla!, cuisiner, jouer de la guitare et parler de lui-même à la troisième personne.