Comprendre les risques de sécurité de l'hébergement mutualisé

Écrits · 28 févr. 2019

Comprendre les risques de sécurité de l'hébergement mutualisé

Ports ouverts et services inutilisés exposés sur le réseau

Des gens me paient pour les pirater, à condition que j'explique comment j'ai fait, afin d'éviter de futures attaques. En tant que consultant en sécurité, je cherche les failles dans les applis, les boutiques en ligne et les sites web de mes clients. Très souvent, un piratage commence par une faille de sécurité visible à distance. Lis la suite pour savoir comment les pirates trouvent ces failles et comment les colmater.

Pour pirater une appli, une boutique en ligne ou un site web, les pirates s'attaquent souvent aux serveurs qui l'hébergent. Pour comprendre pourquoi, il faut d'abord savoir ce qu'est l'hébergement et quels types d'hébergement existent.

Qu'est-ce que l'hébergement ?

L'hébergement est un service qui permet de rendre ton appli, ta boutique en ligne ou ton site web disponible sur internet. Il repose sur des ordinateurs spéciaux appelés serveurs. Quand quelqu'un tape l'adresse de ton site dans son navigateur, son appareil se connecte à ton serveur.

Si des pirates arrivent à prendre le contrôle d'un serveur, ils peuvent accéder à toutes les informations qui s'y trouvent et les manipuler. Ils peuvent aussi abuser du réseau et de la puissance de calcul du serveur pour faire des choses malveillantes. Tu ne veux vraiment pas de ça...

Un serveur typique dans le centre de données, une machine physique qui peut héberger des applis, des boutiques en ligne et des sites web
Un serveur typique dans le centre de données, une machine physique qui peut héberger des applis, des boutiques en ligne et des sites web

Les différents types d'hébergement

Ton appli, ta boutique en ligne ou ton site web peut être hébergé de plusieurs façons. Chaque type d'hébergement pose des problèmes de sécurité différents, mais c'est assez facile à comprendre, car tout dépend de la façon dont le serveur physique (dans le centre de données) est partagé entre les sites.

Les hébergeurs exploitent en général plusieurs serveurs et répartissent leur capacité entre les sites à héberger. Un gros serveur peut facilement héberger plusieurs sites, selon le trafic de l'appli, de la boutique en ligne ou du site web.

Les différents types d'hébergement : mutualisé, VPS et dédié, en images (un cercle représente un serveur physique)
Les différents types d'hébergement : mutualisé, VPS et dédié, en images (un cercle représente un serveur physique)

Il existe trois types d'hébergement :

  • hébergement mutualisé : le serveur fait tourner plusieurs sites en partageant le système d'exploitation, la mémoire, les cœurs de processeur et le stockage sur disque dur. Il n'y a pas de séparation stricte entre les sites.
  • hébergement VPS : le serveur physique fait tourner plusieurs serveurs privés virtuels (VPS), qui ont chacun leur propre système d'exploitation et leur part de mémoire, de puissance de processeur et de stockage. Un VPS peut être configuré pour héberger un site ou quelques sites (liés entre eux). Grâce à la séparation stricte entre les VPS, il est très difficile pour des pirates de passer de l'un à l'autre.
  • hébergement dédié : le serveur physique ne fait tourner qu'un seul site. Rien n'est partagé, toutes les ressources sont réservées à une seule appli, boutique en ligne ou site web. Grâce à cette séparation physique, tu n'es pas touché par le piratage d'un autre site.

Attention : le « Cloud Hosting » est souvent de l'hébergement mutualisé rebaptisé

Il faut bien comprendre que la plupart des offres modernes de « Cloud Hosting » sont en fait de l'hébergement mutualisé avec un nom pompeux. Les agences web configurent souvent leur serveur dédié ou virtuel privé pour revendre de l'hébergement mutualisé à leurs clients. Donc, sauf si tu gères ton propre VPS ou serveur dédié, il y a de grandes chances que tu sois en hébergement mutualisé.

Les risques de sécurité de l'hébergement mutualisé

Les risques de l'hébergement mutualisé viennent justement du partage. Quand l'un des sites hébergés sur le même serveur que le tien se fait pirater, il y a de fortes chances que ton site soit touché lui aussi. Dans ce cas, les mesures de sécurité que tu as appliquées à ton propre site peuvent ne pas suffire à le protéger contre les pirates.

L'effet de contagion d'un site piraté (le rouge indique le problème)
L'effet de contagion d'un site piraté (le rouge indique le problème)

Adresse IP partagée

Par ailleurs, avec un hébergement mutualisé, tous les sites partagent généralement la même adresse IP. Tu auras des problèmes si un autre site se livre à de mauvaises pratiques, comme envoyer du spam ou héberger du contenu illégal. Ton site pourrait alors être mis sur liste noire, bloqué ou rétrogradé dans les résultats des moteurs de recherche.

Performances

Si tu sais que les hébergeurs mettent souvent des centaines, parfois même des milliers (!) de sites sur le même serveur mutualisé, tu comprends pourquoi le risque de piratage augmente. En plus des problèmes de sécurité, l'hébergement mutualisé pèse aussi sur les performances de ton site, qui doit se disputer des ressources de serveur limitées avec les autres sites. Si l'un d'eux subit un pic de trafic énorme, ça peut ralentir aussi ton appli, ta boutique en ligne ou ton site web !

Services partagés exposés sur le réseau

Un autre problème de l'hébergement mutualisé, c'est que le serveur a en général beaucoup de services réseau activés, comme un service web, de messagerie, FTP et de base de données. Ces services sont accessibles via des ports ouverts. Laisser tous les ports ouverts à tout le monde, c'est une mauvaise idée, parce que ça expose les services qui écoutent sur ces ports aux attaques. Les pare-feu peuvent limiter qui a le droit de se connecter à un port donné, mais dans un environnement mutualisé, ces restrictions sont souvent peu strictes (à cause de toutes les choses différentes hébergées sur le même serveur).

Pirater une appli, une boutique en ligne ou un site web

Pour pirater ton appli, ta boutique en ligne ou ton site web, un pirate peut scanner ton serveur d'hébergement à la recherche de ports ouverts et identifier les différents services qui tournent dessus. Le programme Unix nmap sert souvent à ça. Le pirate se connecte au service qui écoute sur les ports ouverts pour savoir de quel programme il s'agit.

Utilisation de nmap pour scanner un serveur d'hébergement et repérer les services exposés sur le réseau et les ports ouverts
Utilisation de nmap pour scanner un serveur d'hébergement et repérer les services exposés sur le réseau et les ports ouverts

Ces informations permettent de vérifier si les services réseau en cours d'exécution ont des failles de sécurité connues. Il existe des bibliothèques en ligne où l'on peut chercher ces failles par nom de logiciel et par version. Trouver une faille connue est aussi simple qu'une requête Google. Si une faille existante est trouvée, le pirate peut s'en servir pour accéder au serveur.

En regardant l'adresse IP du serveur d'hébergement, le pirate peut déterminer si le serveur est partagé avec d'autres applis, boutiques en ligne ou sites web. Il est possible (avec des recherches DNS inversées) de lister tous les sites hébergés sur le même serveur. Le tien est peut-être à jour et sécurisé, mais les autres sur le même serveur font peut-être tourner des logiciels obsolètes (avec des failles de sécurité). Les logiciels de sites courants sont très bien documentés : les anciennes versions de PHP et de WordPress sont connues pour leurs sérieux problèmes de sécurité.

Une fois que le pirate sait quel logiciel ton site utilise, il est facile de chercher les failles connues dans des bases comme cvedetails.com
Une fois que le pirate sait quel logiciel ton site utilise, il est facile de chercher les failles connues dans des bases comme cvedetails.com

Conclusion

La meilleure façon de protéger ton appli, ta boutique en ligne ou ton site web, c'est de limiter autant que possible son exposition aux attaques. Garder les logiciels de ton site à jour est essentiel, mais ça peut ne pas suffire si ton hébergement est mutualisé.

Pour éviter que d'autres piratages n'affectent ton appli, ta boutique en ligne ou ton site web, pense à l'héberger sur un serveur physique ou virtuel dédié, avec sa propre adresse IP. Tu peux alors renforcer la sécurité en filtrant les ports ouverts et en coupant les services réseau inutilisés.

Tu réduis ainsi ce que les experts en cybersécurité appellent la « surface d'attaque ». Plus elle est petite, plus il est facile de la défendre. Bonne chance, et n'oublie pas que de l'aide existe !

N'oublie pas que de l'aide existe : je m'y connais en serveurs et en cybersécurité
N'oublie pas que de l'aide existe : je m'y connais en serveurs et en cybersécurité

← Plus d'écrits