Sécurité sVirt et Virtualisation KVM sur OMAP5 uEVM
Protection de Machines Virtuelles KVM par sVirt sur OMAP5
Ce guide est mis à disposition par Virtual Open Systems pour déployer un hyperviseur KVM avec sVirt sur la plate-forme de développement ARM Cortex-A15 OMAP5 uEVM. sVirt assure une solution de sécurité SELinux pour protéger et complètement isoler les machines virtuelles invités d'attaques en provenance de l'hôte ou d'autres machines virtuelles. A la fin de ce document, le lecteur devrait pouvoir exécuter une machine virtuelle sécurisée et isolée du monde extérieur.
Introduction aux machines virtuelles sécurisées KVM par sVirt
Le nombre d'objets connectés à base d'architecture ARM augmente rapidement de nos jours. Au même temps, la nouvelle architecture ARM v8 est proposée pour le marché des serveurs à faible consommation d'energie. La virtualisation devient une technologie clé dans tous segments de marché; dans les systèmes embarqués elle peut être utilisée pour isoler des applications ou pour permettre des fonctionnalités BYOD, dans les serveurs s'impose afin d'optimiser l'efficacité énergétique des centres de données et ouvre la voie à des architectures de cloud distribuées et fédérées, dans les réseaux pour normaliser la couche matérielle et définir dynamiquement ses fonctionnalités (Virtualisation des Fonctions de Réseau, NFV).
La sécurité joue un rôle clé dans tous les systèmes complexes. En effet chaque fois que un système invité (VM) est attaqué dans un environnement virtualisé, il y a un risque à ce que d'autres machines virtuelles (VM) ainsi que l'hôte lui-même peuvent être menacés. Pour protéger le système contre des vulnérabilités liées à l'hyperviseur et aux machines virtuelles compromises, il n'y a qu'une solution: l'isolement. De telle sorte, chaque attaque est confiné dans un domaine spécifique qui n'appartient qu'à une seule VM. Dans ce document Virtual Open Systems montre comment isoler efficacement les machines virtuelles avec l'hyperviseur KVM en utilisant les composants logiciels SELinux et sVirt.
Requis matériels pour créer un environnement sVirt
Les requis de base pour créer un invité sécurisé nécessaire pour ce guide sont:
Une plate-forme TI OMAP5 uEVM
Un disque USB flash, 4 GO ou plus en carte microSD (avec adaptateur)
Un ordinateur avec Ubuntu 13.10 ou une distribution semblable
Plate-forme de développement TI OMAP5 uEVM, Cortex-A15
Préparation de l'environnement TI OMAP5 uEVM
L'environnement de développement TI OMAP5 uEVM peut être configuré en utilisant des scripts fournis par TI dans le Guide de développement logiciel OMAP5 . Nous allons nous concentrer sur les étapes nécessaires pour déployer des machines virtuelles sécurisé, en supposant que la plate-forme OMAP5 a été déjà configurée avec le partitionnement microSD et l'installation de u-boot.
Note
La version de u-boot utilisée dans ce guide est la 2013.01, qui peut être téléchargée avec la version 6_00_00_07 du TI GLSDK.
Dans les sections suivantes, nous allons voir comment activer KVM et sVirt sur le TI OMAP5 uEVM, en remplaçant le noyau de la plate-forme avec un nouveau noyau, en installant libvirt et en activant la couche de sécurité SELinux. Pour ce faire, les requis en composants logiciels sont:
Compilateur croisé et paquets liés
Noyaux Linux hôte et invité
Systèmes de fichiers hôte et invité
Les sections suivantes décrivent étape par étape comment atteindre ces objectifs.
Compilateur croisé et paquets liés
Pour continuer, nous avons besoin d'installer un compilateur croisé et des paquets supplémentaires requis dans la distribution Linux (Ubuntu 13.10):
$ sudo apt-get install build-essential git libncurses5-dev \
xz-utils kpartx wget debootstrap \
curl qemu-user-static u-boot-tools \
gcc-arm-linux-gnueabihf
Noyaux Linux hôte et invité
Pour activer KVM et SELinux sur OMAP5 uEVM, le noyau de la plate-forme doit être recompilé. Cette section vous donnera plus de détails sur la façon de procéder, cependant il est possible de télécharger des images pré-compilés du noyau et les fichiers DTB à partir des ressources mises disposition par Virtual Open Systems.
Identifiant ou inscription pour visualiser l'information complète