Les machines virtuelles est une forme de virtualisation.
Il s’agit de logiciels d’émulation capables de simuler un ordinateur.
Cela offre beaucoup de possibilités.
Les machines virtuelles sont très utilisées par les chercheurs en sécurité pour faire tourner des logiciels malveillants et étudier leurs fonctionnements.
Enfin elles sont aussi très pratiques dans les entreprises afin de faire tourner des applications sur des serveurs virtuels.
Puisque sur un même serveur physique, vous pouvez faire tourner plusieurs serveurs virtuelles.
Chez vous, vous pouvez utiliser les VM pour tester des OS comme Linux ou faire tourner une ancienne version de Windows.
Voici une présentation rapide du fonctionnement des machines virtuelles.
Table des matières
Que sont les machines virtuelles
Les machines virtuelles (ou VM en anglais pour Virtual Machine) entre dans le cadre de la virtualisation.
Il s’agit de faire tourner des ordinateurs dans un environnement virtualisée.
En clair, à partir d’une machine physique, vous pouvez faire tourner plusieurs autres systèmes d’exploitation en parallèle.
Chaque machine virtuelle dispose d’un ensemble de ressources dédiées, telles que le processeur, la mémoire et le stockage, qui lui sont allouées de manière indépendante. Cette isolation garantit que les systèmes d’exploitation et les applications s’exécutent de manière indépendante les uns des autres, sans interférer les uns avec les autres.
En effet, elle émule un PC en partie de manière logiciel et matériel grâce à l’hyperviseur.
Il est tout à fait possible de faire tourner un de ces émulateurs sur un système Linux pour créer des ordinateurs qui seront en Windows.
Enfin l’inverse reste aussi possible.
Ci-dessous, VMware (VMWare Workstation) avec une machine virtuelle en Windows 10 :
Et VirtualBox avec une machine infectée en Windows 7 :
Afin de bien comprendre de quoi nous parlons.
- La machine hôte : c’est le PC sur lequel vous faites tourner la VM et le logiciel de virtualisation. Dans les entreprises il s’agit de serveurs qui peuvent aussi fonctionner en cluster.
- La machine virtuelle ou VM : c’est le PC émule qui tourne sur la machine hôte.
VMWare en vidéo :
Le marché de la virtualisation est en pleine expansion et beaucoup de solutions différentes existent.
Quelles sont les utilisations des machines virtuelles
Les machines virtuelles peuvent être utiliser sur son PC ou dans des systèmes informatiques.
Leurs intérêt diffèrent alors.
Chez vous une machine virtuelle peut avoir plusieurs utilisations comme :
- Tester un OS sans l’installer sur votre disque dur. En effet, vous chargez ce dernier dans la VM. Cela évite de devoir toucher aux partitions de disques. Par exemple : Tester et essayer Linux sans installation.
- Vous pouvez tester un logiciel sans l’installer sur votre PC. Dans le cas où vous pensez qu’il peut planter Windows.
- Faire tourner un vieux logiciel dans une version obsolète de Windows.
- Sécurité : exécuter un fichier non sûr. Par exemple, Windows 10 propose Windows Sandbox dans ce sens : Windows Sandbox : sécuriser l’exécution d’un fichier
- Tests et développement : Les machines virtuelles peuvent être utilisées pour créer des environnements isolés pour les tests et le développement. Les développeurs peuvent ainsi tester leur code sans affecter le reste du système.
En entreprise, les machines virtuelles sont faciles à provisionner et à déployer, permettant aux entreprises de rapidement créer de nouveaux environnements pour tester des applications ou des configurations système. Enfin, elles facilitent la gestion des ressources du serveur, car elles peuvent être facilement déplacées d’un serveur physique à un autre en cas de besoin.
- Amélioration de l’efficacité : Les hyperviseurs peuvent améliorer l’efficacité des systèmes informatiques en consolidant plusieurs serveurs sur une seule machine physique. Cela permet d’économiser de l’espace, de l’énergie et de l’argent
- Isolation des ressources : Les machines virtuelles sont isolées les unes des autres, de sorte qu’une machine virtuelle ne peut pas interférer avec une autre machine virtuelle. Cela permet d’améliorer la sécurité et la stabilité.
- Partage des ressources : Les hyperviseurs peuvent partager les ressources d’un ordinateur physique entre plusieurs machines virtuelles. Cela permet d’améliorer l’efficacité et de réduire les coûts
- Flexibilité : les hyperviseurs vous permettent d’exécuter différents systèmes d’exploitation et applications sur le même ordinateur physique. Vous disposez ainsi d’une plus grande flexibilité et d’un plus grand choix
- Sécurité renforcée : les hyperviseurs peuvent renforcer la sécurité des systèmes informatiques en isolant les machines virtuelles les unes des autres et de la machine hôte. Cela permet d’éviter que des logiciels malveillants et d’autres attaques ne se propagent d’une VM à l’autre
Qu’est-ce que l’hyperviseur
L’hyperviseur est une couche logicielle qui est le coeur du fonctionnement des machines virtuelles.
Il virtualise le matériel pour le rendre disponible aux machines virtuelles.
Il a aussi pour rôle de répartir au mieux et d’optimiser les ressources matérielles pour chaque machine virtuelle.
Deux types d’hyperviseur existent, le type 1 et 2.
Pour plus de détails, suivez ce guide :
Machine virtuelle VS bac à sable VS conteneur
Les deux systèmes utilisent la virtualisation.
Un bac à sable est un environnement isolé du système d’exploitation.
En général, on fait tourner une ou plusieurs application pour ne pas impacter le système d’exploitation.
C’est en général pour des raisons de sécurité.
Par exemple, un antivirus peut utiliser une sandbox pour exécuter une application et vérifier si elle est malveillante.
Un utilisateur peut faire de même.
Un conteneur est une unité logicielle standardisée qui regroupe le code et toutes ses dépendances afin que l’application s’exécute rapidement et de manière fiable d’un environnement informatique à l’autre.
Les conteneurs sont souvent utilisés pour déployer et gérer des architectures de microservices, où chaque microservice est emballé dans un conteneur distinct.
Ils sont également de plus en plus utilisés pour développer et tester des applications.
Les machines virtuelles en détails
Les machines virtuelles fonctionnent comme tout ordinateur physique.
Ces dernières possèdent un BIOS géré par l’hyperviseur.
Ensuite on installe un OS comme si vous étiez sur un vrai ordinateur.
Il faut donc charger le fichier ISO d’installation.
Enfin on fait démarre la VM sur ce fichier ISO.
Comme vous pouvez le voir ci-dessous, on choisir la configuration matérielle de la VM.
Bien entendu on est limité par les capacités physique de l’hôte.
On peut donc voir qu’une interface réseau et USB sont présentes.
Lorsque vous lancez la machine virtuelle, un processus est créé sur la machine hôte.
C’est ce processus qui fait office d’ordinateur virtuelle.
Les éditeurs font tout pour isoler au maximum les machines virtuelles… Bien entendu, comme l’hyperviseur est un logiciel, il peut comporter des vulnérabilités qui permettent de l’attaquer.
Il faut donc, mettre à jour le logiciel hyperviseur.
D’autre part, d’un point de vue sécurité, la machine virtuelle se comporte comme un ordinateur
Elle possède sa propre adresse IP.
Ainsi si un malware attaque la VM, elle peut envoyer des trames sur le réseau pour infecter d’autres ordinateur.
Au final, comme tout ordinateur.
Le pouvoir des snapshots dans les machines virtuelles
Chose intéressante lorsqu’il s’agit de tester des logiciels ou infections.
Ce sont les snapshots, il s’agit d’image instantanée, où il est possible de revenir à tout moment.
En clair, vous créé un snapshopt, plantez le système, installé un malware/virus ou effectuez une modification non voulue… vous pouvez revenir en arrière en quelques secondes.
Les machines virtuelles sont vraiment l’idéal pour tester toutes sortes de choses.
Voici une vidéo qui montre après désinstallation de divers logiciels, on revient sur un snapshot et ces derniers sont à nouveaux présents.
Cela supprime les modifications et on revient à une image d’un instantanée.
A lire : VirtualBox : Prendre et restaurer un instantané
Quels sont les logiciels de virtualisation
Enfin si vous voulez tester les machines sur votre ordinateur (il faut une bonne configuration).
Voici les deux logiciels de virtualisation gratuits les plus utilisés.
Liens
- Les machines virtuelles (VM) : comment ça marche
- Comment créer une machine virtuelle VirtualBox
- Comment débuter et utiliser VirtualBox
- VirtualBox : comment créer une machine virtuelle
- VirtualBox : exécuter Linux Ubuntu, Windows ou Debian
- Comment créer une VM VMware Workstation Player et installer Windows 10
- Comment créer une VM VMware Workstation Player et installer Windows 11
- Comment installer Windows 11 sur VMware avec TPM et Secure boot
- Comment installer VMware Tools sur Windows et Ubuntu
- Comment activer TPM 2.0 dans VMware Workstation Player
- VirtualBox : Copier/coller entre la VM invité et machine hôte