VMware – Sécurisation du vCenter

VMware – Sécurisation du vCenter

10 septembre 2015 0 Par Michael PERES

Sécurisation du vCenter

Une sécurisation au niveau de la configuration du vCenter est souvent une nécessité, afin de sécuriser leurs accès.
Pour cela, il est important de connaître l'importance des rôles de chaque utilisateur ou groupe.

1. Identifier les privilèges et les rôles vCenter Server communs

Les rôles par défaut disponibles sur vCenter sont :

Pas d’accès
Vous ne pouvez pas afficher ou modifier d'objet assigné. Les onglets vCenter associés à un objet sans contenu peuvent être utilisés pour révoquer les autorisations qui seraient propagés à partir d’un objet parent

Lecture Seulement
Voir l’état et les détails sur l’objet et afficher tous les onglets dans vSphere Client à l'exception des onglets de la console

Administrateur
Fournit des privilèges « Full » à tous les objets, y compris les autorisations pour ajouter, supprimer et définir les privilèges d’accès pour tous les utilisateurs et les objets vCenter Server.

Virtual Machine Power User
Rôle d’utilisateur « avancé » qui fournit privilèges pour permettre à l’utilisateur d’interagir sur des objets et de faire des changements matériels sur les machines virtuelles, ainsi que d’effectuer des opérations de snapshot. Tâches autorisées comprennent:
• Tous les privilèges pour le groupe privilèges de tâche planifiée
• Privilèges sélectionnés pour les éléments globaux, banque de données, et virtuelles groupes de privilèges de la machine
• Pas de privilèges pour le dossier, datacenter, réseau, hôte, ressource, les alarmes, les sessions, les performances et les autorisations privilèges groupes
Habituellement accordé sur un dossier contenant des machines virtuelles ou sur des machines virtuelles individuelles

Virtual Machine user
Permet à l’utilisateur d’interagir avec la console d’une machine virtuelle, insérer médias, et effectuer des opérations de démarrage de VM. Ne permet pas à l’utilisateur de modifier les paramètres matériels virtuels.
• Tous les privilèges pour le groupe privilèges de tâche planifiée
• Certains privilèges spécifiques pour des objets standards et groupes de machines virtuelles
• Pas de privilèges pour le dossier, datacenter, réseau, hôte, ressource, les alarmes, les sessions, les performances et les autorisations de groupes
Habituellement accordé sur un dossier contenant des machines virtuelles ou sur des machines virtuelles individuelles

Resource Pool Administrator
Ces droits sont habituellement accordés au niveau cluster ou a un pool de ressources, ce qui permet à un utilisateur de créer des pools de ressources ou de modifier la configuration des pools « enfants », mais pas d'en modifier la configuration sur lequel le rôle a été accordée. Il permet également à l’utilisateur d’accorder des autorisations à des pools de ressources « enfant », et d’ajouter des machines virtuelles aux pools de ressources « parent » ou « enfants ».
• Tous les privilèges de dossier, machine virtuelle, les alarmes et privilèges de tâches planifiées
• Sélection de droits pour des groupes et autorisations pour les ressources
• Pas de droits au niveau datacenter, réseau, hôte, sessions, et performances

Datastore Consumer
Droits habituellement accordés au niveau banque de données, il permet à l’utilisateur d’effectuer des opérations sur l'utilisation de l’espace, comme la création d’un disque virtuel ou de prendre un cliché instantané (snapshot). D’autres privilèges au niveau machines virtuelles doivent être accordées pour ces opérations

Consumer Network
Droits habituellement accordés à un réseau, il permet à un utilisateur d’affecter des machines virtuelles ou des hôtes à des réseaux, si les autorisations appropriées sont également accordées au niveau des machines virtuelles ou des hôtes.

Résumé des privilèges vCenter Server requis pour les tâches courantes :

1 – Privilèges requis pour créer une machine virtuelle
Sur le dossier de destination ou DataCenter :
• Virtual Machine.Inventory.Raw Create
• Virtual Machine .Configuration.Add Add New Disk
• Virtual Machine .Configuration.Add Existing Disk
• Virtual Machine.Configuration.Raw Device
• Virtual Machine.Inventory.Raw Create

Sur l’hôte de destination, un cluster ou pool de ressources :
• Resource.Assign Virtual Machine to Resource Pool

Sur la banque de données de destination ou un dossier contenant une banque de données :
• Datastore.Allocate espace

Sur le réseau que la machine virtuelle sera affecté à:
Network.Assign Reseau

Le rôle applicable pour cela est « Virtual Machine Administrator »

2 – Privilèges requis pour déployer une machine virtuelle à partir d’un modèle
Sur le dossier de destination ou DataCenter :
• Virtual Machine.Inventory.Raw Create
• Virtual Machine.Configuration.Add Add new disk

Sur un modèle ou un dossier de modèles:
• Virtual Machine.Provisioning.Deploy Template

Sur l’hôte de destination, un cluster ou pool de ressources:
• Resource.Assign Virtual Machine to Resource Pool

Sur la banque de données de destination ou un dossier contenant une banque de données:
• Datastore.Allocate Space

Sur le réseau que la machine virtuelle sera affecté à:
Network.Assign Network
Le rôle applicable pour cela est « Virtual Machine Administrator »

3 – Privilèges requis pour prendre un cliché instantané (snapshot) de la machine virtuelle
Sur la machine virtuelle ou un dossier de machines virtuelles:
• Virtual Machine.State.Create Snapshots

Sur la banque de données de destination ou le dossier des banques de données
• Datastore.Allocate Space
Le rôle applicable pour cela est « Virtual Machine Administrator » OU « Virtual Machine Power User » et « Datastore Consumer »
• Virtual Machine.Interaction.Console Interaction
• Virtual Machine.Interaction.Device Connection

Le rôle applicable pour cela est « Virtual Machine Power User et Datastore Consumer »

4 – Privilèges requis pour déplacer une machine virtuelle dans un pool de ressources
Sur la machine virtuelle ou un répertoire de machines virtuelles :
• Resource.Assign Virtual Machine to Resource Pool
• Virtual Machine.Inventory Move

Sur le pool de ressources de destination:
• Resource.Assign Virtual Machine to Resource Pools

Le rôle applicable pour cela est « Virtual Machine Administrator »

5 – Privilèges requis pour installer un système d’exploitation sur une machine virtuelle
Sur la machine virtuelle ou le dossier des machines virtuelles :
• Virtual Machine.Interaction.Answer Question
• Virtual Machine.Interaction.Power Off
• Virtual Machine.Interaction.Power On
• Virtual Machine.Interaction.Reset
• Virtual Machine.Interaction.Configure CD Media (si l’installation se fait depuis un CD)
• Virtual Machine.Interaction.Configure Floppy
• Media (si l’installation se fait depuis un floppy disk)
• Virtual Machine.Interaction.Tools Install

Sur une banque de données contenant le l’image d’installation ISO :
• Datastore.Browse Datastore (si l’installation se fait à partir d’une image ISO depuis le datastore)

Le rôle applicable pour cela est « Virtual Machine Power User » OU « Virtual Machine Administrator »

6 – Privilèges requis pour migrer une machine virtuelle avec vMotion
Sur la machine virtuelle ou le dossier des machines virtuelles:
• Resource.Migrate
• Resource.Assign Virtual Machine to Resource Pool (si la destination est un pool de ressources différentes de la source)

Sur l’hôte de destination, un cluster ou pool de ressources (si différente de la source)
• Resource.Assign Virtual Machine to Resource Pool

Le rôle applicable pour cela est « DataCenter Administrator » et « Ressource Pool Administrator » OU « Virtual Machine Administrator »

7 – Privilèges requis pour la migration à froid (déplacement) d'une machine virtuelle
Sur la machine virtuelle ou le dossier de la machine virtuelle:
• Resource.Relocate
• Resource.Assign Virtual Machine to Resource Pool

Sur l’hôte de destination, un cluster ou pool de ressources (si
différente de la source):
• Resource.Assign Virtual Machine to Resource Pool

Sur la banque de données de destination (si différente de la source):
• Datastore.Allocate Space

Le rôle applicable pour cela est « DataCenter Administrator », « Ressource Pool Administrator et Datastore Consumer » OU « Virtual Machine Administrator »

8 – Privilèges requis pour migrer une machine virtuelle avec son stockage (Storage vMotion)
Sur la machine virtuelle ou le dossier des machines virtuelles:
• Resource.Migrate

Sur la banque de données de destination:
Datastore.Allocate Space

Le rôle applicable pour cela est « Virtual Machine Administrator »

9 – Privilèges requis pour déplacer un hôte dans un cluster
Sur l’hôte:
• Host.Inventory.Add host to Cluster

Dans le Cluster de destination :
• Host.Inventory.Add host to Cluster

Le rôle applicable pour cela est « DataCenter Administrator » OU « Virtual Machine Administrator »

Comment les autorisations sont appliquées et hérités ?
Généralement les objets d’inventaire héritent des autorisations d’un objet parent unique dans la hiérarchie. Par exemple, un groupe de ports distribués, hérite des autorisations de son parent vSwitch distribué qui à son tour hérite des autorisations de son dossier de réseau parent.
Les machines virtuelles, d’autre part, peuvent hériter des autorisations du dossier parent de la machine virtuelle, de l’hôte parent, du cluster ou du pool de ressources.

Configurer et administrer le pare-feu ESXi

ESXi comprend un pare-feu qui se situe entre l’interface de gestion et le réseau qui est activé par défaut.
Après l’installation de l'ensemble des services sauf les services par défaut, restent désactivés.
L'activation des services optionnels tels que SSH, SHELL, etc…, sont vus par le pare-feu, comme des failles de sécurité, et une alerte de type « warning » est alors remonté au niveau du serveur hôte ESXi.

Remarque :
VMware recommande la désactivation de ces services après chaque utilisation.

Activez le mode de verrouillage

Le mode de verrouillage peut être activé dans les environnements de haute sécurité. Cela nécessite d’administrer les hôtes ESXi via le serveur vCenter et désactive les connexions directes aux serveurs hôtes. Lorsque le mode de verrouillage est activé sur le serveur hôte, tout accès direct à distance à l’hôte est bloqué, y compris:
• Tout client vSphere API, par exemple vSphere Client, vCLI et PowerCLI
• Mode Support Tech (les deux TSM local et distant sont bloqués)

Le mode de verrouillage peut être activé soit par le client vCenter ou l’interface utilisateur de la console directe (DCUI)

Remarque:
Le mode de verrouillage ne s'applique pas aux utilisateurs racine (root users. Lorsque vous utilisez la clé d’authentification de l’utilisateur racine, ce même utilisateur est autorisé à accéder à travers un hôte via SSH lorsque l’hôte est en mode de verrouillage, car l’utilisateur root est toujours autorisé à se connecter à l’interface utilisateur de la console directe lorsque le mode de verrouillage est activé.

Les politiques de sécurité réseau Configuration

Le switch virtuel (également du groupe de port virtuel) a la capacité d’appliquer des politiques de sécurité L2 pour empêcher les machines virtuelles d’usurper l’identité d’autres nœuds sur le réseau. Il y a trois éléments qui peuvent être configurés:

• Promiscuous Mode : est désactivé par défaut pour toutes les machines virtuelles. Cela les empêche de voir le trafic unicast à d’autres nœuds du réseau. Cela peut être activé à des fins de dépannage, par exemple en utilisant WireShark.

• Forged Transmits : « Accepte par défaut ». Dans ce cas ESXi ne vérifie pas si l'adresse MAC source et l'adresse MAC effective correspondent. Si la valeur « rejeter » est choisie, l'ESXi va « dropper » les paquets dans le cas ou les adresses MAC de la source et l'effective ne correspondent pas.

• MAC Address Change : Empêche les machines virtuelles de modifier leurs propres adresses unicast. Cela les empêche également de voir le trafic unicast à d’autres nœuds sur le réseau, et bloque d’une faille de sécurité potentielle. Lorsqu’il est réglé à rejeter, ESXi ne permet pas les changements d’adresse MAC ou MAC Address spoofing.

Droits des utilisateurs et des groupes
A travers le client vSphere, il est possible trier, et d'exporter des listes d’utilisateurs et des groupes locaux d’un serveur hôte dans un fichier de type HTML, XML, Microsoft Excel ou au format CSV.
Il est aussi possible d'ajouter, modifier, ou supprimer les autorisations pour les utilisateurs et les groupes dans l’inventaire des objets du Server vCenter, et même de créer, de cloner ou de modifier des rôles au niveau du serveur vCenter.

Hôte ESXi et le service d’annuaire

Vous pouvez configurer ESXi afin d'utiliser un service d’annuaire comme un rôle « Active Directory » et gérer ainsi les utilisateurs et les groupes. Lorsque vous utilisez Active Directory, les utilisateurs fournissent leurs informations d’identification Active Directory et le nom de domaine du serveur « Active Directory » lors de l'ajout d’un hôte à un domaine. Cette intégration au service d'annuaire permettra d'appliquer au mieux les autorisations aux hôtes ESXi utilisant Host Profiles.