Comment assurer la sécurité et l'organisation de l'hébergement multisite ?
Cette semaine a été assez mouvementée dans le monde de PrestaShop, car une nouvelle vague de piratage a touché des milliers de sites web. Dans la plupart des cas, cela est dû à un manque de surveillance et de configuration des boutiques en ligne.
J'ai récemment traité un cas de piratage qu'il me semble important de souligner pour montrer ce qu'il ne faut jamais faire.
Le client que j'ai assisté avait trois boutiques en ligne et un blog développé avec WordPress. Jusque-là, tout allait bien.
Cependant, la plus grosse erreur, à mon avis, était que tout cela était installé dans des sous-répertoires du répertoire public du serveur, vous savez, celui qui s'appelle soit www/
, soit public_html/
sur votre serveur partagé.
Nous avions donc une structure hiérarchique comme celle-ci :
/home/identifiant/www/
/home/identifiant/www/WordPress
/home/identifiant/www/Boutique 1
/home/identifiant/www/Boutique 2
/home/identifiant/www/Boutique 3
Pourquoi cette structure pose-t-elle problème ?
Tout d'abord, il est important de comprendre comment fonctionne l'accès aux données et au serveur de votre site web.
La racine visible d'un serveur est définie dans le répertoire www/
ou public_html/
(en général, l'un est un alias de l'autre).
Cela signifie que lorsque vous tapez le domaine principal du serveur, vous affichez ce qui est contenu dans ce répertoire.
Ainsi, tout ce qui se trouve dans ce répertoire est accessible à tous.
Par contre, tout ce qui se trouve en dessous de ce répertoire, dans /home/identifiant/
pour mon exemple, ne sera jamais accessible de l'extérieur, seuls certains scripts pourront le découvrir.
Ainsi, choisir de mettre tous les répertoires de boutiques dans ce répertoire public ouvre une porte immense aux hackers pour se balader d'un répertoire à l'autre sans réelles contraintes, il leur suffit de dire dans leur script qu'ils montent d'un niveau, ../
, pour revenir facilement à la racine du répertoire public et tout visiter.
La bonne structure à mettre en place
Tous les fournisseurs d'hébergement proposent des solutions pour isoler les sites web les uns des autres. Certains proposent des solutions plus complexes qui sont particulièrement efficaces pour isoler correctement les différents sites.
Par défaut, sur votre hébergement, dans le panneau de gestion, vous pouvez ajouter un certain nombre de domaines ou sous-domaines. Pour chacun d'entre eux, il est indispensable de créer un répertoire vers lequel pointera le domaine ou le sous-domaine, et bien sûr en dehors du répertoire initialement proposé www/
ou public_html/
.
Vous obtiendrez ainsi une structure hiérarchique de ce type :
/home/identifiant/www/
/home/identifiant/WordPress
/home/identifiant/Boutique 1
/home/identifiant/Boutique 2
/home/identifiant/Boutique 3
La solution ultime
Pour des solutions encore plus sécurisées, il est évident de séparer chaque site sur un hébergement unique. Cette solution peut sembler coûteuse, mais certains hébergeurs proposent, avec leurs solutions mutualisées, de le faire assez facilement.
Voici deux exemples de deux points de vue différents.
PlanetHoster
Dans son offre World, PlanetHoster propose de répartir les éléments techniques de l'hébergement sur plusieurs sites, ce qui se traduit par l'allocation de ressources.
Cela permet de séparer véritablement chaque installation les unes des autres, mais aussi de répartir les ressources du serveur en fonction des besoins de chaque installation. Chaque CMS ne consomme pas les ressources de la même manière - certains peuvent avoir besoin de plus de processeurs, tandis que d'autres peuvent avoir besoin de plus de mémoire ou de performance d'écriture sur le disque.
Si nécessaire, vous pouvez commander des unités de ressources à tout moment et dans n'importe quel volume, ce qui vous permet d'ajuster finement vos besoins.
Tout cela est géré dans votre espace de gestion fourni par PlanetHoster, et chaque espace d'hébergement est basé sur la solution N0C (N zero C), développée en interne par les équipes d'hébergement canadiennes.
Attention toutefois, les offres World Pro (anciennement VIP) requièrent un minimum par site, ce qui signifie que vous devrez en commander plus si vous souhaitez les séparer - ce qui n'est pas le cas de l'offre World Normal.
O2switch
Ici, la perspective est différente.
L'interface de votre espace d'hébergement pour l'offre unique d'O2switch est gérée à l'aide du célèbre panneau de contrôle cPanel.
Vous y trouverez ce que l'on appelle My Web Universe (anciennement Lunes).
Cet espace vous permettra de créer ce qu'ils appellent des Lunes, qui sont des espaces d'hébergement complètement isolés et indépendants les uns des autres avec un accès dédié au cPanel de chaque Lune.
Chaque Lune créée partagera les ressources globales de votre serveur d'hébergement, à savoir 12 CPU et 48GB de mémoire proposés dans leur Offre Unique.
Par défaut, 5 Lunes peuvent coexister, dont la Lune principale et 4 Lunes secondaires, mais vous pouvez commander des Lunes supplémentaires en fonction de vos besoins, toujours dans la limite des ressources de votre serveur.
Chaque Lune peut exceptionnellement bénéficier de l'intégralité des ressources sous la forme d'un boost de ressources pendant 1 heure, jusqu'à 6 fois par jour. Mais si vous vous trouvez dans cette situation, il est peut-être temps de commander une nouvelle offre unique pour les Lunes les plus gourmandes en ressources ou de passer à l'offre Scale'UP qui offre plus de ressources.
La sécurité avant tout
Dans la lutte contre le piratage, il est nécessaire de combiner plusieurs solutions pour se protéger de toutes ces attaques constantes. Vous ne vous en rendez peut-être pas compte, mais tous vos sites web sont attaqués des centaines ou des milliers de fois par jour. Ces attaques aboutissent rarement car les pirates automatisent beaucoup de choses, qui peuvent être identifiées par les mesures de sécurité de votre hébergeur. Toutefois, s'ils parviennent à leurs fins, vous avez encore une chance si vous n'utilisez pas de CMS ou de technologies ciblées par les pirates. Mais il suffit d'une seule attaque réussie, alors ne rendez pas vos données facilement accessibles lorsqu'elle se produira. Suivez le principe de base qui consiste à toujours isoler vos installations les unes des autres.
Remise en ligne rapide de votre boutique suite à une attaque
Faire face à une attaque demande beaucoup de temps et d'expérience pour identifier les vulnérabilités qui ont permis ce piratage.
Gagnez du temps en déléguant cette tâche à un professionnel qui trouvera des solutions et vous guidera pour remettre rapidement votre boutique en ligne sur pied afin d'éviter que cela ne se reproduise. Gardez à l'esprit qu'une boutique qui a été piratée une fois est plus susceptible d'être ciblée à nouveau, et que les pirates continueront à essayer de l'attaquer en permanence.
N'hésitez pas et commandez ma prestation de nettoyage de toute boutique PrestaShop suite à un piratage.
Discussions