Aujourd’hui était une journée de soutien passionnante, si vous trouvez ce genre de choses excitantes. Environ 30 minutes après être arrivé au bureau, j’ai reçu un message Skype d’un de nos clients. Ils m’ont dit que leur passerelle de paiement avait cessé de fonctionner. Je me suis connecté à leur back office et je suis passé à la caisse en essayant d’utiliser ma carte de visite pour effectuer un achat. Rien ne s’est passé. J’ai regardé la console et j’ai vu une ressource non sécurisée bloquer la demande de paiement. Étrange.

Puis j’ai réalisé…

J’ai ouvert mon client ftp et je me suis connecté à leur site et je me suis dirigé vers le plugin de la passerelle de paiement, ils utilisaient Braintree. J’ai remarqué qu’il a été récemment modifié par l’horodatage du ftp. Lorsque j’ai ouvert le fichier, mon cœur s’est brisé. C’est pour cela que j’ai ouvert le fichier.
Passerelle de paiement piratée
Si vous ne pouvez pas le savoir, ce fichier prend les informations de la carte de crédit et les envoie à une adresse électronique après les avoir soumises à la passerelle de paiement. C’est un excellent hack, je n’en ai jamais vu un aussi bien réalisé. Mais ils ont fait une erreur, ce matin ils ont changé quelque chose et modifié un autre fichier. Cette erreur avait tout cassé. Ce qui était un cadeau pour être honnête, car ce hack était en place depuis plusieurs jours déjà sans que personne ne s’en aperçoive. Mais c’était aussi une tragédie, les numéros de cartes avaient été compromis depuis plusieurs jours.

PrestaShop est-il en sécurité ?

La réponse est non, en bref, il ne l’est pas. Je n’ai jamais vu un site PrestaShop piraté en piratant PrestaShop lui-même, ni aucun de mes collègues à qui j’ai posé la question. Mais cela étant dit, de mauvaises politiques de sécurité peuvent faire de n’importe quel site une cible pour le piratage. WordPress sur un serveur est une mauvaise politique de sécurité. Il est préférable d’éviter de le mettre sur le même serveur que votre installation de PrestaShop.
Laissez-moi vous expliquer comment le piratage s’est produit, ce qui, à mon avis, est un échec total de la part de WordPress. WordPress se met automatiquement à jour avec la dernière version sécurisée, ce qui semble raisonnable, mais en réalité ne l’est pas et est très peu sûr. Il ne prend pas en compte les modifications personnalisées ou même la compatibilité des plugins, il se contente de mettre à jour. Ce qui s’est passé sur le serveur, c’est que WordPress a essayé de mettre à jour, mais a échoué pendant la mise à jour. Il a échoué pendant que les fichiers étaient modifiés et déplacés. Qu’est-ce que cela signifie ? Le fichier wp-config.php contient les paramètres de votre base de données pour WordPress, il a été sauvegardé sur le serveur au format texte lorsque je me suis connecté au serveur. En gros, cela permet à n’importe qui d’accéder à la base de données sur le serveur s’il trouve le fichier. Heureusement, il existe des scanners qui sont conçus spécifiquement pour trouver ce fichier. Comme c’est pratique. C’est là que les choses se sont dégradées et cela aurait pu être évité simplement en n’ayant pas WordPress sur le serveur. Malheureusement, avec ce site, ce n’est pas possible pour l’instant, nous essayons donc d’atténuer le problème.

Comment y parvenons-nous ?

Nous avons mis en place toute une série de mesures de sécurité sur ce site afin d’atténuer le problème dès maintenant. Je ne peux pas toutes les mentionner, mais permettez-moi de souligner certaines des mesures les plus importantes que nous avons prises.
Nous avons changé tous les mots de passe et les noms de base de données associés à tout :
• Installation d’un plugin de sécurité dans WordPress
• Désactivation totale du FTP et du SSH sur le serveur
• Recherche de vulnérabilités sur le serveur
• Réinitialisation des autorisations de fichiers à l’échelle du serveur
Une chose que je n’ai pas mentionnée dans la liste ci-dessus, parce que je voulais l’approfondir, c’est que nous avons installé un module dans PrestaShop pour contrer ce phénomène à l’avenir. Ce module réalisé par El Patron des forums PrestaShop et propriétaire de notre agence d’expertises et de développement web mobile et sites web en Suisse peut vous aider à alerter sur un problème avant qu’il ne devienne un problème majeur. Ce module vous avertit des changements de fichiers sur votre serveur. Certains fichiers changent naturellement, vous pouvez donc recevoir des alertes sans signification, ce qui n’est pas très grave sur le plan de la sécurité. Mais si vous constatez des changements dans des modules que vous n’avez pas mis à jour, ce module s’amortit dans un premier temps. Surtout si l’on considère que le nettoyage de ce serveur nous a pris environ 10 heures, sans compter le temps où le site était hors ligne et n’acceptait pas de commandes. C’est vraiment une petite somme à payer pour savoir quand quelque chose va mal. Vous trouverez ci-dessous une capture d’écran du module en action.

Sécurité de PrestaShop

Le nom du module est PrestaVault. Du point de vue des programmeurs, il s’agit d’une idée simple, mais d’un module complexe. Un module complexe qui est utile si vous ne voulez pas être pris au piège si votre boutique est piratée. Ce module peut vous alerter dès que votre boutique est piratée afin que vous puissiez commencer à atténuer le problème. Vous pouvez voir dans l’image ci-dessus qu’il scanne votre serveur et recherche tous les fichiers qui ont été modifiés. Ce scan est configurable via une tâche cron et vous pouvez l’exécuter aussi souvent que vous le souhaitez afin d’être alerté dès que votre site est piraté. C’est quelque chose que je vous conseille vivement d’utiliser. Nous sommes actuellement en pourparlers avec eux pour intégrer ce module dans nos packages de support pour nos clients.

Comment pouvons-nous éviter cela ?

Je suis heureux que vous ayez posé cette question, ou du moins que vous y ayez pensé pour notre agence d’expertises et de développement web mobile et sites web en Suisse .

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code