Dynamic Enforcement of Security Policies in Multi-Tenant Cloud Networks
Tommy Koorevaar · PolyPublie (École Polytechnique de Montréal) · 2012
R ÉSUM ÉAu cours des dernières années, l'évolution des nouvelles technologies a changé notre façon de travailler.Les grandes entreprises, les gouvernements et même nous en tant qu'individus dépendons des ordinateurs et des réseaux.Ils sont devenus une partie importante de nos vies personnelle et professionnelle, et représentent maintenant une infrastructure critique au même titre que les réseaux électriques, tant la quantité de données numériques et devenue importante.Cette évolution continue avec la montée en puissance de l'informatique en nuage.Dans ce nouveau modèle, on peut accéder à distance à des logiciels, à du stockage numérique ou bien à des infrastructures sans contrainte, les machines étant regroupées en centre de données dont l'accès se fait de manière transparente par internet.La sécurité de l'information est devenue primordiale en informatique, et en particulier dans l'informatique en nuage au fur et à mesure que les entreprises y exportent leurs données sensibles.Ainsi, le niveau de sécurité au sein des centres de données doivent être au moins équivalent à ce que les entreprises ont dans leur propres installations.Nous appellerons middlebox, un élément du réseau ayant pour fonction d'inspecter et de filtrer les paquets, dans un but autre que la retransmission de paquet.Un pare-feu est un bon exemple de middlebox.Les solutions existantes pour sécuriser l'informatique en nuage prennent rarement en considération la traversée de middleboxes, en effet, elles se concentrent principalement sur l'isolation des trafics entre les différents clients du centre de données.De plus, les solutions prenant en compte l'application de middlebox le font d'une façon qui ne permet pas la migration des nœuds au sein du réseau.Notre projet consiste en la création d'une architecture permettant l'application de politiques de sécurité par client.Les politiques de sécurité seront des séquences de middlebox que le trafic des clients devra traverser, puisque c'est de cette façon que la sécurité est généralement assurée dans les entreprises.L'application de ces politiques de sécurité devra prendre en compte la pluralité des clients ainsi que la migration des machines au sein du réseau.Plus précisément, le trafic devra traverser les middlebox dans l'ordre spécifié par le client, sans en traverser d'autres.L'application des politiques doit être automatiquement re-vi configurée lors de la migration des machines virtuelles.Afin de réaliser ce projet, nous utilisons une architecture de réseau programmable afin d'appliquer efficacement les politiques.Dans cette architecture, le plan de contrôle est découplé du plan de données ce qui permet de centraliser la gestion du réseau.Ainsi, les clients de notre architecture définissent le niveau de sécurité qu'ils veulent voir être appliqué à leur machines.Afin d'identifier une politique de sécurité, nous utilisons un identifiant d'application (AppID), qui représente une chaîne de middlebox à traverser.Nous supposons que l'hyperviseur a la capacité d'insérer cet AppID au sein des paquets, lorsqu'une machine en émet.Au moment où le premier paquet d'un flux atteint un commutateur du réseau, il est transférer au contrôleur de réseau, qui a pour tâche de lire cet AppID.En fonction de ce dernier, le contrôleur détermine la chaîne de sécurité à appliquer au trafic.Nous définissons différents marqueurs (que nous nommons EEL-tags) afin d'effectuer le routage des paquets au travers des middlebox.Ceux-ci sont subdivisés en gTag et iTag.Les gTags correspondent à des types de middlebox, tandis que les iTags correspondent à des instances de middlebox.Ainsi, une chaîne de sécurité est définie par une chaîne de gTag.Les itags correspondants sont utilisés afin d'effectuer le routage des paquets au sein du réseau, en définissant la prochaine instance à traverser.En ajoutant ces EEL-tags aux paquets, notre modèle procure une façon simple et automatique d'appliquer des politiques de sécurité, tout en s'assurant de leur cohérence malgré la migration des nœuds.De plus, notre modèle permet au réseau d'être divisé en petites zones, chacune d'entre elle étant contrôlée par un contrôleur de réseau spécifique.Lorsque les machines émettrice et réceptrice se trouvent dans deux zones différentes, l'application de la politique de sécurité peut être répartie entre les différentes zones.Nous avons développé un prototype que nous avons testé dans un environnement simulé.Bien que de nombreux aspects de notre implémentation requièrent de l'amélioration afin d'obtenir une solution commerciale, cette expérimentation nous a permis d'obtenir une preuve de concept de notre architecture.Nous avons notamment pu observer que les politiques de sécurité restent cohérentes malgré la migration de nœuds.vii