Chapitre 7 Cloud Computing : forces et faiblesses 1. Présentation Cloud Computing : forces et faiblesses Le monde informatique a connu une véritable révolution ces dernières années avec l'apparition d'un nouveau concept : le Cloud Computing. Prônant la dématérialisation et l'externalisation des services et des données sur le réseau, le Cloud Computing n'est pas une technologie à part entière mais bien un ensemble de technologies connues et reconnues aboutissant à un nouveau modèle informatique. Le NIST (National Institute of Standards and Technology) donne la définition suivante du Cloud Computing : "un modèle permettant un accès facile et à la demande, via le réseau, à un pool partagé de ressources informatiques configurables (par exemple, réseaux, serveurs, stockage, applications et services) qui peuvent être rapidement mises à disposition des utilisateurs ou libérées avec un effort minimum d administration de la part de l entreprise ou du prestataire de service fournissant lesdites ressources". De nombreuses entreprises sont déjà passées à ce modèle, que ce soit en tant que fournisseur ou en tant qu'utilisateur de solutions Cloud : messagerie, CRM, ERP, outils collaboratifs ou encore environnements de développement sont désormais accessibles dans les nuages. La course au Cloud n'a jamais été aussi rude et chaque jour voit l'apparition de fournisseurs offrant sans cesse de nouvelles fonctionnalités.
382 Sécurité informatique Ethical Hacking Mais cette démocratisation du Cloud Computing reste relativement récente, et des règles de sécurité doivent être respectées afin de tirer entièrement parti de son potentiel. Nous allons voir dans ce chapitre les règles à suivre afin de passer au Cloud Computing de manière sécurisée. Sachez avant tout que, de par sa nature, le Cloud ne peut pas être "attaqué". Ce modèle n'est pas une technologie à part entière mais est constitué d'une multitude de technologies, lesquelles peuvent être faillibles. Un service web accessible dans les nuages comporte potentiellement plusieurs points d'infection : une faille web dans le site lui-même, une faille système sur le serveur web, la compromission des échanges réseau, etc. Nous ferons donc allusion à ces vulnérabilités tout au long du chapitre sans nous y arrêter : nous vous invitons à vous référer aux différents chapitres de ce livre pour en apprendre un peu plus sur ces types de failles. 2. Introduction au Cloud Computing 2.1 Historique Avant de parler de la sécurité du Cloud Computing, voyons avant tout ce qu'est l'informatique dans les nuages et les bénéfices apportés aux utilisateurs. Vous comprendrez à la fin de cette partie pourquoi le Cloud est en train de révolutionner notre usage de l'informatique. De nombreux foyers disposent à l'heure actuelle d'un poste de travail connecté à Internet, ne serait-ce que pour les usages quotidiens : envoi de mails, consultation de la météo et des informations, discussion sur les réseaux sociaux, etc. En parallèle à cette démocratisation de la micro-informatique, de nouvelles exigences sont apparues : espace disque insuffisant, puissance de la machine obsolète, bande passante limitée ou encore difficulté de mise en place de certains services ne sont que des exemples des problèmes rencontrés par les utilisateurs. Une solution devait être trouvée. Editions ENI - All rights reserved
Cloud Computing : forces et faiblesses Chapitre 7 383 C'est avec l'apparition de la virtualisation et la vulgarisation d'internet dans les années 1990 que le concept de Cloud Computing a commencé à voir le jour : dématérialiser les services et les données pour y accéder via le Net. Mais c'est en 2002 qu'une application concrète a été mise en place. À cette époque, le groupe Amazon, spécialisé dans le commerce électronique et notamment la vente de livres, avait déjà investi dans un parc informatique surdimensionné capable d'absorber les commandes passées durant les périodes de fêtes. Seul bémol : cette puissance informatique restait inutilisée le reste de l'année. Supprimer des serveurs était impensable puisqu'amazon n'aurait plus su offrir une qualité de service acceptable à ses utilisateurs. L'idée a alors été de louer à la demande les ressources inutilisées pour en faire profiter les entreprises : une application concrète du Cloud Computing était née (l'iaas que nous verrons dans la section Les niveaux d'interaction). Parallèlement à cela, d'autres firmes se sont attelées à déporter sur le web de nombreuses applications lourdes, permettant à quiconque disposant d'une connexion à Internet d'utiliser ces outils. 2.2 Concepts clés Le Cloud Computing prône avant tout la dématérialisation des services et des données. Fini les logiciels sur nos postes de travail, plus de photos ou de vidéos stockées directement sur notre disque dur, tout se fait sur le Net. Mais le Cloud Computing va plus loin que cette simple dématérialisation et peut se définir par les notions suivantes. 2.2.1 Facturation à l'usage Un utilisateur X ne consomme certainement pas la même bande passante ou n'utilise pas le même espace de stockage qu'un utilisateur Y. Pourquoi les deux paieraient-ils le même prix? Partant de ce principe le Cloud permet le paiement des ressources à l'usage, à l'instar du paiement de notre électricité ou de notre facture d'eau.
384 Sécurité informatique Ethical Hacking 2.2.2 Élasticité et agilité des ressources L'un des objectifs du Cloud Computing est de "cacher" les aspects techniques (suivant le niveau d'interaction) à l'utilisateur. La création et l'allocation de nouvelles ressources doivent donc se faire de manière très simple et rapide. Concrètement, quelques clics doivent suffire pour obtenir une nouvelle machine virtuelle ou encore pour augmenter son espace de stockage. D'un point de vue technique, ces notions sont rendues possibles grâce aux concepts d'auto-scaling et de Load Balancing. 2.2.3 Mutualisation des ressources Le Cloud Computing tire son potentiel du concept de virtualisation. Les ressources allouées aux utilisateurs sont mises en commun afin de diminuer le coût de maintenance de l'infrastructure, et par conséquent le coût à l'usage des utilisateurs. Cette mutualisation peut s'effectuer au niveau physique (serveur, stockage, réseau) ou au niveau applicatif (bases de données, serveurs applicatifs, etc.). 2.2.4 Accès simple via le réseau Le Cloud n'est pas en soi-même une nouvelle technologie mais bien un concept reposant sur un ensemble de technologies existantes ou émergentes. On retrouve parmi elles les protocoles utilisés sur le web : HTTP, SSH, etc. L'objectif est de simplifier les échanges et la communication entre l'utilisateur et le fournisseur en proposant un service facilement accessible depuis n'importe quelle machine connectée au Net. 2.3 Les niveaux d interaction On distingue généralement trois niveaux d interaction lorsque l'on parle de Cloud Computing : Le SaaS : Software as a Service Le PaaS : Platform as a Service L'IaaS : Infrastructure as a Service Editions ENI - All rights reserved
Cloud Computing : forces et faiblesses Chapitre 7 385 Chacune de ces couches propose des services et des fonctionnalités différentes, et concerne donc un type d'utilisateur différent. Sans rentrer dans les détails, voici brièvement leur rôle : Le SaaS Cette couche est sans doute la plus connue puisqu'elle reste à l'heure actuelle la plus utilisée. On y retrouve l'ensemble des applications disponibles sur le Net depuis un simple navigateur web. On peut citer les CRM, les ERP, les messageries en ligne, etc. Tout utilisateur consultant ses mails sur le service Gmail de Google par exemple utilise le Cloud Computing. Les clients du SaaS ont un profil d'utilisateur et ne doivent pas être spécialistes de l'informatique. Le PaaS Le PaaS vise pour sa part les utilisateurs ayant un profil développeur. Les ressources proposées par le fournisseur PaaS sont dédiées à l'hébergement des applications du client. Concrètement, celui-ci se charge de développer ses applications et de les déployer en quelques clics chez le fournisseur. La mise à jour des serveurs et du matériel est alors confiée à ce dernier.
386 Sécurité informatique Ethical Hacking L'IaaS Cette dernière couche est la plus basse et vise les profils techniques. Il s'agit ici de proposer des ressources de bas niveau (serveurs, réseaux, stockage) aux utilisateurs et de leur laisser gérer eux-mêmes leurs serveurs. L'IaaS peut se définir comme "un datacenter prêt à l'emploi", le fournisseur n'ayant pour sa part qu'à gérer le matériel. Il existe bien sûr d'autres couches que nous ne commenterons pas, comme le DaaS (Data as a Service), le STaaS (STorage as a Service), le HaaS (Hardware as a Service), le PRaaS (PRocessus as a service)... la limite étant l'imagination des fournisseurs. 2.4 Cloud privé, public, hybride Sans plus s'étaler sur les explications du Cloud (qui mériteraient un ouvrage complet), citons tout de même les trois types de Cloud que nous pouvons rencontrer. 2.4.1 Le Cloud public Le Cloud public est fourni sur le web par des entreprises spécialisées, comme Amazon, Google, Microsoft, Salesforce, Dropbox ou encore OVH qui s'est récemment lancé dans ce domaine. L'objectif est de fournir un service en ligne aux utilisateurs, facilement accessible depuis une simple connexion à Internet. 2.4.2 Le Cloud privé Certaines entreprises ont encore des réticences vis-à-vis du Cloud Computing et préfèrent donc utiliser un environnement de Cloud interne. Cet environnement est stocké sur leurs propres serveurs afin de ne pas externaliser leurs données ni leurs applications chez un fournisseur externe. Editions ENI - All rights reserved