Un hyperviseur est un moniteur de machines virtuelles. Il s’agit d’un logiciel qui s’exécute au-dessus du système d’exploitation d’un ordinateur physique et gère toutes les ressources matérielles de l’ordinateur hôte.
Un hyperviseur peut être utilisé pour créer des machines virtuelles (VM). Il s’agit de copies virtuelles d’ordinateurs physiques au sein d’un même système d’exploitation (OS). Une VM peut s’exécuter de manière isolée des autres VM tout en partageant ses ressources avec elles.
Les hyperviseurs sont indispensables à l’infrastructure du cloud computing, car ils permettent aux entreprises d’exécuter simultanément plusieurs VM identiques. Cela peut les aider à réduire considérablement leurs dépenses d’investissement, car, hormis l’hyperviseur lui-même, les VM ne nécessitent aucun matériel supplémentaire pour fonctionner.
Types d’hyperviseurs
Il existe deux types d’hyperviseurs : les hyperviseurs de type 1, également appelés hyperviseurs bare metal, et les hyperviseurs de type 2, également appelés hyperviseurs hébergés. Voici les avantages et les inconvénients de chacun, ainsi que les cas d’utilisation et les exemples recommandés.
Hyperviseurs de type 1 : bare metal
Un hyperviseur de type 1, également appelé hyperviseur natif ou bare metal, s’exécute directement sur le matériel sous-jacent du système. Il gère les ressources matérielles et héberge directement plusieurs VM sans nécessiter de système d’exploitation sous-jacent distinct.
À la place, chaque OS est installé et exécuté sur sa propre VM, chacune étant gérée par l’hyperviseur. Chaque VM dispose de ses propres ressources virtuelles, notamment un vCPU, de la mémoire et du stockage abstraits du matériel sous-jacent, et fonctionne indépendamment.
Avantages
Les hyperviseurs de type 1 offrent d’excellentes performances grâce à leur accès direct au matériel : ils ne se disputent donc pas les ressources avec d’autres logiciels. Ils peuvent ainsi optimiser les ressources du serveur en gérant efficacement plusieurs VM simultanément.
Ils offrent également une sécurité avancée, puisque chaque VM invitée s’exécute sur son propre OS. Si une VM invitée est attaquée, elle reste isolée afin que les autres VM sur le même matériel ne soient pas affectées.
En outre, des fonctionnalités avancées comme la migration à chaud permettent de déplacer des VM entre des serveurs physiques sans interruption.
Inconvénients
Le principal inconvénient des hyperviseurs de type 1 réside dans leur complexité et les problèmes de compatibilité potentiels. Comme ils fonctionnent à bas niveau, leur configuration et leur gestion efficaces nécessitent des connaissances spécialisées. Ils sont donc plus coûteux à déployer et à maintenir que les hyperviseurs de type 2.
Cas d’utilisation
Les hyperviseurs de type 1 sont largement développés et utilisés dans les entreprises où l’évolutivité, la disponibilité, les hautes performances et la sécurité sont essentielles. Ils sont couramment déployés dans des scénarios de virtualisation des serveurs, afin de regrouper plusieurs serveurs physiques sur une seule machine hôte. Ils sont également utilisés dans les plateformes de cloud computing, pour permettre une allocation efficace des ressources et l’isolation entre les systèmes invités.
Exemples
Parmi les hyperviseurs de type 1 figurent la suite d’hyperviseurs de VMware, notamment ESXi, Citrix XenServer et KVM (Kernel-based Virtual Machine) pour Linux, ainsi qu’ESX, qui fournissent des solutions complètes de virtualisation pour les environnements d’entreprise.
Intégré à l’écosystème Windows, le Azure Virtual Desktop Infrastructure (VDI) de Microsoft s’exécute sur l’hyperviseur Hyper-V de l’entreprise, qui offre des capacités natives de virtualisation de type 1. Par ailleurs, Oracle VM Server, un autre hyperviseur de type 1, est conçu pour exécuter des applications Oracle.
Ces hyperviseurs permettent aux entreprises de gérer et de virtualiser efficacement leur infrastructure, en facilitant la consolidation, l’optimisation des ressources et le déploiement fluide des VM.
Hyperviseurs de type 2 : hébergés
Les hyperviseurs de type 2, également appelés hyperviseurs hébergés ou imbriqués, sont des technologies de virtualisation qui s’exécutent au-dessus d’un OS hôte. Contrairement aux hyperviseurs de type 1, qui accèdent directement au matériel sous-jacent, les hyperviseurs de type 2 sont installés comme des applications et dépendent de l’OS sous-jacent pour accéder aux ressources matérielles nécessaires.
Avantages
Les hyperviseurs de type 2 sont faciles à installer et à utiliser, ce qui les rend beaucoup plus accessibles à de nombreux utilisateurs que les hyperviseurs bare metal, tout en étant moins coûteux.
Ils offrent également une grande flexibilité en permettant aux utilisateurs d’exécuter simultanément plusieurs systèmes d’exploitation sur une même machine. Ils prennent aussi en charge des fonctionnalités comme les instantanés, qui permettent de capturer et de restaurer l’état d’une VM.
Inconvénients
Le principal problème des hyperviseurs de type 2 est la surcharge de performances. Comme ils dépendent de l’OS hôte pour accéder au matériel, cette couche d’abstraction supplémentaire peut introduire de la latence et réduire les performances globales par rapport aux hyperviseurs de type 1.
En outre, cette dépendance à l’OS hôte peut entraîner des problèmes de compatibilité, car les mises à jour ou les modifications de l’OS hôte peuvent affecter le fonctionnement de l’hyperviseur et des VM.
Cas d’utilisation
Les hyperviseurs de type 2 sont couramment utilisés à titre personnel, par exemple dans des laboratoires domestiques ou pour des scénarios de virtualisation à petite échelle. Ils sont idéaux pour les développeurs qui peuvent tester des applications dans différents environnements OS sans avoir besoin de machines physiques distinctes.
Ils sont également utiles pour exécuter des logiciels anciens ou différentes versions d’un OS sur un même appareil.
Exemples
Oracle VirtualBox, Qemu, Parallels et VMware Workstation Player sont des exemples célèbres d’hyperviseurs de type 2. Des hyperviseurs comme Oracle VirtualBox prennent en charge un large éventail de systèmes d’exploitation hôtes et invités.
Qemu est un autre hyperviseur open source qui fournit une émulation complète du système. Parallels est un hyperviseur commercial conçu pour les systèmes Mac, offrant une intégration fluide entre macOS et les VM.
VMware Workstation Player est un choix populaire pour la virtualisation des postes de travail, avec une interface conviviale et de solides capacités de gestion des machines virtuelles.
Avantages des hyperviseurs
Les hyperviseurs offrent de nombreux avantages par rapport aux machines de bureau traditionnelles, de la vitesse et de la flexibilité à l’efficacité et à la portabilité.
- Vitesse : La vitesse d’un hyperviseur dépend de son matériel sous-jacent, des processeurs aux systèmes de stockage. Les hyperviseurs peuvent être optimisés pour différents types de charges de travail ou de cas d’utilisation et peuvent donc offrir des performances différentes sur un même matériel.
- Flexibilité : Les hyperviseurs permettent de modifier la manière dont les ressources sont allouées entre plusieurs VM sans les redémarrer. Cela peut aider à créer des environnements flexibles conçus pour répondre à des besoins spécifiques, sans être limités par les contraintes matérielles.
- Efficacité : Lorsque les ressources sont partagées entre les VM, celles-ci consomment moins de RAM que si elles s’exécutaient sur leur propre machine hôte.
- Portabilité : Les hyperviseurs permettent de déplacer les VM entre différents serveurs physiques sans avoir à installer de nouveaux systèmes d’exploitation ni à les redémarrer complètement.
Comment fonctionnent les hyperviseurs ?
Les hyperviseurs permettent de déployer et de contrôler les VM en séparant le matériel et les logiciels d’un ordinateur physique. Cela permet de créer un environnement virtuel — ou plusieurs — s’exécutant au-dessus de l’OS hôte, en partitionnant et en allouant les ressources du système à chaque VM selon les besoins.
Certains systèmes d’exploitation peuvent également accéder aux hyperviseurs bare metal et les utiliser en les intégrant au micrologiciel, au même niveau que le système élémentaire d’entrée-sortie (BIOS) de la carte mère.
Quel est le niveau de sécurité des hyperviseurs ?
Les hyperviseurs de type 1 comme ceux de type 2 s’efforcent de fournir un environnement de virtualisation sécurisé. En définitive, les hyperviseurs de type 1 sont avantagés grâce au niveau plus élevé de séparation entre la VM et le matériel lui-même. Aucun système n’est toutefois totalement à l’abri des vulnérabilités ou des risques.
Quel que soit leur type, plusieurs points essentiels concernent la sécurité des hyperviseurs : l’isolation, la surface d’attaque, l’élévation des privilèges et les composants partagés.
Isolation
Les hyperviseurs cherchent à établir une isolation forte entre les VM. Ils utilisent la virtualisation assistée par le matériel et des techniques de gestion de la mémoire pour empêcher les accès non autorisés ou les interférences entre les VM. Cette isolation contribue à réduire le risque qu’une VM compromise affecte les autres.
Surface d’attaque
Les hyperviseurs disposent généralement d’une surface d’attaque réduite et étroitement contrôlée, puisqu’ils fonctionnent à bas niveau et communiquent directement avec le matériel. Cette surface d’attaque limitée réduit les possibilités d’exploitation.
Vulnérabilités
Cependant, comme tout logiciel, les hyperviseurs peuvent présenter des vulnérabilités. Celles-ci peuvent être dues à des erreurs d’implémentation, des défauts de conception ou des problèmes matériels. Il est essentiel de maintenir les hyperviseurs à jour avec les derniers correctifs de sécurité et de suivre les bonnes pratiques en matière de configuration sécurisée.
Élévation des privilèges
Pour gérer et contrôler les VM, les hyperviseurs s’appuient sur du code secret. Toute vulnérabilité ou tout exploit permettant à un attaquant d’élever ses privilèges au sein de l’hyperviseur pourrait avoir de graves conséquences. Les fournisseurs d’hyperviseurs appliquent des pratiques de sécurité rigoureuses et réalisent régulièrement des audits de sécurité afin d’atténuer ce risque.
Attaques ciblant les hyperviseurs
Les attaques ciblant les hyperviseurs, comme les sorties de VM ou les attaques de l’invité vers l’hôte, sont rares, mais peuvent avoir un impact considérable si elles sont menées avec succès. Elles exploitent les vulnérabilités de l’hyperviseur pour s’échapper d’une VM et obtenir un accès non autorisé au système hôte. Les fournisseurs d’hyperviseurs consacrent des efforts importants au renforcement de la sécurité des VM et à l’atténuation des vulnérabilités pour se protéger contre ces attaques.
Configuration et gestion
Une configuration sécurisée et une gestion appropriée des hyperviseurs sont essentielles. Cela inclut des fonctionnalités comme le démarrage sécurisé, l’activation d’interfaces de gestion sécurisées, l’application de contrôles d’accès stricts, ainsi que la surveillance et l’audit réguliers des paramètres et des activités de l’hyperviseur.
Composants partagés
Les hyperviseurs utilisent souvent des composants partagés, comme des pilotes de périphériques ou des interfaces de gestion, qui peuvent introduire des vecteurs d’attaque supplémentaires. Il est essentiel de mettre régulièrement à jour et de sécuriser ces composants partagés afin de réduire les risques de sécurité.
Hyperviseurs ou conteneurs
Les hyperviseurs et les conteneurs contribuent tous deux à améliorer la vitesse et l’efficacité des applications, mais ils le font de manière différente.
Hyperviseurs
- Le système d’exploitation peut fonctionner indépendamment du matériel sous-jacent grâce aux VM.
- Sur un même serveur, différents systèmes d’exploitation peuvent être installés et maintenus séparément les uns des autres (hyperviseurs hébergés), ou fonctionner simultanément (hyperviseurs bare metal).
- Ils partagent la mémoire, le stockage et les ressources de calcul.
Conteneurs
- Ils peuvent fonctionner sur n’importe quel OS ; tout ce dont ils ont besoin est un moteur de conteneurs.
- Ils permettent aux applications de fonctionner indépendamment du système d’exploitation.
- Ils offrent une grande portabilité, car le programme dispose de tout ce dont il a besoin pour s’exécuter à l’intérieur du conteneur.
Les deux technologies sont utilisées de diverses manières. Les hyperviseurs créent et exécutent des VM. Les systèmes d’exploitation de chaque VM sont séparés de manière sécurisée les uns des autres, et chacune dispose de son propre OS complet.
Les conteneurs regroupent les applications et les services qui les accompagnent, mais pas des systèmes d’exploitation complets. Comme ils n’utilisent pas de VM, ils sont plus légers et plus portables que ces dernières et sont fréquemment utilisés pour le développement rapide et flexible d’applications.
En résumé : déployer des serveurs hyperviseurs en entreprise
Les hyperviseurs sont de puissantes technologies de virtualisation qui permettent d’utiliser efficacement les ressources des serveurs, d’assurer une isolation robuste entre les VM et de proposer des fonctionnalités avancées pour différents cas d’utilisation.
Si les hyperviseurs de type 1 excellent par leur forte isolation, leur sécurité et leurs capacités de gestion, les hyperviseurs de type 2 sont mieux adaptés aux déploiements rapides et peu coûteux, comme les instances de test en bac à sable. Les conteneurs, quant à eux, offrent une virtualisation légère, avec des temps de démarrage plus courts et une meilleure évolutivité.
Le choix entre les types d’hyperviseurs — et entre les hyperviseurs et les conteneurs — dépend des exigences et des priorités spécifiques, mais tous jouent un rôle essentiel dans les environnements modernes de virtualisation et de cloud computing.
Si vous travaillez régulièrement avec des VM, veillez à disposer de sauvegardes en cas de violation de données ou de dysfonctionnement. Voici quelques-uns des meilleurs logiciels de sauvegarde de VM.