Parler de virtualisation c'est bien beau, mais de quoi parles t'on ?
Il y a plusieurs niveau de virtualisation : pour faire simple
-> virtualisation "basique" du fs/process pour contenir une seule application -> chroot et jails
-> virtualisation de l'os, mais _pas_ du noyau -> vserver et openvz, ...
-> virtualisation du systeme (os + noyau), voir d'une machine
xen, vmware esx qemu, boschs, kvm
(avec grosso modo deux types de virtualisation
---> bare metal (type 1) où le noyau et toute la couche de virtualisation peut accéder au plus près du matos pour avoir le max de perf
---> "server" (type 2) ou la virtualisation est plus proche d'un logiciel qui tourne sur un os.
-> virtualisation "full matériel" (partition matériel, que l'on peut trouver sur des gros sun, des ibm, etc..)
Bien évidement le type 1 offre de bien meilleurs perfs que le type 2. La virtualisation matériel offre de meilleur perfs que la logiciel, et la virtualisation qui utilise un seul noyau (chroot, vserver, ...) offre de meilleures perfs qu'un hyperviseur.
Donc on a plusieurs choses, forte différente que l'on regroupe sous le même vocable.
Pour du chroot, voir carrément de tout l'os (vserver), oui attribuer un service par VM est une possibilité, car l'impact en perfs c'est surtout l'impact sur le disque, le noyau étant exactement le même partout.
Bien entendu, SPF oblige, si une attaque a lieu sur le noyau/hyperviseur/..., on peut réussir à sortir sur les autres environnements.
Donc quel est l'intérêt de la virtualisation ?
La plupart du temps c'est pour :
-> pouvoir gérer facilement les besoins d'un service.
-> pouvoir gérer la "séparation des pouvoirs" (sécurité,...)
-> disaster recovery (tu considère le service comme la vm, donc tu n'as pas à savoir si il faut aussi installer tel ou tel logiciel en même temps : tout est dispo tout de suite).
-> ...
Bref, des avantages non négligeable pour une entreprise, surtout en terme de gestion et d'approvisionnement.
C'est donc bien souvent de la virtualisation de l'ensemble du système.
chroot/jails/vserver/openvz/... c'est beaucoup plus accès pour
-> séparation des pouvoirs et la sécurité.
-> conf du système un peu différente (je pense surtout à openvz qui a des possibilitées de conf réseau beaucoup plus sympa que vserver)
(et un peu disaster recovery, vu que les infos sont hierarchisée et pas besoin de chercher dans 5000 répertoires différents).
Maintenant, ouverture pour partir sur autre chose
-> as t'on forcément besoin d'utiliser des chroots/jails pour faire de la sécurité ?
Bien sur que non,parce que dans tous les cas, on repose sur la sécurité du noyau. Donc si on fait confiance au noyau pour "enforcer" les droits avec un vserver, on peut lui faire confiance pour "enforcer" les droits avec une MAC/DAC.
Donc l'autre intérêt est d'offrir, de façon très simple une vision limitée du système à l'appli (pas besoin d'audit compliqué pour savoir que ce qui est en dehors du vserver, alors un process dans le vserver ne pourras pas le voir).
Mais, parce qu'il y a un mais, une autre possibilité existe : celle des DAC
Les MAC sont des droits que l'utilisateur peut modifier (par exemple avec chmod, setfacl)
les DAC sont des droits qui ont été définies une bonne fois pour toute, et qu'une fois mis en place, il n'est plus possible* de modifier.
C'est les système de sécurité type selinux ou autre.
Donc, avant de se poser la question "ais je besoin de la virtualisation" pose toi plutot la question "quel est mon besoin".
La virtualisation est un moyen, pas un but.
# Virtualisation... Mais c'est quoi
Posté par briaeros007 . En réponse au message Quand utiliser la virtualisation. Évalué à 10.
Il y a plusieurs niveau de virtualisation : pour faire simple
-> virtualisation "basique" du fs/process pour contenir une seule application -> chroot et jails
-> virtualisation de l'os, mais _pas_ du noyau -> vserver et openvz, ...
-> virtualisation du systeme (os + noyau), voir d'une machine
xen, vmware esx qemu, boschs, kvm
(avec grosso modo deux types de virtualisation
---> bare metal (type 1) où le noyau et toute la couche de virtualisation peut accéder au plus près du matos pour avoir le max de perf
---> "server" (type 2) ou la virtualisation est plus proche d'un logiciel qui tourne sur un os.
-> virtualisation "full matériel" (partition matériel, que l'on peut trouver sur des gros sun, des ibm, etc..)
Bien évidement le type 1 offre de bien meilleurs perfs que le type 2. La virtualisation matériel offre de meilleur perfs que la logiciel, et la virtualisation qui utilise un seul noyau (chroot, vserver, ...) offre de meilleures perfs qu'un hyperviseur.
Donc on a plusieurs choses, forte différente que l'on regroupe sous le même vocable.
Pour du chroot, voir carrément de tout l'os (vserver), oui attribuer un service par VM est une possibilité, car l'impact en perfs c'est surtout l'impact sur le disque, le noyau étant exactement le même partout.
Bien entendu, SPF oblige, si une attaque a lieu sur le noyau/hyperviseur/..., on peut réussir à sortir sur les autres environnements.
Donc quel est l'intérêt de la virtualisation ?
La plupart du temps c'est pour :
-> pouvoir gérer facilement les besoins d'un service.
-> pouvoir gérer la "séparation des pouvoirs" (sécurité,...)
-> disaster recovery (tu considère le service comme la vm, donc tu n'as pas à savoir si il faut aussi installer tel ou tel logiciel en même temps : tout est dispo tout de suite).
-> ...
Bref, des avantages non négligeable pour une entreprise, surtout en terme de gestion et d'approvisionnement.
C'est donc bien souvent de la virtualisation de l'ensemble du système.
chroot/jails/vserver/openvz/... c'est beaucoup plus accès pour
-> séparation des pouvoirs et la sécurité.
-> conf du système un peu différente (je pense surtout à openvz qui a des possibilitées de conf réseau beaucoup plus sympa que vserver)
(et un peu disaster recovery, vu que les infos sont hierarchisée et pas besoin de chercher dans 5000 répertoires différents).
Maintenant, ouverture pour partir sur autre chose
-> as t'on forcément besoin d'utiliser des chroots/jails pour faire de la sécurité ?
Bien sur que non,parce que dans tous les cas, on repose sur la sécurité du noyau. Donc si on fait confiance au noyau pour "enforcer" les droits avec un vserver, on peut lui faire confiance pour "enforcer" les droits avec une MAC/DAC.
Donc l'autre intérêt est d'offrir, de façon très simple une vision limitée du système à l'appli (pas besoin d'audit compliqué pour savoir que ce qui est en dehors du vserver, alors un process dans le vserver ne pourras pas le voir).
Mais, parce qu'il y a un mais, une autre possibilité existe : celle des DAC
Les MAC sont des droits que l'utilisateur peut modifier (par exemple avec chmod, setfacl)
les DAC sont des droits qui ont été définies une bonne fois pour toute, et qu'une fois mis en place, il n'est plus possible* de modifier.
C'est les système de sécurité type selinux ou autre.
Donc, avant de se poser la question "ais je besoin de la virtualisation" pose toi plutot la question "quel est mon besoin".
La virtualisation est un moyen, pas un but.